라민 론 자일링스 부사장이 소프트웨어 엔지니어를 위한 하드웨어 개발 환경 '바이티스(Vitis)'를 소개하고 있다./KIPOST
라민 론 자일링스 부사장이 소프트웨어 엔지니어를 위한 하드웨어 개발 환경 '바이티스(Vitis)'를 소개하고 있다./KIPOST

자일링스가 프로그래머블반도체(FPGA)의 진입 문턱을 크게 낮췄다. 소프트웨어 개발자에게 문호를 개방한 데 이어 하드웨어와 소프트웨어를 동시에 개발, 최적화할 수 있는 개발 환경까지 구축했다.

자일링스(지사장 안흥식)는 30일(현지 시각) 미국 산호세에서 열린 ‘자일링스 개발자 포럼(XDF) 2019’에서 소프트웨어 개발자와 인공지능(AI) 과학자를 위한 하드웨어 개발 플랫폼 ‘바이티스(Vitis)’를 출시했다고 밝혔다.

바이티스는 방대한 오픈 소스 라이브러리와 도구를 활용할 수 있는 통합 개발 플랫폼이다. 이 단일 플랫폼에서 소프트웨어와 하드웨어를 동시 개발할 수 있고, 클라우드부터 엣지까지 여러 응용처에 적용할 수 있게 FPGA를 제어할 수 있다.

바이티스는 오픈 소스로 제공되며, 빠르면 다음달 1일부터 서비스에 들어간다. 개발자 사이트는 1일(현지 시각) 공개된다.

 

가장 큰 장점, ‘통합(Unified)’

자일링스가 소프트웨어 개발자들을 위한 개발 환경을 내놓은 건 이번이 처음은 아니다. 자일링스는 10년 전 하드웨어 엔지니어를 위한 개발 환경 비바도(Vivado)를 내놓은 뒤 소프트웨어 업계에 대한 장벽도 조금씩 낮춰왔다. 가장 최근에는 C언어를 자동으로 FPGA 프로그래밍 언어로 바꿔주는 에스디액셀(SDAccel)까지 나왔다.

 

자일링스 개발 플랫폼의 진화 과정./자일링스
자일링스 개발 플랫폼의 진화 과정./자일링스

하지만 자일링스가 소프트웨어 개발자들에게 제공하는 이 모든 도구는 서로 환경도, 라이브러리도, 프로그래밍 언어도 다 달랐다. 개발자들은 도구가 나올 때마다 새로운 환경과 라이브러리에 적응해야했고, 언어도 다시 배워야했다.

바이티스는 그동안 자일링스가 내놓은 것을 포함, 다양한 오픈 소스 설계 도구와 프레임워크를 지원한다. 언어는 소프트웨어 개발자에게 가장 친숙한 C언어를 쓰면 되고, 선형대수(BLAS)·솔버(Solver)·보안(Security)·비전(Vision) 등 8개 영역에서 총 400개 이상의 라이브러리를 활용할 수 있다.

이전까지는 여러 개발 환경을 오가며 필요한 라이브러리와 도구, 프레임워크를 일일이 찾아 설계에 반영했지만 이 제품은 이런 번거로움이 없다. 

 

바이시트 아키텍처./자일링스
바이티스 아키텍처./자일링스

클라우드부터 엣지(Edge)까지 다양한 시스템에 적합한 FPGA를 이 플랫폼 하나에서 개발할 수 있다는 점도 인상적이다. 최근 클라우드가 처리하던 컴퓨팅의 상당 부분을 엣지에서 처리하는 ‘엣지 컴퓨팅’이 확산되고 있지만, 클라우드에서 쓰던 프로그램을 엣지 단말에서 쓸 수 있도록 ‘마이그레이션(Migration)’하는 작업이 쉽지 않다. 

라민 론(Ramine Roan) 자일링스 AI 및 소프트웨어 솔루션 부사장은 “하드웨어에 대한 전문 지식이 없어도 6~12개월 만에 각 응용처에 최적화된 하드웨어를 개발할 수 있다”며 “우리는 가속화된 라이브러리와 도메인 특정 앱 생성기(DSA Generator)를 추가했으며, 몇몇 파트너들과도 손을 잡았다”고 말했다.

 

소프트웨어-하드웨어 협업 이끌어낸다

바이티스는 하드웨어 개발자와 소프트웨어 개발자를 잇는 다리 역할도 한다. 

이전까지는 하드웨어 개발자가 하드웨어를, 소프트웨어 개발자가 소프트웨어를 만들어 둘을 합쳐서 반도체를 개발했다. 하지만 반도체의 복잡성이 증가하면서 소프트웨어 개발자와 하드웨어 개발자 간 협업이 중요해졌다. 

특히 무어의 법칙이 한계에 부딪히자 업계는 소프트웨어와 하드웨어를 서로에게 최적화한 반도체를 개발하고 있다. 이게 가능하려면 소프트웨어 개발자와 하드웨어 개발자 간 실시간 소통이 돼야하는데, 둘이 사용하는 언어가 전혀 달라 협업을 이끌어내기가 요원하다.

바이티스는 하드웨어 엔지니어가 개발한 결과물을 소프트웨어 언어로 바꿔준다. 반대로 소프트웨어 언어로 만든 결과물은 하드웨어 엔지니어가 알아볼 수 있도록 변경한다. 외국인과 한국인 사이 ‘번역 앱’ 역할을 하는 셈이다.

 

AI 개발 환경까지 제공

바이티스는 소프트웨어 개발자와 하드웨어 개발자, AI 개발자가 모두 활용할 수 있는 플랫폼이다./자일링스
바이티스는 소프트웨어 개발자와 하드웨어 개발자, AI 개발자가 모두 활용할 수 있는 플랫폼이다./자일링스

바이티스는 AI 과학자들을 위한 개발 플랫폼이기도 하다. 기본적으로 FPGA는 AI 과학자들이 선호하는 솔루션 중 하나다. 데이터의 흐름, 정밀도, 메모리 계층을 맞춤형으로 구성할 수 있고 4개월마다 한 번씩 새로운 모델링 기법이 나오는 AI의 개발 속도를 소화할 수 있기 때문이다.

AI 과학자들은 이 플랫폼에서 텐서플로(TensorFlow)를 활용해 신경망을 훈련, 개발하고 정확도를 테스트할 수 있다. 

훨씬 적은 컴퓨팅 자원으로 같은 작업을 수행할 수 있는 ‘AI 최적화(AI Optimizer) 도구’가 제공되며 AI 전용 퀀타이저(Quantizer)와 컴파일러(Compiler), 프로파일러(Profiler)로 고효율 심층학습 신경망처리장치(DPU)를 개발할 수 있게 지원한다.

라민 부사장은 “바이티스를 개발하는 데 5년이 넘는 시간이 걸렸다”며 “이 솔루션으로 소프트웨어 개발자와 딥러닝 개발자, 하드웨어 개발자들이 하나의 큰 공동체를 만들 수 있을 것이라 본다”고 말했다.

저작권자 © 파이브에코(FIVE ECOs) 무단전재 및 재배포 금지