# # - - - - -设置,包括= FALSE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - knitr:: opts_chunk设置美元(崩溃= TRUE,评论= " # >”)图书馆(gpuMagic) # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #内核代码src = "内核空vecAdd(全球双*,全球双* B,全球双* res){使用uint id = get_global_id (0);res [id] = [id] + B (id);}“#检查和设置设备getDeviceList () setDevice(1) #数据制备n = 1000 = runif (n) B = runif (n) #发送数据到设备#参数类型和设备是可选的A_dev = gpuMatrix (type =“替身”,设备= 1)B_dev = gpuMatrix (B类型=“替身”,设备= 1)#创建一个空向量存储结果res_dev = gpuEmptMatrix (= n行,坳= 1,类型=“替身”,设备= 1)# # excute代码调用内核函数没有返回值.kernel (src = src,内核=“vecAdd”,改= (A_dev, B_dev res_dev)列表,.device = 1,。globalThreadNum = n) #检索数据并将其转换为一个向量res_dev =下载(res_dev) res = as.vector (res_dev) #检查误差范围(res-A-B) # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #使用汽车宏声明函数参数#第一个参数auto1,第二auto2等等。# gAuto是全球汽车的简称src = "内核空vecAdd (gAuto1 *, gAuto2 * B, gAuto3 * res){使用uint id = get_global_id (0);res [id] = [id] + B (id);}”#发送数据到设备#注意变量A和B在浮子式A_dev = gpuMatrix (type =“浮动”,设备= 1)B_dev = gpuMatrix (B类型=“浮动”,设备= 1)#创建一个空向量存储结果res_dev = gpuEmptMatrix (= n行,坳= 1,类型=“浮动”,设备= 1)# # excute代码调用内核函数没有返回值.kernel (src = src,内核=“vecAdd”,改= (A_dev, B_dev res_dev)列表,.device = 1,。globalThreadNum = n) #检索数据并将其转换为一个向量res_dev =下载(res_dev) res = as.vector (res_dev) #检查误差范围(res-A-B)