Skip to content
Snippets Groups Projects
Select Git revision
  • brancheSecondaire
  • master default
2 results

rtgpgpu

user avatar
rtekin authored
39f38a62
History

rtgpgpu

A user friendly library for real time programming on GPU.


Author

Reyyan Tekin


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 in stdout execution time of 10 kernels (see above), executed by the several streams strategy
    • perf_diff10DestLoop.cu : prints in stdout 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 in stdout execution time of 10 kernels (see above), executed by the only one stream strategy
    • perf_same10DestLoop.cu : prints in stdout 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 above perf_[...] programs and to generate data file of the different execution times.

Instructions

Prerequisites

Compiling

To compile, run make command in this project's root. Object files and executables are generated in the bin/ directory.