NVIDIA/AMD GPU에서 OpenCL에서 C++로 핵이 아직 안 된다고 설명(2021/04시)

1581 단어 OpenCLC++
OpenCL 3.0으로 크게 (´ 63;)구문을 사용합니다.알겠습니다. 현재 상황에 대응하는 GPU가 없습니다.

C++


OpenCL C++에는 다음 조건 중 하나가 필요합니다.
  • cl_ext_cxx_for_opencl는 확장을 정의했고 OpenCL 드라이브의 컴파일러는 C++를 지원합니다.
  • SPR-V는 중간 언어로, 외부 컴파일러(clang)는 C++를 SPR-V 바이너리로 설정합니다.
  • SPIR-VIL은 OpenCL2.1 or 2.2(3.0에서 필수 아님)
  • NVIDIA


    OpenCL 3.0을 지원하는 드라이버가 나타납니다.하지만 솔리드는 1.2+알파 정도입니다.cl_ext_cxx_for_opencl 정의되지 않았습니다.SPR-VIL 확장도 없습니다.따라서 C++를 처리할 수 없습니다.

    AMD


    amdgpu-pro 드라이버에 대해 말씀드리겠습니다.버전 2.0개가 정지되었습니다.SPR-VIL 확장도 없음

    사은품: Intel


    만상이 있을 수 있지만 Xe GPU(dGPU)가 판매되지 않아 불분명하다.

    총결산


    OpenCL에서 C++가 열렬히 지원된 건 4~5년 후쯤...
    C++ 쓰고 싶으면 NVIDIA GPU+CUDA 가만히 있어.
    clspv에서 C+OpenCL 내부 핵은 Vulkan으로 구동되지만 Vulkan에서 실행하면 메모리 모델의 제약이 있는 것 같아서 GPU에 적합하지 않은 것 같습니다.그리고 Colab 같은 서버 환경도 사용할 수 없습니다.
    clspv(OpenCL 커널 설명->SPIR-V->Vulkan 실행)에서 C+++17 언어 기능 사용
    https://qiita.com/syoyo/items/8eab8d3f80bd78a29d56

    좋은 웹페이지 즐겨찾기