top of page

GPU 간 통신 최적화로 HPC 애플리케이션 성능을 75% 높이는 방법

HPC를 쓰는 이유는? 고성능 컴퓨팅 때문입니다. 따라서 HPC 투자 효과를 극대화하는 것은 곧 HPC 성능을 모두 끌어다 알뜰살뜰 사용하는 것입니다. 말이 쉽지 성능 극대화를 하려면 하드웨어 지식이 풍부해야 합니다. 다행히 GPU 서버의 성능 최적화는 하드웨어를 전문가 수준으로 알지 못해도 가능합니다. NVTAGS(NVIDIA Topology-Aware GPU Selection)를 활용하면 누구나 GPU 가속 기반 HPC 환경의 성능을 최대치로 끌어 올릴 수 있습니다.


NVTAGS가 제공하는 효과는? MPI 프로세스의 GPU 맵핑 속도를 최적의 상태로 만드는 것입니다. 보통 GPU 가속 기반 HPC에서 운영하는 애플리케이션의 성능은 GPU-GPU 통신에서 시간과 성능을 까먹습니다.


GPU-GPU 통신을 효율적으로 하려면 참조 정보를 기준으로 GPU를 MPI 프로세스에 할당해야 합니다. 이때 기준이 되는 정보는 크게 시스템 GPU 토폴로지와 애플리케이션 GPU 프로파일입니다. 시스템 GPU 토폴로지는 GPU 클러스터 내 여러 GPU 자원 중 빠른 통신이 필요한 것을 쌍으로 묶어 통신 채널을 만들기 위한 참조 정보입니다. 다음으로 애플리케이션 GPU 프로파일은 GPU-GPU 통신 볼륨 지정을 위한 참조 정보입니다.


NVTAGS는 기준 정보를 바탕으로 지능적으로 MPI 프로세스를 GPU에 할당합니다. 이를 통해 다중 GPU 시스템에서 실행하는 HPC 애플리케이션의 GPU-GPU 통신 시간을 줄입니다. 네, 성능을 높이는 것입니다. 이와 함께 NVTAGS는 자동으로 토폴로지를 감지해 설정된 선호도에 따라 MPI 프로세스가 CPU, NIC, HCA에 바인딩 되게 할 수도 있습니다.



시스템 운영자는 NVTAGS를 관리 워크플로우에 손쉽게 연계할 수 있습니다. NVTAGS는 Slurm 및 Singularity와 통합을 지원합니다. 따라서 자동화 기반으로 GPU 맵핑을 할 수도 있습니다.


그렇다면 NVTAGS 적용 후 성능은 어느 정도나 올라갈까요? Chroma, MILC 및 LAMMPS를위한 NVTAGS 다중 노드 성능 향상은 다음과 같이 극적으로 일어납니다.



더 자세한 NVTAGS 페이지를 참조 바랍니다.


조회수 103회댓글 0개
bottom of page