36 lines
810 B
C
36 lines
810 B
C
#ifndef _OPENCL_H_
|
|
#define _OPENCL_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// IntelやAMDのGPUでZeroCopyするにはメモリー境界をこの値にしないといけない
|
|
#define MEM_UNIT 4096
|
|
|
|
extern int OpenCL_method;
|
|
|
|
int init_OpenCL(unsigned int unit_size, int *src_max);
|
|
int free_OpenCL(void);
|
|
void info_OpenCL(char *buf, int buf_size);
|
|
|
|
int gpu_copy_blocks(
|
|
unsigned char *data,
|
|
unsigned int unit_size,
|
|
int src_num);
|
|
|
|
int gpu_multiply_blocks(
|
|
int src_num, // Number of multiplying source blocks
|
|
unsigned short *mat, // Matrix of numbers to multiply by
|
|
unsigned short *mat2, // Set to calculate 2 blocks at once
|
|
unsigned char *buf, // Products go here
|
|
unsigned int len); // Byte length
|
|
|
|
int gpu_finish(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|