Sycl tagged news

ComputeCpp v1.1.6: Changes to Work-item Mapping Optimization

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 announces Acoran, with SYCL, OpenCL and Vulkan at the core of the platform

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.

Intel Fact Sheet: oneAPI with SYCL from Khronos

​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.

SYCL Takes Center Stage at SC19

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.

SYCL Strongly Supported by Codeplay Software at SuperComputing 2019

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.

Codeplay: Debugging SYCL Applications

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.

TensorFlow gets native support for PowerVR GPUs via optimised open-source SYCL libraries

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 Announces SYCL Academy

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.

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.

Alternatives to C++ Function Pointers in SYCL using Function Objects

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.