rtgpgpu
A user friendly library for real time programming on GPU.
Author
README will be soon updated
Introduction
Rtgpgpu is a user friendly library for real time programming on Nvidia GPUs
using Cuda. This library has several methods (strategies) and allow
temporal or spatio-temporal control of executed kernels on the GPU by this
API.
Currently it provides:
- an API for managing GPU computing (called
kernels
) execution - different strategies for temporal or both spatial and temporal kernel execution control
- tools for device (GPU) synchronization
A manual is available in doc.md
.
Content
-
bin/
: compiled files (by default ignored by Git) -
measures/
: execution times data for overheads evaluations-
10kernels/64Blocks_256Threads
: data for executing 10 kernels in 64 blocks of 256 threads
-
-
profiling/
:nvvp
profiling to be imported by Nvidia Visual Profiler -
src/
: source files of library, tests, profiling programs-
kern10.[cu|hpp]
: 10 same Cuda kernels for tests and profiling -
perf_diff10Dest1.cu
: prints instdout
execution time of 10 kernels (see above), executed by the several streams strategy -
perf_diff10DestLoop.cu
: prints instdout
total execution time of 10 kernels (see above) executed by the several streams strategy, creation/ destruction of the streams and clears API's data structure -
perf_gen10Dest1.[cu|hpp]
: generic program to print kernels execution time of a specific strategy in parameter -
perf_gen10DestLoop.[cu|hpp]
: generic program to print kernels execution and creation/destruction of the streams and clears API's data structure time of a specific strategy in parameter -
perf_same10Dest1.cu
: prints instdout
execution time of 10 kernels (see above), executed by the only one stream strategy -
perf_same10DestLoop.cu
: prints instdout
total execution time of 10 kernels (see above) executed by the only one stream strategy, creation/ destruction of the streams and clears API's data structure -
preemption.cu
: a short program in order to test and profile kernel preemption -
rtkernel.[cu|hpp]
: rtgpgpu library -
short_test_chosenSm.cu
: a short program to test chosen Stream Multiprocessor -
short_test_diffAndSame.cu
: a short program to test a short program to test chosen Streaming Multiprocessor and several streams strategies.
-
-
doc.md
: project's documentation -
Makefile
: project's Makefile in order to compile source files and manage this project's files -
README.md
: project's readme -
runBench.sh
: a script to run aboveperf_[...]
programs and to generate data file of the different execution times.
Instructions
Prerequisites
- A CUDA GPU and CUDA Toolkit
Compiling
To compile, run make
command in this project's root.
Object files and executables are generated in the bin/
directory.