ARM-software/CMSIS-DSP
CMSIS-DSP embedded compute library for Cortex-M and Cortex-A
해결하는 문제
CMSIS-DSP는 Arm Cortex-M 및 Cortex-A 프로세서를 대상으로 하며, 고도로 최적화된 계산 커널 세트를 제공합니다. 리소스 제약이 있는 하드웨어에서 복잡한 수학 및 신호 처리 연산을 구현하는 문제를 Helium 및 Neon과 같은 하드웨어 고유 가속 기능을 활용하여 성능을 극대화함으로써 해결합니다.
작동 방식
이 라이브러리는 다양한 데이터 유형(f64, f32, f16, q31, q15, q7)에 대해 광범위한 최적화된 함수(커널)를 제공합니다. 하드웨어 확장 기능(Helium 또는 Neon)이 사용 가능한 경우 함수의 벡터화된 버전을 활용합니다.
또한 다음 기능을 제공합니다:
- DSP++: 루프 융합을 사용하여 커널을 알고리즘으로 조합할 수 있는 헤더 전용 C++ API로, 메모리 접근 횟수를 줄이고 일시적 배열을 피할 수 있습니다.
- Autodiff Extension: DSP++ 기반의 실험적 기능으로, 라이브러리의 일부 커널을 사용하여 장치 내에서 미세 조정(fine-tuning)을 수행할 수 있습니다.
- Python Wrapper: NumPy와 호환되는 래퍼로, C로 구현하기 전에 Python에서 알고리즘을 설계하고 프로토타이핑할 수 있습니다.
대상 사용자
Arm Cortex-M 또는 Cortex-A 프로세서를 사용하여 온디바이스에서 고성능 디지털 신호 처리, 선형 대수, 또는 전통적인 머신러닝을 수행해야 하는 임베디드 소프트웨어 엔지니어 및 개발자입니다.
주요 특징
- 하드웨어 최적화: 벡터 연산을 위한 Helium 및 Neon 확장 기능에 특화된 지원.
- 광범위한 커널 지원: 기본 수학, 필터링, 변환(FFT, MFCC, DCT), 통계, 전통적 머신러닝(SVM, 클러스터링) 포함.
- 유연한 데이터 유형: 64비트 부동소수점에서 8비트 고정소수점 정수까지 다양한 정밀도를 지원.
- 프로토타이핑 워크플로우: 알고리즘 설계와 C 구현 사이의 격차를 메우기 위한 Python 래퍼 포함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트