'GPU 대규모 출력데이터 난제' KAIST 연구팀이 풀었다

KAIST 전산학부 김민수 교수 연구팀, 데이터 처리 기술(INFINEL) 개발
한정된 크기의 메모리 GPU 이용해 수십, 수백 만 개 이상의 스레드로 초병렬 연산

 

[더테크=전수연 기자] KAIST가 그래픽 연산 장치(이하 GPU)에서 메모리 크기의 한계로 인해 초병렬 연산의 결과로 대규모 출력 데이터가 발생할 때의 난제를 해결했다.

 

KAIST 전산학부 김민수 교수 연구팀은 데이터 처리 기술(INFINEL)을 개발했다고 7일 밝혔다.

 

이 기술은 한정된 크기의 메모리를 지닌 GPU를 이용해 수십, 수백 만개 이상의 스레드들로 초병렬 연산을 하며 수 테라바이트의 큰 출력 데이터를 발생시킬 경우에도 메모리 에러를 발생시키지 않고 출력 데이터를 메인 메모리로 고속 전송, 저장할 수 있다.

 

이를 통해 향후 가정에서 사용되는 메모리 크기가 작은 GPU로도 생성형 AI 등 고난도 연산이 대규모 출력을 진행할 경우 빠른 수행이 가능해진다.

 

KAIST는 최근 AI의 활용이 급속 증가하면서 지식 그래프와 같이 정점과 간선으로 이뤄진 그래프 구조의 데이터 구축, 사용이 증가하고 있는 반면 그래프 구조 데이터에 대해 난이도가 높은 초병렬 연산을 수행할 경우 그 출력 결과가 매우 크고 각 스레드의 출력 크기를 예측하기 어렵다고 분석했다.

 

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

 

김 교수팀은 이를 해결하는 INFINEL 기술을 개발했다. 이 기술은 GPU 메모리의 일부 공간을 수백 만개 이상의 청크라 불리는 매우 작은 크기의 단위들로 나누고 관리하면서 초병렬 연산 내용이 담긴 GPU 커널 프로그램을 실행하고 각 스레드가 메모리 충돌 없이 할당받아 출력 데이터를 저장할 수 있도록 한다.

 

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

 

김 교수 연구팀은 INFINEL 기술의 성능을 다양한 실험 환경, 데이터셋을 통해 검증했으며 최고 성능 동적 메모리 관리자 기술에 비해 약 55배, 커널을 2번 실행하는 2단계 기술에 비해 약 32배 연산 성능 향상을 확인했다.

 



배너