From multi-core CPU to GPU

1 次查看(过去 30 天)
Alexandre
Alexandre 2014-7-14
编辑: Matt J 2014-7-17
Hi everyone,
I have a code that currently runs on a CPU which has 4 physical cores. This is done by using somewhere in my code a parfor loop.
I wanted to see if i could take any advantage of my GPU by running the code on my 576 Cuda cores instead of my 4 CPU cores. I created/sent all the variables inside the GPU and run the exact same code. However :
- when it comes to the parfor loop, Matlab says :
"Error using parfor_range_check (line 17)
The range of a parfor statement must be numeric. See Parallel Computing Toolbox, "parfor"."
Here is my parfor initialization :
"n_row_max=gpuArray.colon(1,1,576);
parfor row_Rubber=n_row_max"
- if i use a mere "for", it works perfectly but sloooowly, so i assume only 1 cuda core is running ?
I would like to do exactly like the parfor, but on the GPU : have 576 workers (instead of 4) doing the job.
Thanks in advance for any help,
Alex

采纳的回答

Matt J
Matt J 2014-7-14
编辑:Matt J 2014-7-17
PARFOR is meant for parallelizing tasks on CPU cores, not on the GPU. You cannot use GPU cores to parallelize complex MCode for-loops. They aren't the appropriate hardware for that.

更多回答(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