A runtime application which executes test cases in parallel on the GPU threads.
It uses the OpenCL code generated by ParTeCL-CodeGen (see https://github.com/wyaneva/ParTeCL-CodeGen). ParTeCL-CodeGen needs to be used before ParTeCL-Runtime.
- build contains the Makefile
- kernel-gen contains the OpenCL and C code generated by ParTeCL-CodeGen (https://github.com/wyaneva/ParTeCL-CodeGen)
- run-on-cpu contains a runtime which performs test execution on the CPU to allow performance comparison
- scripts contains some useful bash scripts
- source contains the main source code for the program
- utils contains utility source code for the program
- Choose the C program, whose tests you want to execute on the GPU.
- Use ParTeCL-CodeGen (https://github.com/wyaneva/ParTeCL-CodeGen) to generate an OpenCL kernel for the chosen program. The code generated by ParTeCL-CodeGen needs to go in directory 'kernel-gen'.
- Go inside 'build' and run 'make gpu-test'. This should produce an executable called 'gpu-test'.
-
Copy the tested program's test cases to 'kernel-gen'. They should be in a CSV file, delimited by space, where each row is a test case and each column is the value of an input. The file should be called 'tests.txt'. An example C program and its test file can be found in the repository for ParTeCL-CodeGen (https://github.com/wyaneva/ParTeCL-CodeGen).
-
Run:
./gpu-test [number of tests]
Compulsory arguments:
- [number of tests] how many tests to run
Optional arguments:
- results Y/N Switches printing of the testing results on/off; default Y
- time Y/N Switches printing of timing information on/off; default N
- runs Number of executions, usually used for performance gathering; default 1
Example:
./gpu-test 100 -results Y -time Y
- clClibc (https://github.com/wyaneva/clClibc) An OpenCL implementation for the C standard library. When using ParTeCL to test C programs, which use standard library functions, put clClibc in your home directory, so it can be found and built by the OpenCL compiler.
- Compiler-Assisted Test Acceleration on GPUs for Embedded Software, Vanya Yaneva, Ajitha Rajan, and Christophe Dubach, In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2017), July 2017
- ParTeCL - Parallel Testing Using OpenCL, Vanya Yaneva, Ajitha Rajan, and Christophe Dubach, In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2017), July 2017