6.3. Dynamic Accelerator Slicer Operator를 사용하여 GPU 워크로드 배포


DAS(Dynamic Accelerator Slicer) 운영자가 관리하는 GPU 슬라이스를 요청하는 워크로드를 배포할 수 있습니다. 운영자는 GPU 가속기를 동적으로 분할하고 사용 가능한 GPU 슬라이스에 작업 부하를 예약합니다.

사전 요구 사항

  • 클러스터에 MIG 지원 GPU 하드웨어가 있습니다.
  • NVIDIA GPU Operator가 설치되었고 ClusterPolicy가 준비 상태를 표시합니다.
  • DAS Operator를 설치했습니다.

프로세스

  1. 다음 명령을 실행하여 네임스페이스를 만듭니다.

    oc new-project cuda-workloads
    Copy to Clipboard Toggle word wrap
  2. NVIDIA MIG 리소스를 사용하여 GPU 리소스를 요청하는 배포를 만듭니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cuda-vectoradd
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: cuda-vectoradd
      template:
        metadata:
          labels:
            app: cuda-vectoradd
        spec:
          restartPolicy: Always
          containers:
          - name: cuda-vectoradd
            image: nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda12.5.0-ubi8
            resources:
              limits:
                nvidia.com/mig-1g.5gb: "1"
            command:
              - sh
              - -c
              - |
                env && /cuda-samples/vectorAdd && sleep 3600
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 배포 구성을 적용합니다.

    $ oc apply -f cuda-vectoradd-deployment.yaml
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 배포가 생성되었고 Pod가 예약되었는지 확인하세요.

    $ oc get deployment cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    cuda-vectoradd   2/2     2            2           2m
    Copy to Clipboard Toggle word wrap

  5. 다음 명령을 실행하여 포드 상태를 확인하세요.

    $ oc get pods -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                              READY   STATUS    RESTARTS   AGE
    cuda-vectoradd-6b8c7d4f9b-abc12   1/1     Running   0          2m
    cuda-vectoradd-6b8c7d4f9b-def34   1/1     Running   0          2m
    Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 배포 포드에 대한 AllocationClaim 리소스가 생성되었는지 확인하세요.

    $ oc get allocationclaims -n das-operator
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                                                                           AGE
    13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0   2m
    ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0   2m
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 포드의 리소스 할당 중 하나를 확인하여 GPU 슬라이스가 올바르게 할당되었는지 확인하세요.

    $ oc describe pod -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 로그를 확인하여 CUDA 샘플 애플리케이션이 성공적으로 실행되는지 확인하세요.

    $ oc logs -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    출력 예

    [Vector addition of 50000 elements]
    Copy input data from the host memory to the CUDA device
    CUDA kernel launch with 196 blocks of 256 threads
    Copy output data from the CUDA device to the host memory
    Test PASSED
    Copy to Clipboard Toggle word wrap

  4. 다음 명령을 실행하여 환경 변수를 확인하여 GPU 장치가 컨테이너에 제대로 노출되었는지 확인하세요.

    $ oc exec deployment/cuda-vectoradd -- env | grep -E "(NVIDIA_VISIBLE_DEVICES|CUDA_VISIBLE_DEVICES)"
    Copy to Clipboard Toggle word wrap

    출력 예

    NVIDIA_VISIBLE_DEVICES=MIG-d8ac9850-d92d-5474-b238-0afeabac1652
    CUDA_VISIBLE_DEVICES=MIG-d8ac9850-d92d-5474-b238-0afeabac1652
    Copy to Clipboard Toggle word wrap

    이러한 환경 변수는 GPU MIG 슬라이스가 올바르게 할당되었으며 컨테이너 내의 CUDA 런타임에서 볼 수 있음을 나타냅니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat