DOI QR코드

DOI QR Code

Design of Compiler & Variable-Length Instructions for SIMD Structured Shader

가변길이 SIMD구조 쉐이더 명령어 및 컴파일러 설계

  • Received : 2010.06.15
  • Accepted : 2010.07.15
  • Published : 2010.12.31

Abstract

Shader instructions and Compiler are designed for supporting 3D graphic shader 3.0 API. Variable-length instructions are proposed to reduce the size of hardware of graphic processor in SIMD structure by shortening the length of instructions. The designed shader compiler supports variable and two phased structured instructions, and can be programmable at ESSL level. Conformance Test proposed by Khronos group is accomplished to verify the design result of instructions and complier. The test result shows overall average 37% performance improvement at the 16 functions of basic GL shader.

본 논문에서는 3차원 그래픽 쉐이더 3.0 API를 지원하는 쉐이더 명령어 및 컴파일러를 설계하고 그 결과를 평가한다. 기존의 명령어와는 달리 가변길이의 명령어 구조를 제안하고 명령어의 길이를 줄여 SIMD(Single Instruction Multiple Data)구조의 그래픽 프로세서의 하드웨어 크기를 줄일 수 있다. 가변길이 및 2 페이즈 구조의 명령어를 지원하며 ESSL(ES Shading Language) 수준에서 쉐이더 프로그램이 가능한 쉐이더 컴파일러의 설계를 수행하였다. 명령어와 컴파일러 설계 결과를 검증하기 위하여 크로노스그룹에서 제안하는 Conformance Test를 수행하였다. 그 결과로 제공하는 기본 GL 쉐이더의 기능 16개를 비교하여 보았을 때 전체 평균 37%가 줄어드는 것을 알 수 있다.

Keywords

References

  1. Microsoft Shader3.0, http://msdn.microsoft.com
  2. H.K. Jeong, "Design of 3D Graphics Geometry Accelerator using the Programmable Vertex Shader" ITC-CSCC 2006.
  3. Mauricio Breternitz, Jr., "Compilation, Architectural Support, and Evaluation of SIMD Graphics Pipeline Programs on a GP-CPU" Proc. of the 12th int'l conference on parallel architectures and compilation techniques.
  4. ARM http://www.arm.com/
  5. J.H Sohn, et al., "A 155-mW 50-Mvertices/s Graphics Processor With Fixed-Point Programmable Vertex shader for Mobile Applications", IEEE J.l of Solid State Circuits, Vol 41, No. 5, pp.1081-1091, May, 2006 https://doi.org/10.1109/JSSC.2006.872869
  6. Jeong-Ho Woo, et al. "A 195mW, 9.1MVertices/s fully programmable 3D graphics processor for low power mobile device", Solid-State Circuits Conference, 2007