Main Content

GPU 환경 검사 및 설정 앱

GPU 환경 검사 앱은 개발 컴퓨터와 NVIDIA® DRIVE 및 Jetson과 같은 임베디드 하드웨어 플랫폼에서 GPU 코드 생성 환경을 확인하고 설정할 수 있는 대화형 방식 툴입니다.

이 앱을 사용하려면 먼저 필수 선행 조건인 타사 컴파일러, 라이브러리 및 툴을 설치하고 설정하십시오. 자세한 내용은 필수 제품 준비하기 항목과 필수 제품 준비하기 항목을 참조하십시오.

앱을 시작하려면 MATLAB® 명령 창에서 다음을 입력합니다.

gpucoderSetup
GPU 환경 검사 앱을 사용하여 다음을 수행할 수 있습니다.

  • 호스트 개발 컴퓨터 환경에 GPU 코드 생성에 필요한 NVIDIA 컴파일러와 라이브러리가 있는지 확인합니다.

  • 기본 코드 생성을 수행하고 호스트 컴퓨터의 GPU 장치에서 이 생성 코드의 실행을 테스트합니다. 테스트 결과를 MATLAB 시뮬레이션과 비교하여 코드 실행을 검증합니다.

  • 개발 컴퓨터에서 딥러닝 코드 생성 및 실행 테스트를 수행합니다. NVIDIA cuDNN 또는 TensorRT 라이브러리를 타깃으로 할 수 있습니다. GPU Coder™ Interface for Deep Learning 지원 패키지가 필요합니다.

  • DRIVE 및 Jetson과 같은 임베디드 NVIDIA 보드에 연결하여 코드 생성 및 실행 테스트를 수행합니다. MATLAB Coder™ Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms가 필요합니다.

  • 라이브러리의 위치를 지정하고 GPU Coder에 필요한 환경 변수를 설정하는 MATLAB 스크립트를 생성합니다.

참고

gpucoderSetup 앱은 현재 폴더에 리포트 파일을 생성합니다. 현재 폴더에 쓰기 권한이 없는 경우 앱을 실행하기 전에 MATLAB cd 명령을 사용하여 폴더를 변경하십시오.

Sample screen shot of the GPU environment check app

하드웨어 설정

앱의 검사/설정 패널에는 호스트 개발 컴퓨터의 GPU 장치 또는 NVIDIA DRIVE 및 Jetson과 같은 하드웨어 플랫폼을 선택할 수 있는 드롭다운 목록이 제공됩니다.

옵션설명

하드웨어 선택

Host (for MEX)

호스트 개발 컴퓨터에서 코드 생성, 코드 실행 및 환경 검사를 수행합니다. 앱은 테스트를 수행하기 위해 CUDA® MEX를 생성합니다.

개발 컴퓨터에 여러 개의 GPU 장치가 있는 경우 GPU 선택 옵션을 사용하여 적절한 GPU 장치를 선택합니다.

Drive

NVIDIA DRIVE 타깃 플랫폼에서 코드 생성 및 코드 실행 검사를 수행합니다.

MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms를 설치한 후 보드 설정 패널을 사용하여 타깃에 대한 연결 파라미터를 지정합니다.

Jetson

NVIDIA Jetson 타깃 플랫폼에서 코드 생성 및 코드 실행 검사를 수행합니다.

MATLAB Coder Support Package for NVIDIA Jetson™ and NVIDIA DRIVE® Platforms를 설치한 후 보드 설정 패널을 사용하여 타깃에 대한 연결 파라미터를 지정합니다.

GPU 선택

GPU<idx>-<device name>

테스트를 실행할 GPU 장치를 선택합니다. 여러 장치가 있는 경우 첫 번째 장치가 디폴트로 설정됩니다.

이 옵션은 하드웨어 선택 옵션이 Host (for MEX)로 설정된 경우에만 표시됩니다. DRIVE 또는 Jetson 하드웨어의 경우 보드 설정 패널에서 제공되는 GPU 장치 ID 옵션을 사용하여 특정 GPU 장치를 선택합니다.

보드 설정

NVIDIA DRIVE 및 Jetson과 같은 하드웨어 플랫폼에 대한 연결 파라미터를 지정합니다. 이 앱은 MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms의 jetson 함수나 drive 함수를 사용하여 하드웨어와의 실시간 연결 객체를 생성합니다. 지원 패키지 소프트웨어는 생성된 CUDA 코드를 DRIVE 또는 Jetson 플랫폼에서 빌드하고 실행하는 동안 TCP/IP를 통한 SSH 연결을 사용하여 명령을 실행합니다. 타깃 플랫폼은 호스트 컴퓨터와 동일한 네트워크에 있어야 합니다. 또는 이더넷 크로스오버 케이블을 사용하여 보드를 호스트 컴퓨터에 직접 연결할 수도 있습니다. NVIDIA 보드의 요구 사항, 설정 및 구성 단계에 대한 자세한 내용은 Install and Setup Prerequisites for NVIDIA Boards 항목을 참조하십시오.

옵션설명

장치 주소

하드웨어의 IP 주소 또는 호스트 이름.

예: 169.254.0.2 또는 gpucoder-tegratx2-name

호스트 이름을 사용하려면 이더넷 케이블을 보드의 이더넷 포트에 연결해야 합니다. 그런 다음 Linux 명령을 사용하여 하드웨어 IP 주소를 구성하고 호스트 이름을 IP 주소에 연결합니다.

사용자 이름

보드의 운영 체제에 대한 유효한 Linux® 사용자 이름.

비밀번호

지정한 Linux 사용자 이름에 대한 유효한 비밀번호.

실행 제한 시간

앱이 타깃에서 실행 테스트의 유효성을 검사하기까지 대기하는 시간(초)을 지정합니다. 디폴트 값은 10초입니다.

GPU 장치 ID

NVIDIA Drive 플랫폼과 같은 다중 GPU 환경인 경우, 타깃으로 할 CUDA GPU 장치를 지정합니다.

워크플로 검사

앱을 사용하여 수행할 수 있는 워크플로 검사에는 두 가지 유형이 있습니다.

개발 컴퓨터에서 기본 코드 생성 및 실행 테스트를 수행합니다. 이 테스트는 결과를 MATLAB 시뮬레이션과 비교하여 코드 실행을 검증합니다. 기본 코드 생성 및 실행 테스트는 다음과 같은 진입점 함수를 사용합니다.

function [yout] = gpuSimpleTest(xin)

coder.allowpcode('plain');
yout = coder.nullcopy(zeros(size(xin)));
coder.gpu.kernelfun();

for idx=1:100
    yout(idx) = xin(idx) * 2;
end

yout = yout + 5;

end

옵션설명

코드 생성

기본 코드 생성 및 빌드를 테스트합니다. 이 테스트를 수행하려면 지정된 하드웨어에서 유효한 CUDA 코드 생성 환경이 필요합니다.

코드 생성 및 실행

지정된 하드웨어의 장치에서 기본 코드 생성, 빌드 및 실행을 테스트합니다. 이 테스트를 수행하려면 지정된 하드웨어에서 유효한 CUDA 코드 생성 환경 및 GPU 장치가 필요합니다.

SIL 프로파일링

호스트 컴퓨터에서 기본 SIL 프로파일링 테스트를 수행합니다.

개발 컴퓨터에서 딥러닝 코드 생성 및 실행 테스트를 수행합니다. cuDNN 또는 TensorRT 라이브러리를 타깃으로 할 수 있습니다. 딥러닝 코드 생성 및 실행 테스트는 손으로 쓴 숫자 영상을 검출할 수 있는 사전 훈련된 신경망을 사용합니다. 이 신경망은 MNIST(Modified National Institute of Standards and Technology) 데이터베이스 데이터 세트를 사용하여 훈련되었습니다. 다음 코드는 딥러닝 코드 생성 테스트를 위한 진입점 함수를 보여줍니다.

function out = dlEntryPointTest(in, ntwkfile)

    net = coder.loadDeepLearningNetwork(ntwkfile);
    out = net.predict(in);

end

옵션설명

코드 생성

딥러닝 코드 생성 및 빌드를 테스트합니다. 이 테스트를 수행하려면 지정된 하드웨어에서 유효한 CUDA 코드 생성 환경이 필요합니다.

코드 생성 및 실행

지정된 하드웨어의 장치에서 딥러닝 코드 생성, 빌드 및 실행을 테스트합니다. 이 테스트를 수행하려면 지정된 하드웨어에서 유효한 CUDA 코드 생성 환경 및 GPU 장치가 필요합니다.

타깃

코드 생성을 위한 딥러닝 라이브러리를 지정합니다. 유효한 옵션은 cuDNN 또는 TensorRT입니다.

데이터형 검사

지원되는 계층에서 추론 계산의 정밀도를 지정합니다. 32비트 부동소수점으로 추론을 수행하려면 'FP32'를 사용하십시오. 반정밀도는 'FP16'을 사용하십시오. 8비트 정수는 'INT8'을 사용하십시오. 디폴트 값은 'FP32'입니다.

Compute Capability 요구 사항은 타사 하드웨어 항목을 참조하십시오.

환경 검사

호스트 컴퓨터에서 CUDA 개발 환경을 검사하는 데 사용할 라이브러리 위치를 지정합니다. GPU Coder에 필요한 환경 변수를 설정하는 MATLAB 스크립트 gpuEnvSettings.m을 생성합니다. 자세한 내용은 필수 제품 준비하기 항목을 참조하십시오.

옵션설명

CUDA 설치 경로

CUDA 툴킷 설치 경로.

예:

/usr/local/cuda-10.1/bin

cuDNN

cuDNN 라이브러리 설치의 루트 폴더 경로.

예:

/usr/local/cuDNN/

TensorRT

TensorRT™ 라이브러리 설치의 루트 폴더 경로.

예:

/usr/local/TensorRT/

NVTX 라이브러리 경로

프로파일링에 필요한 nvtx 라이브러리 경로. 이 항목을 활성화하려면 SIL 프로파일링을 선택합니다.

표준 CUDA 툴킷 설치에서 이 경로는 일반적으로 CUDA 라이브러리 폴더입니다.

예:

/usr/local/cuda-10.1/lib64

GPU 코드 생성 환경 검사 리포트

검사 실행을 선택하면 gpucoderSetup 앱이 선택된 설정에 따라 환경과 코드 생성에 대한 검사와 기타 여러 검사를 수행합니다. 그런 다음 gpucoderSetupReport 리포트를 생성하여 테스트가 통과했는지 여부를 알리고 실패한 테스트에 대한 추가 정보를 제공합니다. 리포트의 HTML 버전이 동일한 이름으로 현재 폴더에 생성됩니다.

Sample environment check report

참고 항목

함수

객체

관련 항목