xtensor-stack/xsimd
C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE, WebAssembly, VSX, RISC-V))
해결하는 문제
xsimd는 SIMD (Single Instruction, Multiple Data) 내장 함수에 대한 통합 인터페이스를 제공하는 C++ 라이브러리입니다. 마이크로프로세서 공급업체 및 컴파일러 간의 차이 문제를 해결하여, 개발자가 특정 명령어 세트마다 로직을 다시 작성할 필요 없이 다양한 하드웨어 아키텍처에서 가속화할 수 있는 고성능 코드를 작성할 수 있게 합니다.
작동 방식
이 라이브러리는 하드웨어별 SIMD 명령어에 대한 래퍼 역할을 합니다. 라이브러리 작성자는 단일 값에 사용하는 것과 동일한 산술 연산자를 사용하여 숫자 배치를 조작할 수 있습니다. 또한 이러한 배치에서 작동하는 일반적인 수학 함수의 가속화된 구현을 제공하며, x86 (SSE, AVX), ARM (NEON, SVE), RISC-V, WebAssembly 등을 포함한 광범위한 아키텍처를 지원합니다.
대상 사용자
주로 라이브러리 작성자와 여러 하드웨어 플랫폼을 타겟팅해야 하는 고성능 수치 계산 애플리케이션을 구축하는 개발자를 위해 설계되었습니다.
주요 특징
- 광범위한 하드웨어 지원: AVX-512, ARM SVE, RISC-V, WebAssembly를 포함한 방대한 명령어 세트를 지원합니다.
- 통합 인터페이스: 배치 작업에 표준 산술 연산자를 사용할 수 있습니다.
- 자동 감지: 컴파일 타임에 사용 가능한 가장 성능이 뛰어난 명령어 세트를 자동으로 감지하고 사용합니다.
- 널리 채택됨: Apache Arrow, Pandas, Milvus (AI용 벡터 데이터베이스)와 같은 주요 프로젝트에서 사용됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트