matvec
#define PROGRAM_FILE "matvec.cl"
#define KERNEL_FUNC "matvec_mult"
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
#include<sys/types.h>
#include <CL/cl.h>
int main(){
cl_platform_id platform;
cl_device_id device;
cl_context context;
cl_command_queue queue;
cl_int i,err;
cl_program program;
FILE* program_handle;
char* program_buffer,*program_log;
size_t program_size,log_size;
cl_kernel kernel;
size_t work_units_per_kernel;
float mat[16],vec[4],result[4];//计算矩阵乘法的因子及最后的结果
float correct[4] = {0.0f,0.0f,0.0f,0.0f};
cl_mem mat_buff,vec_buff,res_buff;//内核参数
for(i = 0;i<16;i++){
mat[i]=i*2.0f;
}
for(i=0;i<4;i++){
vec[i]=i*3.0f;
correct[0]+=mat[i]*vec[i];
correct[1]+=mat[i+4]*vec[i];
correct[2]+=mat[i+8]*vec[i];
correct[3]+=mat[i+12]*vec[i];
}
//配置平台,配置上下文
clGet