Improve Speed of Matrix Multiplication by Taking Advantage of GPUArray

5 次查看(过去 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 个评论
Chimalume Atuchukwu
Hi Azzi. Thanks for your contribution. I have edited the question to make it clearer. Any assistance you can offer me will be highly appreciated.
Edric Ellis
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 CenterFile Exchange 中查找有关 GPU Computing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by