updated CUDA hybridAPI and added a CUDA hello example
[charm.git] / src / arch / cuda / hybridAPI / cuda-hybrid-api.h
1 /* 
2  * cuda-hybrid-api.h
3  *
4  * by Lukasz Wesolowski
5  * 04.01.2008
6  *
7  * an interface for execution on the GPU
8  *
9  * description: 
10  * -user enqueues one or more work requests to the work
11  * request queue (wrQueue) to be executed on the GPU
12  * - a converse function (gpuProgressFn) executes periodically to
13  * offload work requests to the GPU one at a time
14  *
15  */
16
17 #ifndef __CUDA_HYBRID_API_H__
18 #define __CUDA_HYBRID_API_H__
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 /* initHybridAPI
25    initializes the work request queue
26 */
27 void initHybridAPI(); 
28
29 /* gpuProgressFn
30    called periodically to check if the current kernel has completed,
31    and invoke subsequent kernel */
32 void gpuProgressFn();
33
34 /* exitHybridAPI
35    cleans up and deletes memory allocated for the queue
36 */
37 void exitHybridAPI(); 
38
39 #ifdef __cplusplus
40 }
41 #endif
42
43 #endif