GTC 2022에서 공개된 NVIDIA Hopper GPU 아키텍처는 유전체학과 양자 컴퓨팅, 경로 최적화 알고리즘의 문제 해결에 사용되는 ‘동적 프로그래밍(dynamic programming)’ 기법을 새로운 DPX 명령어로 최대 40배까지 가속합니다.
NVIDIA H100 GPU의 명령어 집합인 DPX는 개발자의 코드 작성을 도와 여러 산업의 동적 프로그래밍 알고리즘을 가속하는 한편 질병 진단과 양자 시뮬레이션, 그래픽 분석과 경로 최적화 워크플로우를 개선합니다.
동적 프로그래밍이란?
1950년대에 개발된 동적 프로그래밍은 2개의 핵심 기법인 재귀(recursion)와 메모이제이션(memoization)을 활용해 복잡한 문제들을 해결합니다.
재귀는 원래 문제를 보다 단순한 하위 문제로 분해해 시간과 계산 작업을 절약합니다. 원래 문제 해결에 반복적으로 등장하는 하위 문제들에 대한 답들이 메모이제이션을 통해 저장됩니다. 나중에 원래 문제를 해결할 때 하위 문제를 다시 계산하지 않아도 되므로 효율성이 향상되죠.
NVIDIA H100 GPU의 DPX 명령어는NVIDIA Ampere 아키텍처 기반 GPU와 비교해 동적 프로그래밍 알고리즘을 최대 7배 가속합니다. NVIDIA H100 GPU 4개를 탑재한 노드라면 더욱더 탁월한 속도 개선을 기대할 수 있죠.
헬스케어와 로보틱스, 양자 컴퓨팅, 데이터 사이언스의 활용 사례
동적 프로그래밍은 각종 최적화와 데이터 처리, 오믹스 알고리즘에 두루 사용됩니다. 지금까지 대부분의 개발자들은 이런 유형의 알고리즘을 CPU나 FPGA에서 실행해왔으나, 이제 NVIDIA Hopper GPU에서 DPX 명령어를 활용해 극적인 가속화를 달성할 수 있습니다.
오믹스(Omics)
오믹스는 유전체학(DNA 중심)과 단백질체학(단백질 중심), 전사체학(RNA 중심) 등 생물학의 여러 분야를 다룹니다. 이 분야들은 질병 연구와 신약 개발에 중요한 영향을 미치는데요. 이들이 주로 의존하는 알고리즘적 분석을 DPX 명령어로 가속할 수 있습니다.
일례로 스미스-워터맨(Smith-Waterman)과 니들맨-분쉬(Needleman-Wunsch) 동적 프로그래밍 알고리즘은 DNA 시퀀스 정렬과 단백질 분류, 단백질 접기(protein folding)에 사용됩니다. 두 알고리즘 모두 서로 다르게 정렬된 검체들의 유전자 시퀀스 적합도를 점수화 방법을 통해 측정하죠.
스미스-워터맨은 결과의 정확도가 매우 높지만 다른 정렬 기법에 비해 더 많은 컴퓨팅 리소스와 시간을 요합니다. NVIDIA H100 GPU 4개를 탑재한 노드에서 DPX 명령을 사용할 시 관련 프로세스를 35배까지 가속해 베이스 콜링(base calling)과 정렬 작업, DNA 시퀀싱이 동일한 속도로 진행되는 실시간 프로세싱을 달성할 수 있습니다.
이러한 가속화는 전세계 병원에 유전체 분석을 대중화해 환자 맞춤형 치료의 실현에 기여할 것입니다.
경로 최적화(Route Optimization)
물류 센터 내부를 오가는 자율 로봇에게 동적 이동을 위한 최적의 경로 찾기는 무척 중요한 작업에 해당합니다. 컴퓨터 네트워크에서 다중의 수신기에 데이터를 전송하는 송출기의 경우도 다르지 않죠.
이 최적화 문제를 해결하기 위해 플로이드-워셜(Floyd-Warshall) 기법이 사용됩니다. 플로이드-워셜은 지도나 그래프에서 각 목적지 사이의 최단 거리를 파악할 때 사용되는 동적 프로그래밍 알고리즘인데요. 여기에 NVIDIA H100 GPU 4개가 탑재된 서버를 활용하면 전통적인 듀얼 소켓의 CPU 전용 서버 대비 40배의 가속을 달성할 수 있습니다.
이처럼 가속한 경로 최적화를 NVIDIA cuOpt AI 물류 소프트웨어와 접목해 공장이나 자율주행 자동차, 추상 그래프의 매핑과 경로 알고리즘의 실시간 애플리케이션에 활용할 수 있습니다.
양자 시뮬레이션(Quantum Simulation)
NVIDIA H100 GPU와 DPX 명령어로 가속 가능한 동적 프로그래밍 알고리즘은 수없이 많습니다. 양자 컴퓨팅 또한 큰 효과를 기대할 수 있는 분야인데요. 양자 컴퓨팅에서는 양자 시뮬레이션용 텐서 최적화 알고리즘에 동적 프로그래밍이 사용됩니다. DPX 명령어는 적합한 텐서 수축 순서의 식별 프로세스를 가속해줍니다.
SQL 쿼리 최적화(Query Optimization)
또 다른 잠재적 응용 분야로 데이터 사이언스를 들 수 있습니다. SQL 프로그래밍 언어를 사용하는 데이터 사이언티스트들의 경우, 하나의 테이블 세트에서 복수의 “조인(join)” 작업을 수행해야 할 때가 많습니다. 동적 프로그래밍은 이 조인 작업의 순서 최적화를 도와 실행 시간을 크게 줄이고 SQL 쿼리를 가속합니다.
온라인으로 개최되는 GTC 2022에 무료 등록하여 NVIDIA Hopper GPU 아키텍처에 대해 확인해보세요. 젠슨 황(Jensen Huang) NVIDIA 창립자 겸 CEO의 키노트도 다시 시청할 수 있습니다.