自己用matlab写的CDBM实在慢得让人难以接受,于是决定考虑使用openCL重写,在此之前先看看openCL在matlab下的加速性能。
主要测试的是矩阵乘法,测试平台为intel xeon e3 1230v2 + AMD HD 6570 2GB, 软件环境是windows 7 64bit + matlab 2013 a 64bit。
open CL toolbox for matlab下载地址:https://code.google.com/p/opencl-toolbox/
主要是测试了matlab矩阵乘法和使用open CL加速的kernel函数实现。
matlab下直接相乘:
for N = 1000:200:3000
a = rands(N,N);
b = rands(N,N);;
s = zeros(N,N);
tic
s = a*b;
toc
end
使用open cl的主机端程序
ocl = opencl();
ocl.initialize(1, 1);
ocl.addfile('matrix.cl');
ocl.build();
n = int32(1000); %1000:200:3000
x = clbuffer('ro', 'single', n*n);
y = clbuffer('ro', 'single', n*n);
z = clbuff