CNugteren/CLBlast
Tuned OpenCL BLAS
해결하는 문제
CLBlast은 OpenCL 장치용으로 고성능 기본 선형 대수 하위 프로그램(BLAS) 구현을 제공합니다. 다양한 하드웨어(다양한 벤더의 GPU, 임베디드 가속기, CPU 등)에서 벡터 및 행렬 연산의 최대 계산 효율을 달성하는 문제를 해결합니다. CUDA와 같은 특정 벤더의 프로퍼리터리 생태계에 종속되지 않고도 사용할 수 있습니다.
작동 방식
C++11로 작성된 이 라이브러리는 OpenCL 장치 버퍼에서 작동하는 표준 BLAS 루틴을 구현합니다. 튜닝 가능한 아키텍처를 사용하여, 기본 성능이 부족할 경우 특정 하드웨어 구성이나 행렬 크기에 맞게 커널을 최적화할 수 있는 전용 튜너를 실행할 수 있습니다. C 및 C++ API를 모두 지원하며, 반정밀도(fp16) 데이터 형식을 활용하여 성능을 향상시킵니다.
대상 사용자
NVIDIA 외 하드웨어에서 고성능 선형 대수 연산이 필요한 개발자 또는 cuBLAS과 같은 프로퍼리터리 대안 대신 오픈소스 및 크로스플랫폼 라이브러리를 선호하는 개발자에게 적합합니다. 특히 Intel CPU/GPU, 임베디드 장치, 또는 특이한 OpenCL 하드웨어를 타겟으로 하는 개발자에게 유용합니다.
주요 특징
- 다양한 벤더 지원: 데스크탑/노트북 GPU, 임베디드 GPU, 기타 OpenCL 호환 가속기에서 작동합니다.
- 튜닝 가능한 성능: 특정 하드웨어 및 구성에 맞게 커널을 최적화할 수 있는 도구를 제공합니다.
- 유연한 API: C 및 C++ API를 제공하며, Netlib BLAS 및 clBLAS와 호환되도록 설계되었습니다.
- 반정밀도 지원: fp16 데이터 형식을 활용하여 처리 속도를 향상시킵니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트