In C++, especially in modern C++, function pointers are a legacy feature from the C language but they still exist in some code bases. SYCL does not provide support for function pointers as this is a limitation posed by the design of OpenCL v1.2 which is the basis of the current SYCL v1.2.1 definition. The good news is that we can use modern C++ to implement a solution that can be used with SYCL. Learn how to do this with examples from Codeplay.
Andrew Richards from Codeplay will be presenting “Using Industry-Standard Techniques to Accelerate AI Software” at this years Linley Fall Processor Conference in Santa Clara. You can learn more about this presentation and download a free white paper by Linley Gwennap, Principal Analyst at the Linley Group.
Heterogeneous-Compute Interface for Portability (HIP) is a runtime API and a conversion tool to help make CUDA programs more portable. It was originally contributed by AMD to the open source community with the intention to ease the effort of making CUDA applications also work on AMD’s ROCm platform.
While AMD and NVIDIA share the vast majority of the discrete GPU market, it is useful to make this “CUDA portability enhancement route” available to an even wider set of platforms. Since the Khronos OpenCL standard remains the most widely adopted cross-platform heterogeneous programming API/middleware, it is interesting to study whether HIP could be ported on top of it, expanding its scope potentially to all OpenCL supported devices. We in Customized Parallel Computing group, Tampere University, Finland, are happy to announce that to have worked on such a tool, known as HIPCL, for some time and it’s now published and available in Github.
The first release of HIPCL is a proof-of-concept, but is already useful for end-users. It can run most of the CUDA examples in the HIP repository and the list of supported CUDA applications will grow steadily as we add new features.
Andrew Richards, CEO and Co-founder of Codeplay Software, presents the “Can We Have Both Safety and Performance in AI for Autonomous Vehicles?” tutorial at the May 2019 Embedded Vision Summit. Andrews presentation includes discussion on how SYCL, OpenCL and Vulkan can play into Safety and Performance in vehicles.
The OpenCL working group has posted new OpenCL Reference pages. These OpenCL reference pages are now generated from open source AsciiDoctor – please let us know if you have fixes or suggestions on GitHub.
All of the presentations and videos from the Khronos OpenVX workshop at the 2019 Embedded Vision Summit are now online. If you were unable to attend this workshop, you may now watch the seven sessions online and follow along with the slide presentations:
Introduction and OpenCL Overview & Update – Neil Trevett, NVIDIA: slides, video
OpenCL & SYCL – Andrew Richards, Codeplay: slides, video
Intel Open Source SYCL Compiler Project – Konstantin S. Bobrovsky, Intel: slides, video
OpenVX Presentations – Frank Brill, Cadence / Niclas Danielsson & Mikael Pendse, Axis : here & here, video
Inference with OpenVX – Mike Schmit, AMD: slides, video
NNEF Presentation – Gergely Debreczeni, AImotive: slides, video
OpenVX Hands-On - Part 1 – Rajy Rawther & Kiriti Nagesh Gowda, AMD: slides, video
Intel has released their 184.108.40.20661 graphics drivers. OpenGL has been bumped to 4.6, which adds an extension to use Vulkan’s SPIR-V shaders in OpenGL. Vulkan has been given four new extensions: VK_EXT_depth_clip_enable, VK_EXT_host_query_reset, VK_EXT_scalar_block_layout, and VK_KHR_shader_float16_int8. The OpenCL kernel compile times have been reduced.
Imagination Technologies announced that it has joined SiFive’s DesignShare ecosystem, giving system designers easy access to its industry-leading PowerVR GPU and neural network accelerator (NNA) IP cores. The PowerVR GPU will be the first fully featured GPU supporting the Vulkan applications programming interface (API) available via the DesignShare ecosystem. Mohit Gupta, vice president, SoC IP solutions, strategy and business development, SiFive; said: “We’re delighted to welcome Imagination into the DesignShare movement. Imagination is renowned for its industry-leading GPU IP and award-winning NNA IP. PowerVR’s support of APIs such as Vulkan, OpenCL, Android NNAPI, and SYCL will deliver new opportunities for customer growth for the ecosystem. Together, we hope to inspire customers to challenge the norm and develop groundbreaking custom silicon. We’re excited to see the creativity that our collaboration inspires.”
The recently formed Khronos OpenCL Tooling Subgroup has been focused on developing and enhancing open source tools and components, targeted at embedded systems and heterogeneous computation applications; the new tools and resources are available to the entire OpenCL ecosystem.
Michael Wong, VP of Research and Development, Charles Macfarlane, VP of Marketing and Rod Burns, Developer Relations Manager are attending this year’s AutoSens Conference in Detroit from 14th to 16th May, 2019. Michael Wong will be presenting “Ensuring safe AI in a car” highlighting the practical engineering challenges of turning deep learning, classical machine vision and sensor fusion algorithms from research prototypes into real-world automotive-grade systems. Codeplay will be exhibiting the benefits of open standards OpenCL and SYCL on Renesas R-Car V3H platform for rapid development and deployment of ADAS and AV functions.
LLVM 2019 wrapped up a couple of weeks ago, and some of the presentations are now rolling out. For a list of Khronos related session, visit our event page. For a complete list of presentations, please visit the LLVM website.
Arm Mobile Studio is a suite of free-to-use tools which help game and app developers to reach more of the mobile market by efficiently optimizing and debugging high-end content for all Android devices. It includes the Arm Graphics Analyzer to trace graphics performance issues easily, and Arm Streamline performance analyzer, for a whole-system view of performance to determine bottlenecks quickly across both the CPU and GPU. Arm Mobile Studio supports frame-by-frame analysis of OpenGL ES and Vulkan content and lets you trace Vulkan, OpenGL ES, EGL and OpenCL API calls easily in your game from within the Unreal game engine.
Radeon GPU Analyzer (RGA) is thte AMD offline compiler and integrated code analysis tool, supporting the high-level shading and kernel languages that are consumed by DirectX 11, Vulkan, OpenGL and OpenCL, including HLSL, GLSL, the OpenCL kernel language, and SPIR-V. Along with support for Vulkan in the RGA GUI, the biggest new feature in RGA 2.1 is a new analysis system that lets you obtain the GCN machine ISA and hardware resource information, using the compiler in the running driver that you have in your system. Learn more on the Radeon GPU Blog from AMD.