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

Photo Image
김민수 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