CLH blog AI CV Algorithm

OpenCL Matrix multiply

2018-01-08
CLH

OpenCL simpleMultiply#

OpenCL(GPU)程序,矩阵相乘:

性能调优时,可以用clGetEventProfilingInfo()函数,前提是在创建命令队列时,设置CL_QUEUE_PROFILING_ENABLE标志:

cl_command_queue commandQueue = clCreateCommandQueue(contes,device,CL_QUEUE_PROFILING_ENABLE,NULL);         

若要比较在CPU和GPU两种平台的运行时间,可以创建不同的设备:

clGetDeviceIDs(platform,CL_DEVICE_TYPE_GPU,1,&device,NULL);	//use GPU device
clGetDeviceIDs(platform,CL_DEVICE_TYPE_CPU,1,&device,NULL);	//use CPU device      

当矩阵A和B的大小为:1000*1000时,使用GPU OpenCL运算所需的时间:
GPU:

CPU:


【Ref】:
[1] Getting started with OpenCL and GPU Computing
[2] source code
[3] OpenCL异构计算 第2版 张云泉等,清华大学出版社.


上一篇 OpenCL Config

Comments

Content