uxlfoundation/oneDNN
Open-source library of optimized deep learning operations (matmul, convolution, attention) for CPUs (x64, AArch64, RISC-V) and Intel GPUs. Used by PyTorch, TensorFlow, OpenVINO, and ONNX Runtime.
해결하는 문제
oneDNN은 핵심 딥러닝 연산을 고도로 최적화한 크로스플랫폼 라이브러리입니다. AI 프레임워크의 가속 계층으로 작동하여 CPU 및 GPU 아키텍처에 따라 달라지는 하드웨어 특화 성능 저하 문제를 해결합니다. 행렬 곱셈, 컨볼루션과 같은 연산이 다양한 CPU 및 GPU 아키텍처에서 효율적으로 실행되도록 보장합니다.
작동 방식
이 라이브러리는 Intel, AMD, Arm CPU 및 다양한 GPU를 대상으로 하는 단일 API를 제공합니다. 런타임 시 하드웨어 기능을 감지하고 Just-In-Time (JIT) 코드 생성을 사용하여 특정 명령 세트, 코어 수, 캐시 크기에 최적화된 커널을 생성합니다.
대상 사용자
CPU 및 GPU에서 성능을 극대화하고자 하는 딥러닝 애플리케이션 및 프레임워크 개발자를 주요 대상으로 합니다. PyTorch, TensorFlow, OpenVINO와 같은 주요 프레임워크에서 백엔드로 사용되고 있습니다.
주요 특징
- 광범위한 하드웨어 지원: Intel64/AMD64, AArch64, RISC-V CPU 및 Intel GPU를 대상으로 하며, NVIDIA 및 AMD GPU에 대해서는 실험적 지원을 제공합니다.
- 저정밀도 추론:
f32,bf16,f16,fp8,fp4, 다양한 정수 형식을 포함한 광범위한 데이터 형식을 지원합니다. - 연산 융합: 활성화 함수, 잔여 연결, 양자화를 matmul 및 컨볼루션에 융합하며, Graph API를 통해 스케일드 도트 프로덕트 어텐션(SDPA)과 같은 더 큰 패턴도 지원합니다.
- 상호 운용성: OpenMP, TBB, SYCL, OpenCL와 호환됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트