The aim of this guide from Codeplay Software is to summarize and analyze the different techniques for deciding what work group size to use for optimal performance, and explain what needs to be considered when choosing an ideal work group size value. The techniques covered in the guide are a summary of the most common ones used across the GPGPU industry, not just for SYCL.
The Intel Deep Neural Network Library (DNNL) just announced DNNL v2.0 preview release. New functionality includes SYCL API extensions and interoperability with SYCL code and Support for Intel DPC++ compiler and runtime. Also included are SYCL interoperability examples.
In ComputeCpp v1.1.6–Codeplay’s implementation of the open standard SYCL–Codeplay introduces an optimization to the way SYCL work-items map to OpenCL processing elements in order to improve performance in the most common use cases. This blog post will start by providing an overview of what has changed and if and how you may need to update your SYCL code.
Codeplay Software announces Acoran, the standards based platform for AI programmers. Acoran is compatible with Khronos compute standards and Intel’s oneAPI platform, enabling AI processor solutions to align with application developers by taking advantage of established standards and libraries. Codeplay has developed the Acoran platform based on the most relevant and preferred standards, with a comprehensive set of libraries that give AI developers an assured feature set for their applications. With strong momentum in Khronos standards in the industry, SYCL, OpenCL and Vulkan are at the core of the platform, with further support that includes these open source projects.
Back in June 2019 Intel launched oneAPI - a single, unified programming model that aims to simplify development across multiple architectures – such as CPUs, GPUs, FPGAs and accelerators. This weekend, Intel posted a fact sheet on oneAPI. Learn more about Intel’s oneAPI, why oneAPI is an open specification, what is included in the specification, what Data Parallel C++ is, and how does SYCL fit in, in the fact sheet.
SuperComputing (SC19) is the largest gathering of high performance computing experts in the world and it kicks off this weekend, Sunday, November 17 in Denver, CO. To kick off the conference, the Fifth International Workshop on Heterogeneous High-Performance Reconfigurable Computing (H2RC 2019) will host two presentations on Sunday solely-focused on SYCL, the Khronos open standard language for C++ single-source heterogeneous programming for OpenCL. The keynote delivered by Ronan Keryell from Khronos member, Xilinx and will outline the benefits of using SYCL for FPGA programming in a talk entitled “SYCL: A Single-Source C++ Standard for Heterogeneous Computing.” Later in the morning at 11:00am Michael Kinsner and John Freeman from Intel will present “Data Flow Pipes: A SYCL Extension for Spatial Architectures,” describing the pipes extension that enables a more usable and flexible interface.
The Khronos Group will hold a Birds of a Feather (BOF) at this years SuperComputing ‘19 (SC9). Several of Khronos’ standards will also be included in presentations at SC19, including OpenCL, SPIR-V and SYCL. For a complete and up-to-date list of Khronos BOF and related sessions, visit the SC19 event page.
Codeplay will be joining experts in Denver to provide a keynote talk and be part of panel sessions discussing the strengths of SYCL for HPC. While traditionally high performance computing has seen use of interfaces such as FORTRAN, in the past few years there has been a rapidly growing interest in using C++ for HPC applications. In fact, this year at SC19 there are many sessions talking about C++, and more specifically SYCL, with a range of sessions presenting research projects using SYCL, providing a forum for discussion and explaining how to develop using SYCL. Andrew Richards (CEO), Michael Wong (VP R&D and SYCL WG Chair) and John Lawson (AI Software Expert) from Codeplay will be at SuperComputing 2019 (SC19) in Denver, Colorado and are ready for a packed agenda that includes more SYCL talks than ever before. Learn more about what Codeplay will be doing at SC19 and see what other Khronos related sessions will be at SC19.
With many techniques to debug SYCL applications that are similar to the way this would be done in any C++ code, there are some things to keep in mind. Codeplay Developer Relations Engineer Georgi Mirazchiyski has posted an outline on how you might go about debugging on your target device. To find out about how to profile your SYCL application, check out the Optimizing Your SYCL Code Using Profiling guide also from Codeplay.
Imagination Technologies announces that developers working with TensorFlow will be able to target PowerVR GPUs directly thanks to newly optimised open source SYCL neural network libraries. The SYCL version of TensorFlow supports a very large number of AI operations and is easily user-customizable, meaning that developers using the latest neural networks, or researching their own AI technologies, can run those networks out-of-the-box with high performance on PowerVR. Because TensorFlow SYCL support is both open source and open standards-based, it’s an ideal solution for developers who want to accelerate the latest AI technologies on low-power devices. SYCL builds on the concepts and efficiency of Khronos OpenCL. The PowerVR-optimised SYCL libraries – SYCL-DNN, SYCL-BLAS and Eigen – will be available on GitHub. A TensorFlow fork containing extended SYCL support is available from Codeplay’s GitHub.
Codeplay is proud to announce the availability of a set of open source learning materials for SYCL, called “SYCL Academy.” These materials have been developed by engineers at Codeplay and have been delivered during training sessions at events like CppCon and IWOCL. There are now active SYCL implementations from Intel, Xilinx, and Heidelberg University, as well as our own SYCL v.1.2.1 conformant implementation, ComputeCpp. Learn more about the new SYCL Academy. To get started, go to the SYCL Academy GitHub repository and take a look at the documentation that explains what is available and how to use it.
The 8th International Workshop on OpenCL (IWOCL) including SYCLcon 2020 has been announced. Join like minded developers for three days of talks, workshops and community networking aimed at furthering the collaboration and knowledge sharing amongst the international community of high-performance computing specialist working with OpenCL, SYCL, SPIR and Vulkan Compute. The event will include a mix of hands-on tutorials, technical presentations, research papers, posters, panel discussions, networking and vendor discussions.
Wind River announces new release of VxWorks. This new release offers a real-time operating system to support C++17, Boost, Python, and Rust collection of technologies, along with continued support for languages like Ada and SPARK; New LLVM-based infrastructure that enables support for a broad set of modern and productive tools and frameworks; New open source board support packages (BSPs) such as Raspberry Pi and TI Sitara AM65x for quick prototyping and flexibility of choice and OpenSSL 1.1.1 for the most up-to-date cryptography libraries. According to Charles Macfarlane of Codeplay Software, this release of VxWorks will enable developers of next generation ADAS systems to integrate the most advanced vision and machine learning solutions using OpenCL and SYCL.
The SYCL Compiler and Runtimes 2019-09 release allow OpenCL offloading to accelerators (GPU/FPGA). Some OpenCLCL/SYCL FPGA extensions are now supported along with support for dumping the SYCL task graph to JSON. Lots of other improvements and fixes are included on the GitHub release page.
A unified programming model offers enterprises and OEMs a cost-effectively way to take advantage of the growing diversity of processor platforms, letting companies share their source code investment across vendors and architectures. Enter oneAPI from Intel, which aims to revolutionize application development through a unified, open development model to simplify programming across processors. Intel built upon C++, and SYCL from The Khronos Group had some really good constructs that they thought provided a very good starting point. Intel extended and improved it to achieve the goals that they wanted to achieve. Most of the DPC++ extensions will eventually be synced upstream into SYCL.