GPU에 대한 Dataflow 지원

Dataflow 작업에서 GPU를 사용하면 일부 데이터 처리 작업을 가속화할 수 있습니다. GPU는 CPU보다 특정 계산을 더 빠르게 수행할 수 있습니다. 이러한 계산은 일반적으로 이미지 처리 및 머신러닝 사용 사례와 같은 숫자 또는 선형 대수입니다. 성능 향상의 정도는 사용 사례, 계산 유형, 처리된 데이터 양에 따라 다릅니다.

Dataflow에서 GPU를 사용하기 위한 기본 요건

Dataflow는 Docker 컨테이너 내부의 작업자 VM에서 사용자 코드를 실행합니다. 이러한 작업자 VM은 컨테이너 최적화 OS를 실행합니다. Dataflow 작업에서 GPU를 사용하려면 다음 설치가 필요합니다.

커스텀 컨테이너 이미지를 제공하려면 Dataflow Runner v2를 사용하고 worker_harness_container_image 파이프라인 옵션을 사용하여 컨테이너 이미지를 제공해야 합니다.

GPU 드라이버 버전은 현재 Dataflow에서 사용되는 Container-Optimized OS 버전에 따라 다릅니다.

가격 책정

GPU를 사용하는 작업에는 Dataflow 가격 책정 페이지에 명시된 대로 요금이 청구됩니다. Dataflow의 GPU 리소스는 미리보기를 제공하는 동안 할인되지 않습니다.

고려사항

머신 유형 사양

GPU는 커스텀 N1 머신 유형을 포함한 N1 머신 유형에서 지원됩니다.

GPU의 유형과 개수는 작업자에서 사용할 수 있는 vCPU 및 메모리의 양에 대한 상한값 제한을 정의합니다. 해당 제한사항을 확인하려면 가용성 섹션을 참조하세요.

더 많은 수의 CPU 또는 메모리를 지정하려면 더 많은 수의 GPU를 지정해야 할 수 있습니다.

자세한 내용은 Compute Engine의 GPU를 참조하세요.

GPU 및 작업자 동시 로드

Runner v2 아키텍처를 사용하는 Python 파이프라인의 경우 Dataflow는 VM 코어당 하나의 Apache Beam SDK 프로세스를 시작합니다. 각 SDK 프로세스는 자체 Docker 컨테이너에서 실행되며 여러 스레드를 생성한 다음 각 스레드가 수신 데이터를 처리합니다.

이러한 다중 프로세스 아키텍처와 Dataflow 작업자의 GPU가 모든 프로세스 및 스레드에 표시되므로 GPU 초과 구독을 방지하려면 GPU 액세스에 대한 신중한 관리가 필요할 수 있습니다. 예를 들어 TensorFlow를 사용하는 경우 GPU 메모리의 일부만 사용하도록 각 TensorFlow 프로세스를 구성해야 합니다. 모든 프로세스가 GPU 메모리를 초과 구독하면 안 됩니다. 자세한 내용은 GPU 메모리 증가 제한을 참조하세요.

또는 하나의 vCPU가 있는 작업자를 사용하여 GPU에 액세스하는 동시 프로세스 수를 제한할 수 있습니다. 커스텀 머신 유형을 사용하여 vCPU가 1개인 머신의 메모리 용량을 늘릴 수 있습니다.

가용성

사용 가능한 GPU 유형 및 작업자 VM 구성은 Dataflow 위치를 참조하세요.

다음 단계