How to increase the speed of submatrix data transfer using gpuArray rather than CPU?
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
Hello. My problem is... How can I reduce the difference btw. them? The size of matrix is smaller than 1000 by 1000. If possible (whether this is intrinsic limitation) please tell me a proper method.
A = rand(512);
gA = gpuArray(A);
tic; B = A(50:100,50:100); toc
tic; gB = gA(50:100,50:100); toc
0 个评论
回答(2 个)
Walter Roberson
2016-4-6
0 个投票
Instead of using tic and toc, use timeit() for the first case, and gputimeit() for the second case. Those will give you more accurate times.
1 个评论
Sung Hwan Heo
2016-4-6
Joss Knight
2016-4-15
0 个投票
I think the problem is intrinsic. Even on my Kepler K20c the GPU is slower for this case. This is a memory intensive non-coherent operation and you don't have enough data.
Best solution: Try to do more! Perhaps if you're doing this same indexing to multiple matrices, you should do them all at once, for instance.
0 个评论
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!