크로노스 그룹 쉐이더 프로그래밍이 가능한  안전 관건 그래픽스 API 표준 OpenGL SC 2.0 발표

간소화된 API를 통해 항공전자 및 자동차 시스템에 대한 인증 비용 절감 가능해져
GLSL 쉐이더 사용으로 강력한 그래픽스 기능과 높은 성능 그리고 전력 소비를 줄일  것으로 기대

2016년 4월 20일, 독일 뮌헨에게 개최된 항공전자유럽(Aviation Electronics Europe)에서 소프트웨어 및 하드웨어 산업계를 선도하는 기업들의 표준화 컨소시엄인 크로노스 그룹은 안전관련 인증이 요구되는 시스템을 위한 프로그래밍 가능한 그래픽스 API 표준으로 OpenGL® SC 2.0을 발표하였다.  OpenGL SC 2.0 API 표준은 크로노스 그룹의 안전 관건 워킹그룹 (Safety Critical WG)에서 개발되었으며, FAA DO-178C와 EASA ED-12C Level A 와 같은 항공전자 분야, ISO 26262와 같은 자동차 등의 산업 안전 분야에서 요구하는 독특하고 엄격한 고신뢰성을 요구하는 디스플레이 시스템 시장을 목표로 개발되었다. 이전에 OpenGL SC 1.0을 이용하여 성공적인 항공전자 인증과 제품의 탑재시켰던 성공을 바탕으로 개발된 OpenGL SC 2.0은 높은 고신뢰성 시스템 제조사에게 최신 그래픽스의 큰 이점 중 하나인 쉐이딩 프로그램을 사용하면서 동시에 높은 수준의 안전 인증이 가능하게 해 줄 것이다. 새 표준에 대한 상세한 정보는  https://www.khronos.org/safetycritical  에서 얻을 수 있다.

OpenGL SC 2.0 소개
OpenGL SC 1.0은 OpenGL ES™ 1.0 고정 그래픽스 파이프라인 기능의 일부를 안전 관건 응용을 위해 정의한 표준이었다. 2005년 발표된 이래, 2009년 일부 기능의 수정이 있었다. OpenGL SC 2.0은 OpenGL ES 2.0의 일부 기능을 채택한 표준으로 OpenGL ES 2.0과 같이 GLSL 기반의 쉐이더 프로그래밍 기능이 포함되어 높은 수준의 그래픽스 기능을 높은 성능과 낮은 전력소비로 실현할 수 있다. OpenGL SC 2.0에서는 OpenGL ES 2.0의 디버깅 기능을 모두 제거하였지만, OpenGL의 신뢰성 확장판(Robustness Extension)을 핵심 기능으로 채택하여 스케줄링과 메모리 접근의 신뢰성을 높였다. OpenGL SC 2.0은 OpenGL ES 2.0 칩과 호환성을 유지하면서도 확정적(deterministic)이고 검증가능(testable) 하도록 설계되어, 대량 생산되는 데스크탑, 모바일 및 임베디드 시스템 칩 솔루션을 통해 제품개발이 가능 하다.

OpenGL SC 2.0을 독일 뮌헨에서 열리는 유럽 항공 전자전(Aviation Electronics Europe)에서 만날 수 있어  
OpenGL SC 2.0 구현은 이미 사용가능 하여 이번 행사에 일반에 공개 되었다.

  • CoreAVI는 자사의 OpenGL SC 2.0 그래픽스 드라이버* 를 커티스 라이트의 rugged VX3-133 SBC(NXP QorlQ T2080) 과 VPX3-716 COTS 그래픽스 모듈을 Wind River의 VxWorks RTOS와 Presagis의 VAPS XT HMI 그래픽스 개발 도구와 함께 발표하였다.
  • Presagis는 CoreAVI의 OpenGL SC 2.0 그래픽스 드라이버를 NXP QorlQ P3041 쿼드코어 프로세서와 AMD의 Radeon E8860 GPU 그래픽스 프로세서를 사용하고, Wind River VXWorks RTOS와 Presagis’ VAPS XT HMI 그래픽스 개발 도구를 이용한 시연을 보여 주었다.

추후의 안전 관건 표준
가시화 계산의 가속은 ADAS(첨단 운전자 지원 시스템), 자율 주행 시스템과 차세대 항공전자 시스템의 핵심적인 요소가 될 것입니다. 크로노스의 Safety Critical 워킹 그룹은 Vulkan™ 고효율 그래픽스 및 컴퓨팅 표준을 포함한 크로노스의 다른 표준들의 안전 관건 표준의 개발을 담당하고 있다. 또한 OpenVX™ 워킹 그룹은 저전력 비전 프로세싱을 위한 안전 관건 표준을 제정하고 있다. Safety Critical 워킹 그룹은 이번 OpenGL SC 표준의 개발 경험을 바탕으로 안전 관건 시스템을 위한 개방형 표준기술의 개발에 도움을 줄 수 있는 cross-API 가이드라인을 개발할 예정이다. 관심 있는 기업은 Khronos Group에 참여하여 자신의 목소리를 내고 투표를 통해 표준 개발 프로세스에 참여하게 되길 바란다.

Industry Support for OpenGL SC 2.0
Steve Viggers, vice president of software at CoreAVI는 “OpenGL SC 2.0은 항공전자, 자동차, 안전 관건 시스템 제조사들이 프로그래밍 그래픽스 파이프라인을 활용하면서 동시에 낮은 전력을 사용하는 난제를 극복하게 해 줄 것입니다. CoreAVI는 산업계 최초로 가장 엄격한 안전 인증을 요구하는 FAA DO-178C Level A와 ISO 26262 ASIL D 표준을 등에 활용할 수 있는 OpenGL SC 2.0 드라이버를 발표 하였고, 바로 사용할 수 있습니다”

 “전통적인 안전관건 소프트웨어 영역에 최신 그래픽스 기술의 장점을 이용할 수 있게 되었습니다. Mobica는 우리의 자동차 및 반도체 파트너와 함께 OpenGL SC 2.0 솔루션을 이용하여 자동차 UI와 같은 첨단 제품 개발을 할 것입니다. OpenGL SC 2.0의 앞선 기술은 넓은 영역의 기업과, 시장 영역에서 활용되고, 궁극적으로 최종 사용자에게 활용될 것으로 기대합니다. Jim Carroll, CTO of Mobica

Jean-Michel Brière, general manager at Presagis“임베디드 그래픽스의 주요한 변화를 선도 하게 된 것을 매우 기쁘게 생각합니다. GPU 기반의 쉐이더를 사용하여 HMI 디자인과 성능에 거대한 가능성을 문을 열 것으로 기대합니다” 라고 기대감을 표현하였다.

크로노스 그룹 소개
크로노스 그룹은 산업계의 컨소시엄으로서, 병렬 컴퓨팅, 컴퓨터 그래픽스, 컴퓨터 비전, 센서 처리와 동적 미디어 등에 대한 저작과 가속을 위한 개방형 표준을 제정하고 있다. 크로노스의 표준에는 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™ 및 glTF™  등이 있으며, 회원사로 참여하면 표준의 제정에 기여하고, 관련 투표권을 갖게 되며, 일반에 공개되기 앞서 표준 문서에 접근할 수 있는 권리를 갖게 된다. 이를 통해 회원사는 다른 기업에 앞서 관련 제품을 개발하고 생산할 수 있는 기회를 가질 수 있다. 상세한 정보는 http://www.khronos.org 에서 얻을 수 있다.

###

Khronos, Vulkan, DevU, StreamInput, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenSL ES 및 OpenMAX 는 Khronos Group Inc. 의 등록상표입니다.  ASTC는 ARM Holdings PLC의 등록상표입니다. OpenCL 은 Apple Inc.의 등록 상표이며  OpenGL은 Silicon Graphics International의 등록 상표이며, OpenGL ES and OpenGL SC 로고는 Silicon Graphics International 상표이며, 크로노스 그룹에 라이선스 허여되었습니다. 기타 회사명, 제품명 등은 각 상표를 보유하고 있는 기업의 등록 상표 입니다.

* 현재 제품은 크로노스의 표준 문서에 기반하여 제작되었으며, 크로노스의 인증 프로세스가 발표되면 관련 인증 테스트를 통과할 것으로 예상된다. 인증 테스트의 현재 상태는 다음 링크에서 찾을 수 있다. www.khronos.org/conformance.

###

Khronos, Vulkan, DevU, StreamInput, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenSL ES 및 OpenMAX 는 Khronos Group Inc. 의 등록상표입니다.  ASTC는 ARM Holdings PLC의 등록상표입니다. OpenCL 은 Apple Inc.의 등록 상표이며  OpenGL은 Silicon Graphics International의 등록 상표이며, OpenGL ES and OpenGL SC 로고는 Silicon Graphics International 상표이며, 크로노스 그룹에 라이선스 허여되었습니다. 기타 회사명, 제품명 등은 각 상표를 보유하고 있는 기업의 등록 상표 입니다.

* 현재 제품은 크로노스의 표준 문서에 기반하여 제작되었으며, 크로노스의 인증 프로세스가 발표되면 관련 인증 테스트를 통과할 것으로 예상된다. 인증 테스트의 현재 상태는 다음 링크에서 찾을 수 있다. www.khronos.org/conformance.

크로노스 그룹 OpenCL 2.2 잠정 표준 발표 병렬 프로그래밍을 위한 OpenCL C++ 커널 언어도 함께 공개

OpenCL C++을 보완하고 지원하기 위한 SYCL 2.2와 SPIR-V 1.1 잠정 표준안도 함께 발표

2016년 4월 18일, 비엔나, 국제 OpenCL 워크샵 (International Workshop on OpenCL)소프트웨어 및 하드웨어 산업계를 선도하는 기업들의 표준화 컨소시엄인 크로노스 그룹은 OpenCL™ 2.2, SYCL™ 2.2, SPIR-V™ 1.1의 잠정 표준을 공개한다고 발표했다. OpenCL 2.2는OpenCL C++ 커널 언어와 함께 병렬 프로그래밍의 생산성을 크게 향상시켜줄 것으로 기대된다. SYCL 2.2 는 호스트와 디바이사 코드를 하나의 소스 파일에 담을 수 있도록 해 OpenCL C++의 능력을 최대한 발휘할 수 있도록 해 줄 것이다. SPIR-V 1.1은 크로노스가 정의한 쉐이더와 컴퓨팅 커널 기능에 OpenCL C++를 완전하게 지원하기 위해 기능을  확장하였다. 이들 새 잠정 표준의 사양은 www.khronos.org 홈페이지에서 다운로드 받을 수 있으며 최종 인준 전까지 개발자와 구현 기관의 의견을 수렴하여 반영한다. 의견 개진은 https://forums.khronos.org/ 사이트를 이용하면 된다.

 “OpenCL 2.2에는 개발자들이 가장 많이 요구했던 OpenCL C++ 커널 언어를 채택하였다. 전체적으로 크로노스 그룹은 병렬처리 프로그래밍의 생산성을 증대시켜 줄 일련의 3개의 새로운 표준을 오늘 발표 하였다. 첫번째, OpenCL 2.2는 SPIR-V 1.1 과 함께 발표되어 OpenCL C++ 커널 언어를 크로노스가 정의한 중간 표현 언어를 지원할 수 있게 되었다. 또한 SYCL 2.2는 OpenCL 2.2에 하나의 소스코드로 된 C++ 프로그래밍을 가능하게 해 줄 것이다.” 닐 트레빗, 크로노스 그룹 회장 및 OpenCL 워킹 그룹 의장 

OpenCL 2.2 소개
OpenCL 2.2 은  OpenCL C++ 커널 언어를  C++14 표준의 정적인 부분 집합으로 정의하였다. OpenCL C++ 에는 클래스, 템플릿, 람다 표현식, 함수 오버로드와 많은 생성자가 제네릭 프로그래밍과 메타 프로그래밍을 통해 병렬 프로그래밍 생산성을 높이기 위해 포함되었다.

OpenCL 라이브러리 함수는 C++ 언어의 장점을 이용할 수 있게 됨으로써  atomics, iterators, 이미지, 샘플러, 파이프, 그리고 디바이스 큐 빌트인 자료형  주소 공간과 같은 기능을 사용할 때에도 안전성과 정의되지 않는 결과를 줄일 수 있게 되었다.

파이프 저장공간은 OpenCL 2.2 의 새로운 디바이스-측 자료형으로 컴파일 할 때 알고 있는 크기와 자료형의 연결을 만들어 주고, 효율적인 디바이스-스코프의 통신을 커널간에 가능하게 해 주어, FPGA 구현에 유용하게 사용될 수 있다.

OpenCL 2.2는 코드를 생성하는데 개선된 최적화 기능을 포함하고 있다. 응용은 SPIR-V 컴파일 시 특수한 상수의 값을 설정할 수 있고, 새로운 쿼리가 프로그램 스코프의 전역 객체들의 non-trivial constructors 와 destructors를 점검할 수 있다.

SYCL 2.2 소개
SYCL 2.2는 호스트와 디바이스 코드를 하나의 파일로 만들어 줌으로써 OpenCL 2.2 능력을 상승시켜 주는 역할을 한다. SYCL는 C ++ 표준의 방향으로 OpenCL의 하드웨어 기능을 일관되게 맞추어 줌으로써, 개발자들은 독점적 또는 비표준 코드를 작성하지 않고도, 아주 작은 OpenCL 1.2 임베디드 디바이스에서 부터 가장 진보된 OpenCL을 2.2 가속기에 컴퓨팅 장치의 모든 기능을 최대한 활용하는 C ++ 템플릿 라이브러리를 작성할 수 있게 된다. 크로노스 주관을 개발된 SYCL을 위한 오픈 소스 C ++ 17 병렬 STL은 차기 C++ 표준이 공유 가상 메모리, 제네릭 포인터와 디바이스측 enqueue와 같은 OpenCL 2.2 기능을 지원할 수 있도록 할 것이다.

OpenCL C++와 SYCL 사이에 이제 개발자들에게 두개의 C++ 접근이 제공된다. 기기 측 커널 소스 코드 및 호스트 코드를 분리하려는 개발자를 에게는 C ++ 커널 언어는 최선의 선택이 될 수 있다. 이것은 현재 OpenCL C 에서 채택된 방식일 뿐만 아니라, 그래픽 소프트웨어 쉐이더에서 널리 채택 된 접근법이다. 이른바 ‘단일 소스’ C++라는 또 다른 방법은 SYCL, OpenMP와 C++ 17 병렬 STL 가 채택한 접근 방식과 이다. SYCL 및 C++ 커널 언어를 모두 정의하는 방법으로, 크로노스는 개발자에게 최대의 선택을 제공하면서도, 두 사양을 일치 될 때 까지, 그 코드는 쉽게 이러한 보완적인 접근 방법 사이에 공유 할 수 있다.

Andrew Richards, CEO of Codeplay and chair of the SYCL working group – “우리 Codeplay는 진보된 이종 프로세서 솔루션을 가능하게 하는 개방형 표준을 계속 지지하고 진화를 주도할 것입니다. 비전 응용 프로그램을 모바일에서 가속하고, 클라우드, IoT와 자동차 ADAS는 병렬 소프트웨어 개발 과정 전체를 단순화 해줄 개선된 크로노스의 오픈 표준의 큰 혜택을 얻게 될 것입니다.  

SPIR-V 1.1 소개
SPIR-V (Standard Portable Intermediate Representation)은 최초의 개방형, 다중 API 중간 표현 언어 표준으로 병렬 컴퓨팅과 그래픽스 네이티브 표현을 할 수 있다. SPIR-V 1.1은 이제 OpenCL 2.2의 OpenCL C ++의 모든 커널 언어 기능을 지원한다. 여기에는 constructors와 destructors를 지원하는 initializer 및 finalizer 함수 실행 모드가 포함된다. SPIR-V 1.1은 또한 named barriers, subgroup execution, 및 program scope pipes를 지원함으로써, 커널 프로그램의 표현성을 향상시켜 준다.

특별 상수는, 이전에 이미 VULKAN™ 용 SPIR-V 1.0 그래픽 쉐이더와 OpenCL 커널 프로그램의 SPIR-V 1.1에서 사용할 수 있었다. 이 기능은, 실행할 때 특정되는 설정을 컴파일시 프로그램에 포함하는 방식을 통해 하나의 SPIR-V 모듈로 여러 그룹의 OpenCL 커널 프로그램을 매개 변수화 해서 표현할 수 있게 해준다. 이것은 다른 컴파일 설정으로 즉석에서 제공되는 프로그램의 크기 나 응용 프로그램 시작 시간에 엄청난 비용 절감을 선도, 장치 프로그램의 여러 변종을 제공하거나 소스를 컴파일 할 필요가 없습니다.

 “OpenCL C++는 전체 산업에 플러스-플러스 효과를 줄 것입니다. OpenCL 워킹그룹은 개발자들의 중요한 피드백에 기반해서 OpenCL C++에 C++의 용어와 스타일을 유지하는데 성공했습니다. 최대의 성능과 코드의 아름다운 둘 모두를 원하는 개발자들에게는 아주 큰 선물입니다. 이를 우리 YetiWare의 OpenCL 교육 프로그램에 바로 적용할 예정입니다.” - AJ Guillon, founder and chief technical officer, YetiWare Inc.

크로노스 그룹 소개
크로노스 그룹은 산업계의 컨소시엄으로서, 병렬 컴퓨팅, 컴퓨터 그래픽스, 컴퓨터 비전, 센서 처리와 동적 미디어 등에 대한 저작과 가속을 위한 개방형 표준을 제정하고 있다. 크로노스의 표준에는 Vulkan™, OpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™ 및 glTF™  등이 있으며, 회원사로 참여하면 표준의 제정에 기여하고, 관련 투표권을 갖게 되며, 일반에 공개되기 앞서 표준 문서에 접근할 수 있는 권리를 갖게 된다. 이를 통해 회원사는 다른 기업에 앞서 관련 제품을 개발하고 생산할 수 있는 기회를 가질 수 있다. 상세한 정보는 www.khronos.org 에서 얻을 수 있다.

###

Khronos, Vulkan, DevU, StreamInput, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenSL ES 및 OpenMAX 는 Khronos Group Inc. 의 등록상표입니다.  ASTC는 ARM Holdings PLC의 등록상표입니다. OpenCL 은 Apple Inc.의 등록 상표이며  OpenGL은 Silicon Graphics International의 등록 상표이며, OpenGL ES and OpenGL SC 로고는 Silicon Graphics International 상표이며, 크로노스 그룹에 라이선스 허여되었습니다. 기타 회사명, 제품명 등은 각 상표를 보유하고 있는 기업의 등록 상표 입니다.