$search
00001 #ifndef OPENCL_KERNELS_H 00002 #define OPENCL_KERNELS_H 00003 00004 #include <parallel_common.h> 00005 00006 class ReduceStrategy; 00007 00008 namespace parallel_ode 00009 { 00010 00011 extern "C" void oclInitializeKernels(cl_context cxGPUContext, cl_command_queue cqCommandQueue); 00012 extern "C" void oclShutdownKernels(void); 00013 00014 void oclZeroVector( cl_mem buffer, int bufferSize, bool bScalarType = false ); 00015 00016 void oclPGSReduce( cl_mem fc0_reduction, 00017 cl_mem fc1_reduction, 00018 ReduceStrategy* reduceStrategy ); 00019 00020 void oclPGSReduce( cl_mem fc0, 00021 cl_mem fc1, 00022 cl_mem fc0_reduction, 00023 cl_mem fc1_reduction, 00024 ReduceStrategy* reduceStrategy ); 00025 00026 void oclPGSSolve( int offset, int numConstraints, bool bUseAtomics ); 00027 00028 void oclPGSSolveInit( cl_mem bodyIDs, 00029 cl_mem fIDs, 00030 cl_mem j, 00031 cl_mem ij, 00032 cl_mem fc0, 00033 cl_mem fc1, 00034 cl_mem fc0_reduction, 00035 cl_mem fc1_reduction, 00036 cl_mem lambda, 00037 cl_mem adcfm, 00038 cl_mem rhs, 00039 cl_mem hilo, 00040 int bStride, int cStride, 00041 ReduceStrategy* reduceStrategy ); 00042 00043 } 00044 00045 #endif