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, PowerPC 등 다양한 아키텍처를 지원합니다.

대상 사용자

주로 여러 하드웨어 플랫폼에서 수치 계산 및 데이터 처리에 성능 최적화가 필요한 라이브러리 개발자 및 개발자들을 위한 것입니다.

주요 특징

  • 광범위한 하드웨어 지원: AVX-512, ARM SVE, RISC-V 등 다양한 명령어 세트를 지원합니다.
  • C++17 표준: C++17 호환 컴파일러가 필요합니다.
  • 통합 API: 데이터 배치에 표준 산술 연산자 사용 가능합니다.
  • 산업계 채택: Mozilla Firefox, Apache Arrow, Krita 등의 주요 프로젝트에서 사용 중입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트