GBE_EXPORT_SYMBOL gbe_kernel_get_curbe_offset_cb *gbe_kernel_get_curbe_offset = NULL;
GBE_EXPORT_SYMBOL gbe_kernel_get_required_work_group_size_cb *gbe_kernel_get_required_work_group_size = NULL;
-/* Use pre-main to setup the call backs */
-struct CallBackInitializer
+namespace gbe
{
- CallBackInitializer(void) {
- gbe_program_delete = gbe::programDelete;
- gbe_program_get_kernel_num = gbe::programGetKernelNum;
- gbe_program_get_kernel_by_name = gbe::programGetKernelByName;
- gbe_program_get_kernel = gbe::programGetKernel;
- gbe_kernel_get_name = gbe::kernelGetName;
- gbe_kernel_get_code = gbe::kernelGetCode;
- gbe_kernel_get_code_size = gbe::kernelGetCodeSize;
- gbe_kernel_get_arg_num = gbe::kernelGetArgNum;
- gbe_kernel_get_arg_size = gbe::kernelGetArgSize;
- gbe_kernel_get_arg_type = gbe::kernelGetArgType;
- gbe_kernel_get_simd_width = gbe::kernelGetSIMDWidth;
- gbe_kernel_get_curbe_offset = gbe::kernelGetCurbeOffset;
- gbe_kernel_get_required_work_group_size = gbe::kernelGetRequiredWorkGroupSize;
- const char *run_it = getenv("OCL_SIMULATOR");
- if (run_it != NULL && !strcmp(run_it, "2"))
- simSetupCallBacks();
- else
- genSetupCallBacks();
- }
-};
-
-static CallBackInitializer cbInitializer;
+ /* Use pre-main to setup the call backs */
+ struct CallBackInitializer
+ {
+ CallBackInitializer(void) {
+ gbe_program_delete = gbe::programDelete;
+ gbe_program_get_kernel_num = gbe::programGetKernelNum;
+ gbe_program_get_kernel_by_name = gbe::programGetKernelByName;
+ gbe_program_get_kernel = gbe::programGetKernel;
+ gbe_kernel_get_name = gbe::kernelGetName;
+ gbe_kernel_get_code = gbe::kernelGetCode;
+ gbe_kernel_get_code_size = gbe::kernelGetCodeSize;
+ gbe_kernel_get_arg_num = gbe::kernelGetArgNum;
+ gbe_kernel_get_arg_size = gbe::kernelGetArgSize;
+ gbe_kernel_get_arg_type = gbe::kernelGetArgType;
+ gbe_kernel_get_simd_width = gbe::kernelGetSIMDWidth;
+ gbe_kernel_get_curbe_offset = gbe::kernelGetCurbeOffset;
+ gbe_kernel_get_required_work_group_size = gbe::kernelGetRequiredWorkGroupSize;
+ const char *run_it = getenv("OCL_SIMULATOR");
+ if (run_it != NULL && !strcmp(run_it, "2"))
+ simSetupCallBacks();
+ else
+ genSetupCallBacks();
+ }
+ };
+
+ static CallBackInitializer cbInitializer;
+} /* namespace gbe */
virtual size_t getCodeSize(void) const { return sizeof(&fn); }
SimKernelCallBack *fn; //!< Function that runs the code
void *handle; //!< dlopen / dlclose / dlsym handle
- GBE_STRUCT(SimKernel); //!< Use gbe allocators
};
/*! Describe a compiled program */
virtual ~SimProgram(void);
/*! Implements base class */
virtual Kernel *compileKernel(const ir::Unit &unit, const std::string &name);
- GBE_STRUCT(SimProgram); //!< Use gbe allocators
};
} /* namespace gbe */
}
} /* namespace gbe */
+/*! Declare a class with custom allocators */
+#define GBE_CLASS(TYPE) \
+ GBE_STRUCT(TYPE) \
+private:
+
/*! Declare a structure with custom allocators */
#define GBE_STRUCT(TYPE) \
public: \
else \
return gbe::memAlloc(size); \
} \
+ void* operator new(size_t size, void *p) { return p; } \
+ void* operator new[](size_t size, void *p) { return p; } \
void operator delete(void* ptr) { \
if (AlignOf<TYPE>::value > sizeof(uintptr_t)) \
return gbe::alignedFree(ptr); \
else \
return gbe::memFree(ptr); \
} \
- void* operator new(size_t size, void *p) { return p; } \
- void* operator new[](size_t size, void *p) { return p; } \
-
-/*! Declare a class with custom allocators */
-#define GBE_CLASS(TYPE) \
- GBE_STRUCT(TYPE) \
-private:
/*! Macros to handle allocation position */
#define GBE_NEW(T,...) \