KAIST, GPU 대규모 출력데이터 난제 풀었다…메모리 적은 가정용도 고난이도 연산 '수행'

김민수 KAIST 전산학부 교수
김민수 KAIST 전산학부 교수

국내 연구진이 그래픽 연산 장치(GPU) 초병렬 연산으로 막대한 출력 데이터를 도출할 때, 메모리 크기 가 걸림돌이 되던 난제를 해결했다. 향후 메모리 크기가 작은 가정의 GPU로도 생성형 인공지능(AI) 등 고난이도 연산 활용이 기대된다.

한국과학기술원(KAIST·총장 이광형)은 김민수 전산학부 교수팀이 메모리가 한정된 GPU, 많게는 수백 만개 이상 스레드로 초병렬 연산을 하면서 수 테라바이트 큰 출력 데이터를 발생시킬 경우에도 메모리 에러를 발생시키지 않고 메인 메모리로에 고속으로 출력 데이터를 전송·저장할 수 있는 데이터 처리 기술(INFINEL)을 개발했다고 7일 밝혔다.

최근 지식 그래프와 같이 정점과 간선으로 이뤄진 그래프 구조 데이터 구축과 사용도 점점 증가하고 있다. 이를 초병렬 연산으로 수행할 경우 출력 결과가 매우 크고, 각 스레드 출력 크기를 예측하기 어렵다.

또 GPU는 근본적으로 CPU와 달리 메모리 관리 기능이 매우 제한적이어서, 예측할 수 없는 대규모 데이터를 유연하게 관리하기 어렵다. 이 때문에 지금까지는 GPU를 활용해 '삼각형 나열'과 같은 고난이도 그래프 초병렬 연산을 수행할 수 없었다.

INFINEL 기술은 이를 근본적으로 해결한다. GPU 메모리 일부 공간을 수백 만개 이상 매우 작은 크기 단위(청크)로 나눠 관리하고 초병렬 연산 내용이 담긴 GPU 커널 프로그램을 실행하면서, 각 스레드가 메모리 충돌 없이 빠르게 필요로 하는 청크 메모리들을 할당받아 자신의 출력 데이터를 저장할 수 있도록 한다.

또 GPU 메모리가 가득 차도 무중단 방식으로 초병렬 연산, 결과 출력·저장을 지속할 수 있도록 한다.

이 기술을 사용하면 가정에서 사용하는 GPU로도 수 테라 바이트 이상 출력 데이터가 발생하는 고난이도 연산을 빠르게 수행할 수 있다.

기술 성능 검증 결과, 종래 최고 성능 동적 메모리 관리자 기술 대비 약 55배, 커널을 2번 실행하는 2단계 기술에 비해 약 32배 연산 성능이 향상됐다.

김민수 교수는 “생성형 AI나 메타버스 시대에는 GPU 컴퓨팅 대규모 출력 데이터를 빠르게 처리할 수 있는 기술이 중요하다”며 “INFINEL 기술이 그 일부 역할을 할 수 있을 것”이라고 말했다.

김영준 기자 kyj85@etnews.com