나노 규모의 전자 거동을 연구하든, 수백만 광년 떨어진 별이 충돌하는 현상을 관찰하든, 많은 과학자들은 공통의 과제를 안고 있습니다. 바로 페타바이트급 데이터를 분석해 자신의 분야를 발전시킬 수 있는 인사이트를 추출해야 한다는 것입니다.
이제 연구원들은 NVIDIA cuPyNumeric 가속 컴퓨팅 라이브러리를 통해 데이터 처리용 파이썬(Python) 코드를 CPU 기반 노트북, GPU 가속 워크스테이션, 클라우드 서버 또는 대규모 슈퍼컴퓨터에서 손쉽게 실행할 수 있습니다. 데이터를 더 빠르게 처리할수록 유망한 데이터 포인트, 조사할 가치가 있는 트렌드, 실험 조정에 대한 의사 결정을 더 빨리 내릴 수 있죠.
연구자들은 가속 컴퓨팅으로 전환하기 위해 컴퓨터 사이언스에 대한 전문 지식을 갖출 필요가 없습니다. 익숙한 넘파이(NumPy) 인터페이스를 사용해 코드를 작성하거나, 기존 코드에 cuPyNumeric을 적용해 성능과 확장성을 위한 모범 사례를 따를 수 있습니다.
cuPyNumeric을 적용하면 코드 변경 없이 하나 또는 수천 개의 GPU에서 코드를 실행할 수 있습니다.
cuPyNumeric의 최신 버전은 현재 콘다(Conda)와 깃허브(GitHub)에서 제공되고 있습니다. NVIDIA GH200 Grace Hopper 슈퍼칩에 대한 지원, 실행 시 자동 리소스 구성, 향상된 메모리 확장성을 제공합니다. 또한, 과학계에서 널리 사용되는 파일 형식인 HDF5를 지원해 크고 복잡한 데이터를 효율적으로 관리할 수 있습니다.
여러 연구원들이 cuPyNumeric을 통합해 데이터 분석 워크플로우를 크게 개선했는데요. 여기에는 미국 스탠퍼드대 SLAC 국립가속기 연구소(SLAC National Accelerator Laboratory), 로스 앨러모스 국립 연구소(Los Alamos National Laboratory), 호주 국립 대학교(Australian National University), 매사추세츠주립대 보스턴캠퍼스(UMass Boston), 스탠퍼드대 난기류 연구센터(the Center for Turbulence Research at Stanford University), 인도국립지급공사(National Payments Corporation of India, NPCI) 등이 포함됩니다.
코드 변경 없는 무한한 GPU 확장성
파이썬은 데이터 사이언스, 머신 러닝, 수치 컴퓨팅을 위한 가장 일반적인 프로그래밍 언어입니다. 천문학, 신약 개발, 재료 과학, 핵 물리학 등 과학 분야의 수백만 명의 연구자들이 사용하고 있죠. 깃허브에는 수만 개의 패키지가 넘파이 수학과 행렬 라이브러리에 의존하고 있으며, 지난달에는 3억 건이 넘는 다운로드 횟수를 기록했습니다. 이러한 모든 애플리케이션은 cuPyNumeric을 통해 가속 컴퓨팅의 혜택을 누릴 수 있습니다.
많은 과학자들은 넘파이를 사용해 단일 CPU 전용 노드에서 실행되는 프로그램을 구축하는데요. 이 때문에 전자 현미경, 입자 충돌기, 전파 망원경과 같은 기기에서 수집된 점점 더 큰 데이터 세트를 처리하는 알고리즘의 처리량이 제한됩니다.
cuPyNumeric은 연구자들이 데이터 세트의 크기와 복잡성이 증가하는 상황에 적응할 수 있도록 돕습니다. 넘파이의 대체재를 제공해 수천 개의 GPU로 확장할 수 있게 하죠. cuPyNumeric은 단일 GPU에서 전체 슈퍼컴퓨터로 확장할 때 코드 변경이 필요하지 않기 때문에, 연구자들은 규모에 상관없이 가속 컴퓨팅 시스템에서 분석을 쉽게 실행할 수 있습니다.
빅데이터 문제 해결과 과학적 발견 가속화
스탠퍼드 대학교에서 운영하는 미국 에너지부(U.S. Department of Energy) 산하 연구소인 SLAC 국립가속기 연구소의 연구원들은 cuPyNumeric이 LCLS(Linac Coherent Light Source)에서 수행되는 X-선 실험의 속도를 높이는 데 도움이 된다는 사실을 발견했습니다.
반도체 재료 과학 발견에 중점을 둔 SLAC 팀은 cuPyNumeric이 데이터 분석 애플리케이션의 속도를 6배 향상시켜, 실행 시간을 몇 분에서 몇 초로 줄인다는 사실을 발견했습니다. 이러한 속도 향상 덕분에 팀은 고도로 전문화된 시설에서 실험을 수행하는 동시에 중요한 분석을 실행할 수 있게 됐죠.
이들은 실험 시간을 보다 효율적으로 사용함으로써 새로운 재료 특성을 발견하고, 결과를 공유하며, 연구 결과를 더 빨리 발표할 수 있을 것으로 기대하고 있습니다.
cuPyNumeric을 사용하는 다른 기관으로는 다음과 같은 곳들이 있습니다.
- 호주 국립 대학교: 연구원들은 호주 국가 컴퓨팅 인프라(National Computational Infrastructure, NCI)의 멀티 GPU 시스템에서 실행할 수 있도록 LM(Levenberg-Marquardt) 최적화 알고리즘을 확장하기 위해 cuPyNumeric을 사용했습니다. 이 알고리즘은 다양한 애플리케이션에 사용할 수 있으며, 연구진의 초기 목표는 대규모 기후와 기상 모델입니다.
- 로스 앨러모스 국립 연구소: 연구원들은 데이터 사이언스, 계산 과학, 머신 러닝 알고리즘을 가속화하기 위해 cuPyNumeric을 적용하고 있습니다. cuPyNumeric은 2,500개 이상의 NVIDIA GH200 Grace Hopper 슈퍼칩을 탑재한 신제품 베나도(Venado) 슈퍼컴퓨터를 효과적으로 사용하기 위한 추가 도구를 제공할 예정입니다.
- 스탠퍼드대 난기류 연구 센터: 연구원들이 cuPyNumeric을 사용해 파이썬 기반 전산 유체 역학 솔버(solver)를 개발하고 있습니다. 솔버는 대규모 가속 컴퓨팅 클러스터에서 대규모로 실행될 수 있죠. 솔버는 대규모 유체 시뮬레이션 컬렉션을 파이토치(PyTorch)와 같은 인기 있는 머신 러닝 라이브러리와 원활하게 통합합니다. 이를 통해 온라인 훈련, 강화 학습을 비롯한 복잡한 애플리케이션을 지원합니다.
- 매사추세츠주립대 보스턴캠퍼스: 연구팀이 현미경 영상을 분석하고 활성 물질이 발산하는 에너지를 측정하기 위해 선형 대수 계산을 가속화하고 있습니다. 연구팀은 cuPyNumeric을 사용해 1,600만 개의 행과 4,000개의 열로 이루어진 행렬을 분해했습니다.
- NPCI: NPCI는 약 2억 5천만 명의 인도인이 매일 사용하고 있으며 전 세계로 확장 중인 실시간 디지털 결제 시스템을 운영합니다. NPCI는 복잡한 행렬 계산을 사용해 지급인과 수취인 간의 거래 경로를 추적하는데요. 현재 방식으로는 CPU 시스템에서 1주일간의 거래 기간 데이터를 처리하는 데 약 5시간이 소요됩니다. 실험에 따르면, 멀티 노드 NVIDIA DGX 시스템에서 계산을 가속화하기 위해 cuPyNumeric을 적용하면 행렬 곱셈 속도를 50배까지 높일 수 있습니다. 이를 통해 NPCI는 1시간 이내에 더 큰 거래 기간을 처리하고 거의 실시간으로 자금 세탁 의심 사례를 탐지할 수 있습니다.
SC24에서 다룬 NVIDIA 소식들에 대해 자세히 알아볼 수 있습니다.
NVIDIA 창립자 겸 CEO인 젠슨 황(Jensen Huang)과 가속 컴퓨팅 담당 부사장 이안 벅(Ian Buck)이 진행한 SC24 스페셜 연설도 시청하세요.