Rescale을 통해 가속화된 NVIDIA NGC 카탈로그에서 수백 개의 무료 AI 및 HPC 애플리케이션 실행

살펴보기

NCC(NVIDIA GPU Cloud) 카탈로그는 AI를 위한 선별된 무료 오픈 소스 GPU 최적화 소프트웨어 세트입니다. HPC시각화. 그만큼 NGC 카탈로그 컨테이너화된 애플리케이션, 사전 훈련된 모델, Kubernetes 배포를 위한 Helm 차트, 소프트웨어 개발 키트(SDK)가 포함된 산업별 AI 도구 키트로 구성됩니다. 재판매에 NGC를 배포하면 엔지니어와 과학자가 단일 플랫폼에서 연구 및 개발을 위한 다양한 새로운 사용 사례를 더 쉽게 시작할 수 있습니다. Rescale은 최신 컴퓨팅 도구에 대한 접근성과 속도를 높이기 위해 필요한 하드웨어 인프라, 소프트웨어 및 작업 흐름 단계를 자동화합니다.

이 튜토리얼에서는 Rescale에서 NGC Catalog를 쉽게 실행하는 방법을 보여 드리겠습니다. NGC는 Rescale 명령줄을 사용하는 일괄 작업이나 Rescale Workstations를 사용하여 대화형으로 실행할 수 있습니다.

일괄 작업

일괄 작업 비디오 튜토리얼

샘플 작업 및 결과

다음을 클릭하여 샘플 작업에 액세스하고 직접 시작할 수 있습니다. 가져오기 작업 설정 버튼을 클릭하거나 작업 결과 가져오기 아래 버튼을 클릭합니다. 

위의 샘플 작업에서는 TensorFlow 기계 학습을 구축하는 Python 스크립트를 실행합니다. 모델 MNIST 데이터세트를 사용합니다. (참조 링크).

일괄 작업을 제출하려면 첫 번째 단계는 다음을 선택하는 것입니다. Basic 직업 종류.

입력

실행 중인 스크립트를 입력 파일로 업로드합니다. 샘플 작업에서 Python 스크립트는 압축된 아카이브 파일 test.zip 내에 있습니다.

소프트웨어

다음으로 NVIDIA를 선택하세요 NGC 카탈로그 타일.

. 명령 상자에는 NGC 계정에 로그인하고 Docker 컨테이너를 가져와 실행하기 위한 미리 채워진 명령이 제공됩니다.

사용자는 다음에서 컨테이너를 가져올 수 있습니다. NGC 카탈로그. 여기서는 TensorFlow를 사용합니다. 컨테이너 예로서.

당기려면 텐서플로우 컨테이너, NGC 카탈로그로 이동하여 풀 태그 docker pull cmd를 복사합니다.

명령 상자에 pull 태그 명령을 붙여넣고 다음 명령을 입력하여 컨테이너를 실행합니다. 샘플 작업.

docker pull nvcr.io/nvidia/tensorflow:22.06-tf1-py3
docker run --gpus all -v ${PWD}/test:/test nvcr.io/nvidia/tensorflow:22.06-tf1-py3 
bash -c 'cd /test;  python test.py'

사용자는 Rescale 플랫폼을 통해 NGC 카탈로그 계정에 로그인할 수 있습니다. 기존 라이센스 사용 라이선스 옵션의 Rescale에 있는 확인란을 선택하세요. 아래 그림과 같이 여기에 API 키와 조직 코드를 입력하세요.

API 키와 조직 코드를 얻으려면 사용자는 NGC 카탈로그 계정에 로그인하고 자신의 API 키와 조직 코드를 생성해야 합니다.

NGC 계정에 로그인하기 위해 미리 채워진 명령을 제공합니다. 사용자는 가져올 컨테이너와 명령 상자에서 실행할 명령을 지정하기만 하면 됩니다. 

하드웨어

우리는 다양한 CPU 및 GPU와 같이 귀하의 작업에 맞는 다양한 아키텍처를 제공했습니다. core 유형. 여기서는 4를 선택합니다 GPU TensorFlow 훈련을 위해.

Status

클릭 문의하기 버튼을 눌러 작업을 제출합니다. 작업이 실행되면 process_output.log에서 출력을 확인할 수 있습니다.

결과

다음을 클릭하여 터미널을 열 수도 있습니다. 새 창에서 열기 스크립트를 디버깅하거나 실행하는 버튼 엔비디아 smi 작업이 실행되는 동안 GPU 사용량과 결과를 확인합니다.

작업이 완료된 후 모든 결과 데이터 파일은 다음 위치에 저장됩니다. 결과 탭. 파일을 열고 결과를 확인할 수도 있습니다.

process_output.log 파일에서 NGC 카탈로그 계정이 성공적으로 로그인된 것을 확인할 수 있습니다.

샘플 작업의 최종 출력과 결과는 다음과 같습니다.

기타 사용 사례

NVIDIA Modulus

입력 파일은 다음에서 다운로드한 example.zip입니다. 모듈러스 공식 홈페이지. 이 사용 사례의 경우 샘플 작업은 다음을 통해 로드할 수 있습니다. 이 링크결과 여기를 클릭해 문의해주세요. 

Cmd(NGC에서 최신 버전의 NVIDIA Modulus를 가져옵니다. docker run을 사용하여 Modulus 컨테이너에서 LDC(뚜껑 구동 캐비티) 흐름 케이스를 실행합니다.) 이 컨테이너에는 NGC_API 키가 필요하지 않습니다.

docker pull nvcr.io/nvidia/modulus/modulus:22.03.1
docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864            
--runtime nvidia -v ${PWD}/examples:/examples nvcr.io/nvidia/modulus/modulus:22.03.1 
bash -c 'cd ldc;python ldc_2d.py'

process_output.log를 모니터링하고 출력을 확인하세요.

워크

샘플 워크스테이션

Rescale 플랫폼에서 사용자는 대화식으로 작업할 수도 있습니다. 워크. 작업을 제출하려면 신제품 워크 스테이션 단추. 여기에는 샘플 작업 참조.

구성

입력의 경우 실행해야 하는 스크립트를 업로드합니다. 다음으로 선택하세요. NGC 카탈로그 대화형 작업 흐름 소프트웨어로 타일. 같지 않은 일괄 작업, Workstation을 실행하기 위해 명령 스크립트를 지정할 필요가 없습니다. 대신 GUI를 사용하여 상호 작용합니다. 

확인 기존 라이센스 사용 NGC 계정에 로그인하려면 라이선스 옵션의 상자를 선택하세요. 여기에 NGC API 키와 조직 코드를 입력하세요. NGC API 키 생성 단계와 하드웨어 설정은 일괄 작업과 동일하며 여기에서는 반복되지 않습니다. 

워크스테이션이 준비되면 연결하기 상단의 버튼을 누르거나 로컬 클라이언트를 사용하여 연결(NiceDCV 클라이언트 다운로드 및 설치)하여 워크스테이션에 로그인합니다.

Workstation에서 다음을 클릭하여 터미널 창을 열 수 있습니다. 활동 왼쪽 상단에서 터미널을 찾아서 실행하세요.

열린 터미널에서는 인터랙티브한 작업을 할 수 있습니다. 터미널 창에서 다음 두 줄의 cmd를 실행하여 NGC 계정에 로그인하세요.

$ echo -e "\n \n $(echo $NGC_ORG_ID) \n \n \n" | ngc config set
$ docker login -u '$oauthtoken' --password-stdin nvcr.io <<< $(echo $NGC_CLI_API_KEY)

이제 컨테이너를 가져올 준비가 되었습니다. NGC 카탈로그.

텐서플로우 컨테이너

이 예에서는 Tensorflow 컨테이너를 가져옵니다.

$ docker pull nvcr.io/nvidia/tensorflow:22.06-tf1-py3

다음을 수행하여 Tensorflow 컨테이너를 시작합니다.

$ docker run --gpus all -it --rm -v ${PWD}/test:/test nvcr.io/nvidia/tensorflow:22.06-tf1-py3 bash

컨테이너에서 다음과 같은 간단한 사례를 실행합니다(참조 링크):

$ python3
$ import tensorflow as tf
$ tf.enable_eager_execution()
$ mnist = tf.keras.datasets.mnist
$ (x_train, y_train), (x_test, y_test) = mnist.load_data()
$ x_train, x_test = x_train / 255.0, x_test / 255.0
$ model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])
$ predictions = model(x_train[:1]).numpy()
$ predictions

모든 것이 잘 작동하면 터미널에서 예측 결과 출력을 확인할 수 있습니다.

모듈러스 컨테이너

최신 버전의 NVIDIA Modulus를 다음에서 가져옵니다. NGC.

$ docker pull nvcr.io/nvidia/modulus/modulus:22.03.1

디렉터리별로 Modulus 컨테이너를 시작합니다.

$ docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864
--runtime nvidia -it -v ${PWD}/examples:/examples
nvcr.io/nvidia/modulus/modulus:22.03.1 bash 

최신 모듈러스를 성공적으로 로드했습니다.

다음을 수행하여 용기에서 뚜껑 구동 캐비티 케이스를 실행합니다.

$ cd ldc
$ python ldc_2d.py

위와 같이 시뮬레이션 실행 중인 경우 시각화 목적으로 Paraview GUI 컨테이너를 가져올 수 있습니다.

ParaView GUI 컨테이너

새 터미널 창을 열고 paraview docker 컨테이너를 가져옵니다. NGC.

$ docker pull nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0
$ docker run --gpus all -p 8080:8080 -v ${PWD}:/ldc     
nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0         ./bin/pvpython 
share/paraview-5.9/web/visualizer/server/pvw-visualizer.py         --content 
share/paraview-5.9/web/visualizer/www/         --port 8080         --data /ldc

DCV 웹 브라우저(예: Firefox 웹)에서 ParaView를 엽니다. https://localhost:8080/

그런 다음 GUI를 열고 결과 파일을 시각화할 수 있습니다.

결론

이 튜토리얼이 Rescale에서 NGC 카탈로그 실행을 시작하는 데 도움이 되기를 바랍니다. 보시다시피 Rescale 배치 작업을 통해 여러 GPU가 있는 NGC 카탈로그에서 사용 가능한 모든 컨테이너를 가져와 실행할 수 있습니다. 또는 코드 개발, 교육 모니터링, 여러 GPU를 사용한 결과 사후 처리를 위해 Rescale Workstation에서 대화형으로 컨테이너를 실행하고 시작할 수 있습니다. 우리 플랫폼은 AI 워크플로를 구축하는 데 필요한 모든 자산과 선택할 수 있는 다양한 GPU 아키텍처를 제공합니다. 추가 정보를 원하시면 다음 사이트를 방문하세요. NGC에 대한 NVIDIA 문서 페이지는 여기.