artyom-beilis/pytorch_dlprim

DLPrimitives/OpenCL out of tree backend for pytorch

해결하는 문제

PyTorch에 OpenCL 백엔드를 제공하여, 네이티브 CUDA 지원이 없는 경우에도 더 다양한 하드웨어 장치(AMD, Nvidia, Intel GPU 포함)에서 신경망을 실행하고 학습할 수 있게 합니다.

작동 방식

이 프로젝트는 실제 연산자 구현을 처리하는 dlprimitives 라이브러리를 기반으로 하는 "out-of-tree" 백엔드를 구현합니다. pytorch_ocl 패키지를 가져오면 사용자는 cuda 대신 장치 문자열 ocl(이전 PyTorch 버전의 경우 privateuseone)을 사용하여 OpenCL 호환 장치를 대상으로 지정할 수 있습니다.

대상 사용자

다양한 공급업체(AMD, Intel, Nvidia)의 OpenCL 호환 GPU를 PyTorch 워크로드, 특히 비전 기반 네트워크에 활용하려는 개발자 및 연구원.

주요 특징

  • 광범위한 하드웨어 지원: AMD (RX 6600XT, RX 560), Nvidia (GTX 960), Intel (HD 530, UHD 770, Arc A380) 장치에서 테스트 완료.
  • 비전 네트워크 검증: ResNet, MobileNet, EfficientNet, ViT를 포함한 광범위한 torchvision 모델에 대해 CPU 참조 모델과 비교하여 검증됨.
  • PyTorch 호환성: PyTorch 1.13 및 2.4+ 버전 지원.
  • 전용 API: torch.ocl.empty_cache() 및 torch.ocl.synchronize()와 같이 메모리 관리 및 동기화를 위한 특정 함수 포함.

관련

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