OpenCL 3.0의 최종 사양이 이미 출시되었습니다.

몇 달 전에 우리는 여기 블로그에 뉴스 OpenCL 3.0 개발 출시 크로노스 우려 (OpenGL, Vulkan 및 OpenCL 제품군의 사양 개발을 담당합니다.)

그리고 최근까지 최종 OpenCL 3.0 사양 출시 발표, 멀티 코어 CPU, GPU, FPGA, DSP 및 기타 특수 칩을 사용하는 멀티 플랫폼 병렬 컴퓨팅을 구성하기 위해 C 언어의 API 및 확장을 정의하고 슈퍼 컴퓨터 및 클라우드 서버에서 사용되는 칩부터 모바일 장치 및 통합 기술에서 찾을 수있는 칩까지.

동시에 오픈 소스 OpenCL SDK가 출시되었습니다. 도구, 예제, 문서, 헤더 파일, C ++ 용 링크 및 OpenCL 3.0 호환 애플리케이션 개발을위한 C 라이브러리 포함.

Clang 컴파일러를 기반으로 한 OpenCL 3.0의 초기 구현도 제공됩니다. 이는 주요 LLVM 패키지에 포함하기위한 피어 리뷰 단계에 있습니다. IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments 및 Toshiba와 같은 회사가 표준에 기여했습니다.

오늘, Khronos® OpenCL ™ 워킹 그룹은 개발자가 빠르게 시작할 수 있도록 Khronos OpenCL SDK의 초기 초기 릴리스와 함께 새로운 통합 OpenCL C 3.0 언어 사양을 포함하여 최종 OpenCL 3.0 사양의 릴리스를 발표하게되어 기쁘게 생각합니다. OpenCL로 속도를 높이십시오.

OpenCL 3.0 주요 기능

OpenCL 3.0 API 지금 모든 버전의 OpenCL 포함 (1.2, 2.x), 별도의 사양을 제공하지 않고 각 버전에 대해.

OpenCL 3.0은 OpenCL 1.2 / 2.X의 모 놀리 식 특성을 차단하지 않고 옵션 형태로 겹치는 추가 사양을 통합하여 핵심 기능을 확장 할 수있는 기능을 제공합니다.

준수하는 기능 만 OpenCL 1.2는 필수로 선언되었습니다.및에서 제안한 모든 기능 OpenCL 2.x 사양은 선택 사항이라고합니다..

이 접근 방식은 OpenCL 3.0을 준수하는 특수 구현의 생성을 단순화하고 OpenCL 3.0을 사용할 수있는 장치의 범위를 확장합니다.

제조업체는 특정 OpenCL 3.0.x 기능을 구현하지 않고도 OpenCL 2에 대한 지원을 구현할 수 있습니다. 선택적 언어 기능에 액세스하기 위해 테스트 요청 시스템이 OpenCL 3.0에 추가되어 개별 API 요소 및 특수 매크로에 대한 지원을 평가합니다.

이전에 출시 된 사양과 통합하면 애플리케이션을 OpenCL 3.0으로 쉽게 변환 할 수 있습니다. OpenCL 1.2 응용 프로그램은 수정없이 OpenCL 3.0을 지원하는 장치에서 실행할 수 있습니다.

응용 분야 OpenCL 2.x도 코드 변경이 필요하지 않습니다. 그러나 OpenCL 3.0 환경이 필요한 기능을 제공하는 경우 (향후 이식성을 위해 OpenCL 2.x 응용 프로그램은 사용중인 OpenCL 2.x 기능과의 호환성을 평가하기 위해 테스트 쿼리를 추가하는 것이 좋습니다).

OpenCL 구현을 사용하는 드라이버 개발자는 특정 API 호출에 대한 요청 처리 만 추가하고 시간이 지남에 따라 점차적으로 기능을 증가시켜 제품을 OpenCL 3.0으로 쉽게 업그레이드 할 수 있습니다.

OpenCL 3.0 사양은 환경, 확장 및 사양에 맞게 조정되었습니다. 일반 중간 S의PIR-V, Vulkan API에서도 사용됩니다. SPIR-V 1.3 사양에 대한 지원은 기본 OpenCL 3.0에 옵션 기능으로 포함되어 있습니다. 컴퓨팅 코어에 대한 SPIR-V 중간 표현을 사용하여 하위 그룹 작업에 대한 지원이 추가되었습니다.

그 외에 DMA 작업 수행을위한 확장 지원 추가 DSP와 유사한 DMA 칩에서 비동기 지원.

비동기 DMA를 사용하면 DMA 트랜잭션을 사용하여 진행중인 계산 또는 기타 데이터 전송과 동시에 전역 메모리와 로컬 메모리간에 데이터를 비동기 적으로 전송할 수 있습니다.

병렬 프로그래밍 확장 사양 언어 C가 버전 3.0으로 업데이트되었습니다. C ++ 용 OpenCL 언어 확장 개발은 "OpenCL 용 C ++"프로젝트를 위해 중단되었습니다.

Vulkan API를 통해 OpenCL을 번역하기 위해 clspv 컴파일러가 제안됩니다. OpenCL 커널을 Vulkan SPIR-V 표현으로 변환하고 clvk 계층을 변환하여 OpenCL API가 Vulkan 위에서 작동하도록합니다.

출처 : https://www.khronos.org/


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.