AMD Versal™ AI Engine으로 강력한 DSP 컴퓨팅 성능 발휘

Versal AI Engine 기술로 고성능 DSP(Digital Signal Processing) 요구 사항을 충족합니다.

차세대 DSP 애플리케이션을 사용하는 고객에게는 기존 FPGA 아키텍처에서는 효율적으로 구현할 수 없는 엄청난 컴퓨팅 기능이 필요합니다. FIR, FFT, General Matrix Multiply와 같은 컴퓨팅 집약적 DSP 애플리케이션은 상당한 양의 DSP 블록과 프로그래밍 가능한 로직 리소스를 사용할 수 있습니다.

이와 같은 요구 사항으로 인해 기존의 프로그래밍 가능 로직 디바이스에서 사용할 수 있는 전체 컴퓨팅 용량이 크게 감소할 수 있습니다. 단순히 DSP 블록과 프로그래밍 가능한 로직을 늘리는 방안은 전력 예산이 엄격하고 강도가 높은 DSP 워크로드를 위해 확장 가능한 솔루션이 아닙니다.

Versal AI Engine은 이러한 경우에 보다 효율적인 컴퓨팅 솔루션을 제공하도록 설계되었습니다.

Versal AI Engine 자세히 알아보기

Versal AI Engine으로 DSP 워크로드 가속화

전체 시스템 성능 개선의 열쇠

프로그래밍 가능한 로직 또는 Versal AI Engine에서 효율적으로 실행되는 위치에 워크로드를 배치하면 에너지 효율성과 전반적인 성능에 큰 차이를 가져올 수 있습니다. Versal AI Engine이 고성능 DSP 애플리케이션에 적합한 이유를 알아보세요. 

컴퓨팅 성능 향상 및 전력 사용량 감소

DSP 설계를 혁신하고 성능을 극대화하세요.

효율성과 확장성을 발휘하여 차세대 고성능 DSP 애플리케이션의 증가하는 수요를 충족할 수 있다는 사실을 알고 계셨나요? AMD Versal AI Engine으로 DSP 설계를 개선하는 5가지 방법을 알아보세요.

AI Engine DSP 설계 흐름

AMD Versal™ AI Engine을 대상으로 하는 고성능 DSP 기능을 설계하려면 AMD Vitis™ 개발 도구 또는 Vitis Model Composer 흐름을 사용하여 MathWorks Simulink® 도구의 시뮬레이션 및 그래픽 기능을 활용해야 합니다. 

두 경우 모두 DSP 애플리케이션을 FPGA 또는 AI 엔진에서 구현할 기능에 매핑하거나 FPGA 로직과 AI 엔진을 조합하는 것이 중요합니다. 이를 위해서는 전체 시스템뿐만 아니라 디바이스 기능에 대한 이해가 필요합니다. 

일반적으로 컴퓨팅 집약적인 기능은 AI 엔진 구현에 더 적합하고, 데이터 이동/재정렬이 필요한 기능은 FPGA 구현에 더 적합합니다. 

아래에 나와 있는 예시에서는 복잡한 필터링과 푸리에 변환이 일반적으로 AI 엔진 어레이 내에서 더 적합합니다.

이미지 확대
AMD Vitis AI Engine array chart

기능이 AI 엔진에 적합한 것으로 명확하게 식별되면 아래 옵션 중 하나를 사용하여 해당 기능을 AI 엔진에 구현할 수 있습니다.

참고: 아래 목록의 여러 옵션을 사용하는 하이브리드 접근 방식도 가능합니다. 

프로그래밍 환경

Vitis 플랫폼은 DSP 라이브러리, API, 내장 함수를 활용하는 두 가지 프로그래밍 환경 제공 

C/C++에서 빌드

Vitis 플랫폼은 일반적인 DSP 알고리즘, 함수, 디바이스 그래프를 위한 오픈 소스 빌딩 블록을 갖추고 있습니다. 신속한 테스트를 위해 있는 그대로 사용하거나 필요에 맞게 사용자 지정할 수 있습니다.

C/C++ 흐름

AI 엔진을 DSP에 적용하기 위해 시작하려면 Vitis DSP 라이브러리 함수(C 기반)부터 시작하는 것을 강력히 권장합니다. 수동 코딩을 사용하면 더 최적화된 구현이 가능하지만, 아래 방법을 사용하면 DSP용 AI 엔진을 가장 빠르게 시작하면서 우수한 성능을 제공할 수 있습니다. (아래 목록의 여러 옵션을 사용하는 하이브리드 접근 방식도 가능)

옵션 1
Vitis DSP 라이브러리 함수 호출


dsplib::fft::dit1ch::fft_ifft_dit_1ch
 

  • 가장 간편한 사용
  • 파라미터화 가능
  • 가장 빠른 개발
옵션 2
AI 엔진 API를 사용하는 벡터화된 프로그래밍

aie::vector<int8_t, sizeTileA> A0 

aie::vector<int8_t, sizeTileA> A1
 

  • 커스텀 가능
  • 더 빠른 개발
옵션 3
내장 함수를 사용하는 벡터화된 프로그래밍

Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);​

Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210); 
 

  • 전체, 저수준 맞춤화 
  • 가장 오래 지속되는 개발

그러면 다양한 AI 엔진 함수가 그래프 C 코드를 사용하여 상호 연결됩니다. 그래프 C 코드는 여러 AI 엔진 타일의 네트워크를 설명하는 C++ 코드입니다.  

Vitis 모델 컴포저를 통한 모델 기반 흐름

이 컴포저는 MathWorks MATLAB®/Simulink® 환경에 개발 기능을 도입하여 Versal AI 엔진용 커널을 생성하고 프로그래밍 가능 로직 모듈을 통합하며 시스템을 시뮬레이션할 수 있습니다.

Vitis 모델 컴포저 흐름

Vitis 모델 컴포저를 사용하면 다양한 AI 엔진 함수 간의 그래픽 상호 연결이 가능합니다. 이 그래픽 표현은 Vitis 모델 컴포저를 통해 푸시 버튼을 그래프 C 코드로 변환할 수 있습니다. MathWorks Simulink 환경의 강력한 시뮬레이션 기능을 활용하여 설계를 검증할 수도 있습니다.

Vitis 모델 컴포저를 사용하는 Versal AI Engine 개발에 대해 자세히 알아보려면 Vitis 모델 컴포저를 사용하는 Versal AI Engine 개발 페이지를 참조하세요.

AI Engine 도구 라이선스

컴파일러 및 시뮬레이터

AI 엔진 컴파일러 및 시뮬레이터 도구는 AMD Vitis™ 소프트웨어 설치 프로그램의 일부이지만, 이러한 도구를 사용하려면 무료 라이선스가 필요합니다. 이 라이선스는 제품 라이선스 사이트에서 얻을 수 있습니다.

세부 정보를 입력하고 "AI Engine Tools License(AI 엔진 도구 라이선스)" 옵션을 선택하세요.

Vitis GitHub 설계 예제 및 튜토리얼

AMD GitHub를 활용하여 고성능 DSP 애플리케이션의 AI 엔진을 위한 최적화된 설계 예제, 튜토리얼, 라이브러리 기능을 활용해 보세요.

설계 주기를 단축하는 데 활용할 수 있는 오픈 소스 설계입니다.

AI 엔진 개발을 시작하는 데 도움이 되는 인기 GitHub 리소스는 다음과 같습니다.

GitHub에서는 하드웨어 AIE 또는 AIE-ML 전용 설계 및 기능 튜토리얼 또한 제공됩니다.

스포트라이트: AI 엔진을 위한 다상 채널라이저 설계

다상 채널라이저는 DSP(Digital Signal Processing)에 기반한 효율적인 접근 방식을 사용하여 단일 데이터 스트림에서 전달되는 FDM(Frequency Division Multiplexed) 채널 세트를 동시에 하향 변환합니다. 채널라이저는 수많은 무선 통신, 레이더, 항공우주/국방 및 의료 영상 시스템에서 널리 사용됩니다. 이 튜토리얼에서는 AMD Versal™ Adaptive SoC 디바이스의 AI 엔진 및 PL(프로그래밍 가능 로직) 리소스 조합을 사용하여 두 가지 채널라이저 설계를 구현합니다. 

Versal AI Engine과 기존의 프로그래밍 가능한 로직 기술을 비교한 벤치마크 액세스

AMD Versal Adaptive SoC를 사용하는 프로그래밍 가능 로직 전용 설계와 Adaptive SoC + AI Engine 설계의 일대일 벤치마크 비교에 대해서는 영업 담당자 또는 FAE에 벤치마크 결과 및 소스 설계에 대해 문의하세요.

리소스

AMD Versal AI Engine 설계 흐름

웨비나