gpuDeviceCount
컴퓨터에 있는 GPU 장치 개수
설명
는 로컬 컴퓨터에 있는 (GPU 장치 드라이버에 의해 보고된) GPU 장치 개수를 반환합니다. MATLAB®에서 지원되지 않는 장치와 현재 MATLAB 세션에서 사용할 수 없는 장치를 포함하여, 드라이버에 의해 보고된 모든 장치의 개수를 셉니다. n
= gpuDeviceCount
예제
GPU 장치 개수 세기 및 쿼리하기
컴퓨터에서 사용할 수 있는 GPU 장치의 개수와 인덱스를 확인합니다.
[n,indx] = gpuDeviceCount
n = 2 indx = 1 2
gpuDeviceTable
을 사용하여 GPU의 속성을 쿼리합니다.
gpuDeviceTable
ans = Index Name ComputeCapability DeviceAvailable DeviceSelected _____ __________________ _________________ _______________ ______________ 1 "TITAN RTX" "7.5" true false 2 "GeForce GTX 1080" "5.0" true true
병렬 풀에서 다중 GPU 사용하기
여러 개의 GPU에 액세스할 수 있는 경우에는 병렬 풀을 사용하여 여러 개의 GPU에서 병렬로 계산을 수행할 수 있습니다.
MATLAB에서 사용 가능한 GPU 개수를 확인하려면 gpuDeviceCount
함수를 사용하십시오.
availableGPUs = gpuDeviceCount("available")
availableGPUs = 3
사용 가능한 GPU와 같은 수의 워커를 사용하여 병렬 풀을 시작합니다. MATLAB은 최적의 성능을 위해 기본적으로 각 워커에 다른 GPU를 할당합니다.
parpool('Processes',availableGPUs);
Starting parallel pool (parpool) using the 'Processes' profile ... Connected to the parallel pool (number of workers: 3).
각 워커가 사용하는 GPU를 식별하려면 spmd
블록 내에서 gpuDevice
를 호출하십시오. spmd
블록은 모든 워커에서 gpuDevice
를 실행합니다.
spmd gpuDevice end
parfor
또는 parfeval
과 같은 병렬 언어 기능을 사용하여 계산을 병렬 풀의 워커로 분산합니다. 계산에 gpuArray
지원 함수를 사용하는 경우 이러한 함수는 워커의 GPU에서 실행됩니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 항목을 참조하십시오. 예제는 Run MATLAB Functions on Multiple GPUs 항목을 참조하십시오.
계산이 완료되면 병렬 풀을 종료합니다. gcp
함수를 사용하여 현재 병렬 풀을 가져올 수 있습니다.
delete(gcp('nocreate'));
다른 GPU를 선택하려면 gpuDevice
를 사용하여 GPU 장치 인덱스를 통해 각 워커에서 특정 GPU를 선택할 수 있습니다. gpuDeviceCount
함수를 사용하여 시스템에 있는 각 GPU 장치의 인덱스를 가져올 수 있습니다.
시스템에 3개의 GPU가 있지만 2개만 계산에 사용하려 한다고 가정하겠습니다. 장치의 인덱스를 가져옵니다.
[availableGPUs,gpuIndx] = gpuDeviceCount("available")
availableGPUs = 3
gpuIndx = 1×3
1 2 3
사용할 장치의 인덱스를 정의합니다.
useGPUs = [1 3];
병렬 풀을 시작합니다. spmd
블록과 gpuDevice
를 사용하여 장치 인덱스를 통해 각 워커를 사용하려는 GPU 중 하나와 연결합니다. spmdIndex
함수는 각 워커의 인덱스를 식별합니다.
parpool('Processes',numel(useGPUs));
Starting parallel pool (parpool) using the 'Processes' profile ... Connected to the parallel pool (number of workers: 2).
spmd gpuDevice(useGPUs(spmdIndex)); end
최상의 성능을 구현하려면 각 워커에 다른 GPU를 할당하는 것이 좋습니다.
계산이 완료되면 병렬 풀을 종료합니다.
delete(gcp('nocreate'));
입력 인수
countMode
— 장치 카운트 모드
"all"
(디폴트 값) | "supported"
| "available"
장치 카운트 모드로, 다음 중 하나로 지정됩니다.
"all"
— GPU 장치 드라이버에 의해 보고된 모든 GPU 장치의 개수를 셉니다. MATLAB에서 지원되지 않는 장치와 현재 MATLAB 세션에서 사용할 수 없는 장치까지 포함하여 셉니다."supported"
— 현재 버전의 MATLAB에서 지원되는 GPU 장치의 개수만 셉니다."available"
— 현재 MATLAB 세션에서 사용할 수 있는 GPU 장치의 개수만 셉니다.
예: "available"
데이터형: char
| string
출력 인수
버전 내역
R2010b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)