how to run Gpu and Cpu in parallel in for loop?
Ältere Kommentare anzeigen
for i=1:10
A(:,:,i)=rand(5,5);
[q1,r1]=qr(A(:,:,i));
end
I wanted cpu and gpu's to communicate with itself about the loop index. For iteration 1, cpu is working, gpu1 should also simultaneously work on iteration 2. gpu 2 should also simultaneously work on iteration 2. If gpu1 completes its task early, it should start iteration 3. When cpu is done with iteration 1, it should proceed with iteration 4 and so on. How should we implement this. The cpu, gpu1,gpu2 should only communiate about the loop index 'i' and not the A matrix. Once cpu or either of gpu's completes its iteration, it should parallely update the output array. How should this be implemented ?
6 Kommentare
OCDER
am 14 Jan. 2019
Homework? Looks very similar to this post...
Walter Roberson
am 14 Jan. 2019
is this a homework assignment or did you repost?
Naveen kumar Elumalai
am 14 Jan. 2019
Bearbeitet: Naveen kumar Elumalai
am 14 Jan. 2019
OCDER
am 14 Jan. 2019
Just curious, why do you want to split the job as such? Do you want GPU and CPU to be treated as indistinguishable processors? I foresee an issue where you must continuously exchange an array from a normal array to gpuArray, which can create a lot of overhead and slow things down.
Example of job tasks you want?
Task# CPU1 CPU2 GPU1 GPU2
1 X
2 X
3 X
4 X
5 X
6 X
7 X
8 X
9 X
10 X
11 X
Naveen kumar Elumalai
am 14 Jan. 2019
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Parallel Computing Toolbox finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!