From multi-core CPU to GPU

1 vue (au cours des 30 derniers jours)
Alexandre
Alexandre le 14 Juil 2014
Modifié(e) : Matt J le 17 Juil 2014
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

Réponse acceptée

Matt J
Matt J le 14 Juil 2014
Modifié(e) : Matt J le 17 Juil 2014
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.

Plus de réponses (0)

Catégories

En savoir plus sur GPU Computing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by