Many applications porting to Vulkan also need a way to port their HLSL shaders to SPIR-V. Glslang provides a method to translate HLSL shaders to SPIR-V, which is now available and ready to use. Currently the HLSL mode of the glslang frontend is complete enough to run complex, real-world workloads such as Dota 2 and Ashes of the Singularity. It accepts shaders for any shader stage, and handles common language constructs for functions, control flow, variable and type declarations, registers and pack offsets, most DX10 and later texture methods, most intrinsic functions, most preprocessor functionality, most built-in semantics, and attributes that affect stage functionality. To learn more about the HLSL to SPIR-V translator, visit this FAQ at the glslang GitHub.
As mentioned on Phoronix, Google just announced GSoC 2017 Projects. Included in the list are several Khronos related projects:
• Software Renderer for Vulkan (Vulkan, SPIR-V)
• 3D Hardware Acceleration in Haiku (OpenGL)
• Cross Platform GUI for CCExtractor (OpenGL
• libosmscout: Implementation of an opengl renderer (OpenGL)
• OpenGL-accelerated Renderer for Cytoscape 3 (OpenGL)
• Improvement to WebGL core for p5.js (WebGL)
• WebGL improvements for p5.js (WebGL)
• Creating the fastest math libraries for Ruby by using the GPU through OpenCL and ArrayFire. (OpenCL)
• GPU Boolean Evaluation for CSG Ray-Tracing (OpenCL)
• HPXCL – Asynchronous Integration of CUDA and OpenCL to HPX (OpenCL)
• libxcam Enable a debluring feature with OpenCL Design (OpenCL)
• Speeding up functional network analysis on fMRI data with distributed, in-memory computation using Apache Spark (OpenCL)
Although this backend is still a work in progress, many core features are implemented, allowing real OpenCL applications to be run. This backend allows us to run SPIR-based applications on NVIDIA devices, such as SYCL codes compiled with Codeplay's ComputeCpp compiler.
Phoronix had a call with The Khronos Group president Neil Trevett to discuss some of their latest initiatives and the ongoing advancements to the Vulkan API, WebGL, SPIR-V, and more. Read about some of the highlights.
Join the Khronos Group at the Marriott Pinnacle Downtown in Vancouver, BC for a full-day workshop on Vulkan. We will briefly cover the basics, then dive into the details you need. Planned topics include:
• Vulkan tools and resources: SDK, Validation Layers, and Vulkan Loader
• vktrace for desktop and Android
• C/C++ with Vulkan-Hpp
• SPIR-V Tools (GLSLang, SPIR2CROSS, and others)
• Keeping your GPU fed without getting bitten
• Vulkan Tutorial - We'll get into some code!
• Vulkan game development on Android - a case study from Samsung
• SV porting story from Oculus
• Panel/Q&A with ISVs, IHVs, and Presenters: Performance recommendations, practical advice, and answers to your questions
The early-registration price is CAD$149 (about US$112) through January 16. Starting on January 17 the price is CAD$199.
Join the Khronos Group in Booth 304 @ SC16. There will be people in the booth from the Khronos working groups who can answer your technical questions about OpenCL, SYCL, and SPIR. Visit the Khronos Booth for your free HPC t-shirt, OpenCL sticker, and reference guides for OpenCL and SYCL. Khronos members Xilinx and Codeplay will be in the booth to answer questions, give talks, and show demos. This year at SC Khronos will show where OpenCL fits in with the larger pantheon of open standards for HPC in a panel held on Wednesday 10:30am in room 255-BC.
Codeplay is giving developers free, early access to ComputeCpp with a pre-conformance beta implementation of the SYCL open standard, along with an open-source preview of the latest Parallel Technical Specification to be adopted into C++17. Other open-source projects being made available are VisionCpp, a machine vision library demonstrating C++ techniques for performance-portability, and an early version of the Eigen C++ library that uses SYCL for acceleration on OpenCL devices.
The Khronos Group, an open consortium of leading hardware and software companies, announces the immediate availability of the OpenCL™ 2.2, SYCL™ 2.2 and SPIR-V™ 1.1 provisional specifications. OpenCL 2.2 incorporates the OpenCL C++ kernel language for significantly enhanced parallel programming productivity. SYCL 2.2 enables host and device code to be contained in a single source file, while leveraging the full power of OpenCL C++. SPIR-V 1.1 extends the intermediate representation defined by Khronos with native support for shader and compute kernel features to fully support the OpenCL C++ kernel language. These new specifications can be found at www.khronos.org and are released in provisional form to enable developers and implementers to provide feedback before finalization, including at the Khronos forums.
An Ada 2012 library that implements the enumerations for the SPIR-V intermediate language. This library can be used to build tools that manipulate SPIR-V in Ada 2012. This library is still being tested and comments, suggestions and bug finding are very welcome on Github.
The Khronos Group today announced the ratification and public release of the OpenCL 2.1 and SPIR-V 1.0 specifications for heterogeneous parallel computation. Consumption of the new SPIR-V cross-API intermediate language is guaranteed in the core OpenCL 2.1 specification. Khronos has released open source utilities and extensions to enable use of SPIR-V in OpenCL 1.2 and 2.0, as well as the upcoming Vulkan graphics API, ensuring widespread availability of its powerful runtime capabilities for developers of parallel computation languages and frameworks. The OpenCL C++ kernel language released in the OpenCL 2.1 provisional specification is being finalized and will be released imminently, also using SPIR-V for run-time execution. The OpenCL 2.1 specification is available for immediate download and SPIR-V 1.0 is available online as well.
The Khronos Group has added another Request For Quote (RFQ). This one is to update the glTF three.js loader on GitHub to reflect the latest versions of the glTF specification and three.js library, and to drive feedback into the final glTF 1.0 specification. Complete details for glTF, OpenGL ES, SPIR-V and OpenVX RFQs available online.
The Khronos SPIR-V working group is soliciting quotes for developing SPIR-V tools and tests to support OpenCL and Vulkan. SPIR-V is the industry's first open, cross-platform intermediate representation for portable heterogeneous parallel computing with native support for graphics and compute constructs. Any company, whether a Khronos member or not, is cordially invited to contact Khronos and provide a quote. Interested parties can access the details of the request on the Khronos website.
Samsung R&D Institute UK invites you to the next meeting of the Khronos UK Chapter on Tuesday 14th April , taking place during the LLVM conference in the New Academic Building at Goldsmiths, University of London. The meeting will focus on how SPIR-V is a cornerstone of the new Vulkan and OpenCL 2.1 APIs recently announced by Khronos, how SPIR-V evolved from LLVM IR and why a binary intermediate language is important to the industry. Meeting starts at 1PM.