Files
MultiPar/source/par2j/lib_opencl.h
2023-12-26 18:53:12 +09:00

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