기사입력 2020.12.24 18:45
이종 시스템, 프로그래밍 파편화로 구현 어려워
인텔, 파편화 방지하는 OneAPI 통합 환경 제공
매니코어소프트, HW·SW 측면서 HPC 구현 지원
데이터 수집 속도와 양이 빠르게 증가하며 방대한 데이터를 신속하게 처리하는 고성능 프로세서에 대한 수요가 계속해서 늘어나고 있다. IDC는 인류가 지금까지 생산한 데이터의 총량이 2018년 기준 33제타바이트(ZB)이며, 이는 2025년에 175ZB까지 늘어날 것으로 전망했다.
업계에선 프로세서 성능을 높이기 위해 단위 면적당 집적도를 높였다. 하지만 해당 방법은 이미 2000년대 초반, 전력 소비와 발열 문제로 한계에 부딪혔다. 이는 여러 코어를 하나의 칩에 집적하는 멀티코어/매니코어 기술로 극복됐다. 집적되는 코어의 개수는 점점 많아지고 있다.
코어 증가 외에 다른 방안도 채택 중이다. 빅데이터 처리, 딥러닝과 머신러닝 작업 등의 막대한 연산력이 필요한 분야에서 복잡하고 순차적인 작업에 효율적인 범용 프로세서를 단순하고 반복적인 작업에 효율적인 병렬 프로세서가 가속기 형태로 보조하는 경우는 매우 흔해졌다.
CPU, GPU, FPGA 등 서로 다른 종류의 프로세서가 동시에 탑재된 ‘이종 시스템’은 고성능 컴퓨팅(High Performance Computing; HPC)이 필요한 자연어 처리, 유전체 분석, 금융 예측 등의 분야에서 널리 활용되고 있다. 그러나 이를 구현하기는 쉽지 않다. 매니코어소프트 박정호 대표이사는 프로그래밍 환경의 파편화 때문이라 설명했다.
박정호 대표는 “여러 종의 프로세서가 탑재된 시스템은 다양한 프로그래밍 환경이 공존해 프로그래밍이 어렵고, 향후 프로그램 유지 보수와 관리에 큰 노력이 필요하다”라고 말했다.
동시에 CPU, GPU, FPGA를 사용하는 시스템이 있다면, 프로그래머는 CPU를 위한 pThread 및 OpenMP, GPU를 위한 CUDA 및 OpenCL, FPGA를 위한 Verilog 코드 작성과 관리를 할 수 있어야 한다는 것이다. 그뿐만 아니라 시스템이 여러 노드에 나뉘어 있으면, 노드끼리 통신해야 하는 MPI 등의 프로그래밍 모델을 다뤄야 하는 일도 발생한다.
프로그래밍 환경의 파편화를 막기 위해서 인텔은 올해 말, 통합 프로그래밍 환경인 ‘OneAPI’를 공개했다. 박 대표는 “OneAPI는 기존에 인텔이 발표한 라이브러리와 툴을 하나로 묶고, 표준 이종 병렬 프로그래밍 모델인 ‘SYCL’을 기반으로 하는 ‘DPC++’ 프로그래밍 모델을 제공한다”라며, “이를 통해 다양한 이종 프로세서 기반의 프로그래밍이 가능하다”라고 밝혔다.
OneAPI는 다양한 종류의 가속기에서 작동하는 프로그램을 하나의 코드를 이용하여 작성할 수 있도록 하는 DPC++ 프로그래밍 모델을 통해 ‘코드 이식성’을 높였다. 또한, 다양한 가속기의 아키텍처에 최적화된 코드를 라이브러리 형태로 제공하여 성능 이식성을 높였다.
박정호 대표는 특히 “DPC++는 SYCL이라는, C++ 언어를 기반으로 하는 이종 프로그래밍 모델과 다르게 가속기에서 프로그램을 병렬로 돌릴 수 있는 코드를 작성하는 기능을 포함하고 있다”라고 강조했다. 또한, “DPC++는 통합 메모리(Unified memory)를 제공하여 가속기와 호스트 메모리 사이의 데이터 전송을 좀 더 간편하게 관리할 수 있다”라고 설명했다.
oneAPI는 구성요소가 많은 부분 오픈 소스 소프트웨어다. 박 대표는 “향후 사람들의 참여에 따라 엔비디아나 AMD 등 타 제조사들의 하드웨어도 지원할 가능성을 지니고 있으며, 또한 그렇게 되길 바란다”라고 밝혔다.
◇ “HW, SW 측면에서 HPC 설계 역량을 지원”
매니코어소프트는 2012년, 서울대학교 멀티코어 컴퓨팅 연구실에서 출발한 스타트업이다. GPU 및 FPGA 등 가속기에 대한 하드웨어와 소프트웨어 기술력을 보유하고 있으며, AI, 금융, 의료, 제조, 바이오 등 다양한 분야의 HPC 문제를 해결하는 솔루션을 제공하고 있다. 현재 ‘DEEP Gadget’이란 수랭식 GPU 시스템을 직접 설계하고 제작하여 판매하고 있다.
박정호 대표는 “최근 자동으로 클러스터에 존재하는 가속기들을 모두 사용하여, 딥러닝 모델을 효율적으로 돌리는 AI 인프라를 구축해주는 소프트웨어 프로젝트를 시작했다”라며 “해당 프로젝트는 여러 백엔드 하드웨어 아키텍처를 지원하는데, 이 프로젝트에서 OneAPI가 다양한 인텔 하드웨어를 지원하는 데 중요한 역할을 할 것”이라 기대했다.
그러면서 “앞으로도 매니코어소프트는 자사의 HPC 분야에 대한 하드웨어와 소프트웨어 노하우 및 역량이 다양한 업계에서 사용될 수 있도록 노력할 계획이다”라고 밝혔다.
#FPGA #인텔 #소프트웨어 #AI #빅데이터 #GPU #CPU
출처 https://www.e4ds.com/sub_view.asp?ch=2&t=0&idx=12418