알테라 코포레이션은 FPGA의 대량 병렬 아키텍처를 OpenCL 병렬 프로그래밍 모델과 통합하는 FPGA 업계 최초의 OpenCL(Open Computing Language)™을 위한 SDK(Software Development Kit)를 발표했다. SDK를 통해 C에 친숙한 시스템 개발자들과 프로그래머들은 신속하고 간편하게 고성능 전력-효율적인 FPGA-기반 애플리케이션을 하이-레벨 언어로 개발할 수 있도록 지원한다. OpenCL을 위한 알테라 SDK는 FPGA가 호스트 프로세서와 함께 동작할 수 있도록 지원하여 하드웨어 기반 솔루션 대비 극히 일부의 전력으로 병렬 연산을 가속화시킬 수 있다. 알테라는 FPGA를 위한 OpenCL의 성능과 생산성 이점을 슈퍼컴퓨팅 2012(SuperComputing 2012)의 부스번호 430에서 시연할 예정이다.
알테라의 제품 및 기업 마케팅 담당 부사장인 빈스 후씨는 “시스템 성능을 증대시키기 위한 업계의 접근법은 시간이 경과함에 따라 단일-코어 CPU의 주파수를 증가시키는 방법에서 멀티코어 CPU를 사용하거나 병렬 프로세서 어레이를 사용하는 방법으로 발전해 왔다.”면서 “이러한 발전을 통해 우리는 병렬 연산을 실행할 수 있도록 설계된 향상된 대량 병렬 디지털 로직 어레이인 최신 FPGA를 사용하게 되었다. 우리의 OpenCL을 위한 SDK를 통해 고객들은 간편하게 FPGA를 도입하고 디바이스가 제공하는 성능 및 전력 이점을 활용할 수 있다.”
OpenCL 설계 플로를 위한 알테라 SDK
OpenCL은 CPU, GPGPU, FPGA 등을 포함한 하드웨어 액셀러레이터의 교차-플랫폼, 병렬 프로그래밍을 위한 로열티가 없는 개방형 표준이다. OpenCL을 위한 알테라 SDK는 일반적인 HDL(hardware-design language) 플로에서 요구되는 시간-소모적인 작업들을 자동화시킨 하드웨어 및 소프트웨어 개발을 위한 단일화된 하이-레벨 설계 플로를 제공한다. OpenCL 툴 플로는 자동으로 OpenCL 커널 기능들을 맞춤형 FPGA 하드웨어 액셀러레이터로 변환하고 인터페이스 IP를 추가하고 인터커넥트 로직을 구축하고 FPGA 프로그래밍 파일을 생성한다. SDK는 CPU 상에서 동작하는 호스트 프로그램 내에서 OpenCL API 요청들과 연결된 라이브러리를 포함하고 있다. 이러한 단계들을 자동으로 처리함으로써 설계자들은 자신들의 개발 활동을 하드웨어를 설계하는 데보다는 자신들의 알고리즘을 정의하고 반복하는 데 집중할 수 있다.
OpenCL 코드의 이식가능성(portability)은 사용자들이 자신들의 애플리케이션 요구사항이 진화함에 따라 자신들의 설계를 다양한 FPGA 또는 SoC FPGA에 이전할 수 있도록 지원한다. SoC FPGA의 경우, CPU 호스트를 FPGA에 임베디드할 수 있기 때문에 2개의 디스크리트 디바이스를 사용하는 것보다 CPU 호스트와 FPGA 사이에서 대폭 높은 대역폭과 낮은 레이턴시 특성을 제공하는 단일-칩 솔루션을 제공한다.
이종 플랫폼에서 최대의 병렬 성능을 추출하기 위해 FPGA를 사용하는 방법
OpenCL을 위한 알테라 SDK는 프로그래머들이 병렬 연산을 가속화시키기 위해 FPGA를 사용하는 향상된 대량 병렬 아키텍처를 활용할 수 있도록 지원한다. 코어 어레이 사이에서 병렬 쓰레드가 실행되는 CPU, GPGPU 등과 달리 FPGA 를 통해 커널 기능들을 파이프라인 병렬 개념을 사용하는 멀티쓰레드인 심도 있게 파이프라인된 전용 하드웨어 회로로 전환할 수 있다. 이들 각 파이프라인들은 여러 차례 복제될 수 있기 때문에 복수의 쓰레드를 병렬로 실행할 수 있도록 지원하여 한층 더 높은 병렬 성능을 제공할 수 있다. 결과적으로 FPGA 기반 솔루션을 통해 대안적인 하드웨어 실행 방법 대비 5배 이상의 와트 당 성능을 제공할 수 있다.
알테라는 고객들에게 COTS 보드 솔루션을 제공하는 다수의 보드 협력업체들과 협력하고 있다. 현재 BittWare 와 Nallatech가 제공하는 보드들이 알테라 OpenCL을 지원하도록 설계되어 있다. 추가적인 써드-파티 보드들이 향후 SDK 배포와 함께 지원될 예정이다.
알테라는 FPGA 개발을 위해 OpenCL 프레임워크를 사용함으로써 확보할 수 있는 생산성 절감 효과와 성능 및 전력 효율을 보여주는 다양한 벤치마크들을 수행했다. 초기 벤치마크 결과들에 기반하여 다양한 시장의 고객들과 협력함으로써 SDK는 고객의 비디오 처리 애플리케이션에 대한 개발 기간을 수개월 이상 단축했으며 또 다른 고객의 금융 애플리케이션에서 CPU 대비 9배 이상 성능을 향상시켰다.
공급시기
OpenCL을 위한 알테라 SDK는 현재 양산되고 있으며, 조기 액세스 프로그램을 통해 고객들에게 제공되고 있다. OpenCL이 FPGA와 함께 제공하는 고성능 전력-효율적인 가속 기능에 대한 보다 상세한 정보는 지역 알테라 영업 대리점에 연락하면 된다. OpenCL과 OpenCL 구현을 통한 해당 FPGA의 장점에 대한 보다 자세한 정보는 다음 사이트를 참조하라: http://www.altera.com/products/software/opencl/opencl-index.html.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>