How to specify GPU devices for parallel computing using "parfor"?

I have a workstation with four GPUs, and I want to run a parfor loop using specific two or three GPUs to share the workstation with other users. If you know how to specify gpu devices for parallel computing using "parfor", I would appreciate it if you could let me know.

 채택된 답변

Edric Ellis
Edric Ellis 2021년 12월 20일

1 개 추천

The documentation here describes how you might do this in general. Things get a little more complicated if you want to run more workers than the number of GPUs you're accessing, but the principle is the same - set things up using gpuDevice inside an spmd block. That then sets the GPU in use by the worker process, and parfor loops will continue to use that device.

댓글 수: 1

Thank you very much! The documentation and your anwer were very helpful. The following code specifies GPUs #2, #3, #4 to workers #1, #2, #3, respectively, and then following parfor loop uses the specified GPUs.
useGPUs = [2 3 4];
spmd
gpuDevice(useGPUs(labindex));
end
parfor
...
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Parallel Computing Toolbox에 대해 자세히 알아보기

태그

질문:

ts
2021년 12월 20일

댓글:

ts
2021년 12월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by