Improve Speed of Matrix Multiplication by Taking Advantage of GPUArray
4 次查看(过去 30 天)
显示 更早的评论
I actually want to improve the speed of the multiplication of matrix A (m-by-n) and vector x (n-by-1) using GPUArray. Using:
gpuA = gpuArray(A);
gpux = gpuArray(x);
gpuC = gpuA * gpux
C = gather(gpuC)
didn't give me the needed improvement in speed. Any ideas on how I can achieve this?
5 个评论
Edric Ellis
2015-6-19
How large is A? What GPU device do you have? Also, note that ideally you'd compare timings for only the matrix multiplication portion - you shouldn't time the data transfers too as you shouldn't need to keep transferring data. I would compare:
timeit(@() A * x);
against
gputimeit(@() gpuA * gpux);
On my K20 GPU I see break-even when A is about 1000x1000.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 GPU Computing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!