Azure IoT Edge for Linux on Windows의 GPU 가속
적용 대상: IoT Edge 1.1
Important
IoT Edge 1.1 지원 종료일은 2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 정보는 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge로 업데이트하는 방법에 대한 자세한 내용은 업데이트 IoT Edge를 참조하세요.
GPU는 병렬 처리 기능을 제공하고 일반적으로 비전 기반 추론을 CPU보다 더 빠르게 실행할 수 있기 때문에 AI 계산에 널리 사용됩니다. AI 및 기계 학습 애플리케이션을 더 효과적으로 지원하기 위해 Azure IoT EFLOW(Edge for Linux on Windows)는 가상 머신의 Linux 모듈에 GPU를 노출할 수 있습니다.
Azure IoT Edge for Linux on Windows는 다음을 포함한 여러 가지 GPU 통과 기술을 지원합니다.
DDA(직접 디바이스 할당) - GPU 코어가 Linux 가상 머신이나 호스트에 할당됩니다.
GPU-PV(GPU-반가상화) - GPU가 Linux 가상 머신과 호스트 간에 공유됩니다.
디바이스의 GPU 하드웨어에서 지원되는 기능과 일치하도록 배포 중에 적절한 통과 방법을 선택해야 합니다.
Important
이 기능에는 NVIDIA Corporation이나 해당 사용 허가자가 개발하고 소유하는 구성 요소가 포함될 수 있습니다. 구성 요소 사용은 NVIDIA 웹 사이트에 있는 NVIDIA 최종 사용자 사용권 계약으로 관리됩니다.
GPU 가속 기능을 사용하면 NVIDIA 최종 사용자 사용권 계약을 수락하고 이에 동의하는 것입니다.
필수 조건
Azure IoT Edge for Linux on Windows의 GPU 가속 기능에서는 현재 특정한 GPU 하드웨어 세트를 지원합니다. 또한 이 기능을 사용하려면 특정 버전의 Windows가 필요할 수 있습니다.
지원되는 GPU와 필수 Windows 버전이 아래에 나열되어 있습니다.
지원되는 GPU | GPU 통과 유형 | 지원되는 Windows 버전 |
---|---|---|
NVIDIA T4, A2 | DDA | Windows Server 2019 Windows Server 2022 Windows 10/11(프로, 엔터프라이즈, IoT 엔터프라이즈) |
NVIDIA GeForce, Quadro, RTX | GPU-PV | Windows 10/11(프로, 엔터프라이즈, IoT 엔터프라이즈) |
인텔 iGPU | GPU-PV | Windows 10/11(프로, 엔터프라이즈, IoT 엔터프라이즈) |
Important
GPU-PV 지원은 GPU 공급업체의 결정에 따라 특정 세대의 프로세서 또는 GPU 아키텍처로 제한될 수 있습니다. 자세한 내용은 Intel의 iGPU 드라이버 설명서 또는 NVIDIA의 CUDA for WSL 설명서를 참조하세요.
Windows Server 2019 사용자는 모든 최신 누적 업데이트가 설치된 최소 빌드 17763을 사용해야 합니다.
Windows 10 사용자는 2021년 11월 업데이트 빌드 19044.1620 이상을 사용해야 합니다. 설치 후 명령 프롬프트에서 winver
를 실행하여 빌드 버전을 확인할 수 있습니다.
Windows 가상 머신에서 EFLOW를 실행하는 것과 같은 중첩된 가상화에서는 GPU 통과가 지원되지 않습니다.
시스템 설정 및 설치
다음 섹션에는 GPU에 따른 설정 및 설치 정보가 포함되어 있습니다.
NVIDIA T4/A2 GPU
T4/A2 GPU의 경우 Microsoft는 GPU 공급업체의 디바이스 완화 드라이버를 권장합니다. 선택 사항이지만 완화 드라이버를 설치하면 배포의 보안을 강화할 수 있습니다. 자세한 내용은 직접 디바이스 할당을 사용하여 그래픽 디바이스 배포를 참조하세요.
Warning
하드웨어 디바이스 통과를 사용하도록 설정하면 보안 위험이 증가할 수 있습니다. Microsoft는 해당되는 경우 GPU 공급업체의 디바이스 완화 드라이버를 권장합니다. 자세한 내용은 개별 디바이스 할당을 사용하여 그래픽 디바이스 배포를 참조하세요.
NVIDIA GeForce/Quadro/RTX GPU
NVIDIA GeForce/Quadro/RTX GPU의 경우 WSL(Linux용 Windows 하위 시스템)에 대한 NVIDIA CUDA 지원 드라이버를 다운로드하여 설치하여 기존 CUDA ML 워크플로와 함께 사용합니다. 원래 WSL용으로 개발된 WSL용 CUDA 드라이버는 Azure IoT Edge for Linux on Windows에도 사용됩니다.
일부 라이브러리는 WSL과 Azure IoT Edge for Linux on Windows 간에 공유되므로 Windows 10 사용자는 WSL을 설치해야 합니다.
인텔 iGPU
Intel iGPU의 경우 WSL GPU를 지원하는 Intel 그래픽 드라이버를 다운로드하여 설치합니다.
일부 라이브러리는 WSL과 Azure IoT Edge for Linux on Windows 간에 공유되므로 Windows 10 사용자는 WSL을 설치해야 합니다.
Azure IoT Edge Linux on Windows 배포에서 GPU 가속 사용
시스템 설정이 완료되면 Azure IoT Edge for Linux on Windows의 배포를 만들 준비가 된 것입니다. 이 과정에서 EFLOW 배포의 일부로 GPU를 사용하도록 설정해야 합니다.
예를 들어, 아래 명령은 NVIDIA A2 GPU가 할당된 가상 머신을 만듭니다.
Deploy-Eflow -gpuPassthroughType "DirectDeviceAssignment" -gpuCount 1 -gpuName "NVIDIA A2"
설치가 완료되면 Azure IoT Edge for Linux on Windows를 통해 GPU 가속 Linux 모듈을 배포하고 실행할 준비가 된 것입니다.
다음 단계
고유한 비전 기반 기계 학습 애플리케이션을 빌드하는 방법을 보여 주는 솔루션 템플릿인 Vision on Edge가 포함된 GPU 지원 샘플을 사용해 보세요.
EFLOW(Windows의 Linux용 Azure IoT Edge) 및 OpenVINO 도구 키트 및 참조 구현을 사용하여 iGPU에 대한 Intel의 가이드에 따라 EFLOW에서 Intel OpenVINO 애플리케이션을 실행하는 방법을 알아봅니다.
DDA 설명서 및 GPU-PV 블로그 게시물을 방문하여 GPU 통과 기술에 관해 자세히 알아보세요.