News
-
13 November 2023
Exascale Computing Project at the University of Cambridge uses Khronos SYCL Standard
Exascale Computing Project at the University of Cambridge uses Khronos SYCL Standard to Develop Performance Portable FEniCS Libraries for the Finite Element Method. Researchers from the University of Cambridge use SYCL™ as a high-performance language for solving differential equations with the finite element method. SYCL is an open, non-proprietary, royalty-free programming language developed and maintained by the Khronos® Group open...
-
31 August 2023
Samsung SYCL-PIM Processing in Memory Technology at Hot Chips 2023
At Hot Chips 2023 (35) Samsung is talking about its processing-in-memory (PIM) again with new research and a new twist. We have covered this previously, for example in our Hot Chips 33 Samsung HBM2-PIM and Aquabolt-XL. Now, Samsung is showing this in the context of AI. PIM has been made programmable using SYCL through the SYCL-PIM implementation work.
-
11 May 2023
8 leading European organisations join forces to bring together RISC-V and SYCL standards
8 leading European organisations join forces to bring together RISC-V and SYCL standards to demonstrate ground-breaking advances in scalability of extreme data analytics via fully-open AI acceleration The wide-spread adoption of AI has resulted in a market for novel hardware accelerators that can efficiently process AI workloads. Unfortunately, all popular AI accelerators today use proprietary hardware—software stacks, leading to a...
-
07 April 2023
SYCL™ Performance for Nvidia® and AMD GPUs Matches Native System Language
Benchmarks executing workloads using DPC++, oneAPI’s implementation of SYCL achieves close to native performance on Nvidia and AMD GPUs, when comparing to the same benchmarks run with CUDA®* and HIP*, respectively.
-
07 April 2023
User-driven Kernel Fusion
The overhead linked to offloading work to an accelerator can be problematic, especially for short-running device kernels. Fusing multiple smaller kernels into one can be a solution to this problem, but manual implementation of fused kernels is tedious work, as it needs to be repeated for each potential combination of kernels. Codeplay have therefore developed an extension for the SYCL...
-
16 March 2023
Khronos to Create SYCL SC Open Standard for Safety-Critical C++ Based Heterogeneous Compute
New Working Group designing derivative of the SYCL framework for high-level parallel programming to streamline safety certification in automotive, avionics, industrial, and medical markets; Open call for industry participation Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, announces the creation of the SYCL™ SC Working Group to create a high-level heterogeneous computing framework for...
-
02 March 2023
ECP BoF Showcases SYCL
Enabling interoperability across U.S. exascale supercomputers is one of the chief goals for the U.S. Exascale Computing Project (ECP), which has broadly overseen development of the early software ecosystem needed to support the new class of supercomputers. Earlier this month, ECP held its annual community BOF days, a virtual event spanning a wide range of topics – including a session...
-
24 February 2023
The Evolution of Different SYCL™ Implementations
A GPU-accelerated Parallel Least Squares Support Vector Machine (PLSSVM) was developed to classify dense datasets with hundreds of thousands data points and more than a thousand features. It beats the state-of-the-art sequential minimal optimization (SMO) implementations like LIBSVM. PLSSVM supports many different hardware architectures that include any Intel CPU and GPUs, and NVIDIA* and AMD* GPUs that use different back...
-
24 February 2023
hipSYCL Becomes Open SYCL For Targeting All Major CPUs & GPUs
The past few years there has been hipSYCL as an open-source project for not only taking SYCL codes to Radeon ROCm with HIP but also NVIDIA CUDA and other targets. The hipSYCL project has now decided to rename itself to Open SYCL to reflect its broader focus on supporting CPUs and GPUs from all major vendors and not being limited...
-
24 February 2023
Code Together Podcast: Developing SYCL for next-generation supercomputers
ALCF's Nevin Liber joins the Code Together podcast to discuss SYCL, a key programming model for Aurora. GPU accelerators continue to evolve, both in features and capabilities as well as vendor varieties. Simultaneously, supercomputers (which are enormous users of GPUs) also continue to evolve, setting up he very real design challenge of enabling code performance and portability across current and...
-
23 February 2023
GROMACS 2023 Released With Better SYCL For Intel / AMD / NVIDIA
GROMACS as the widely-used molecular dynamics software issued its stable v2023 release this week with improved GPU support via SYCL. Most significant to the GROMACS 2023 feature release is improving its SYCL implementation that provides production-rated support not only for Intel Arc Graphics but also AMD Radeon graphics with ROCm + hipSYCL. There is also non-production-rated NVIDIA SYCL support as...
-
05 January 2023
STFC to Accelerate Exascale Software in Computational Fluid Dynamics and Code Coupling using SYCL
The Science and Technology Facilities Council (STFC) Scientific Computing Department (SCD) has established a new oneAPI Centre of Excellence in collaboration with Intel.This will accelerate exascale software development on multi-architecture systems using the Khronos SYCL standard and the oneAPI open, cross-architecture programming model. A team of computational scientists within SCD will lead and develop the Centre and its activities.The new...
-
19 December 2022
Write SYCL™ code and use oneAPI to target Nvidia and AMD GPUs with free binary plugins
This release provides plugins for the Intel® DPC++/C++ Compiler using the oneAPI Toolkits to enable Nvidia and AMD GPU platform targets. Although support for Nvidia and AMD GPUs has been available in the DPC++ open-source repository for a while now, this is the first official binary release. Together with this release, Codeplay is providing a commercial “Priority Support” package for...
-
06 September 2022
Open Source SYCLomatic Tool for Converting CUDA to SYCL
SYCLomatic aims to ease the transition of NVIDIA CUDA code-bases over to C++17-based SYCL as the Khronos API single source standard. This joins the likes of AMD's hipSYCL and other projects over the years working to support SYCL integration with their compute stacks. The hope on Intel's side is to make CUDA code-bases more portable for running across Intel CPUs,...
-
06 September 2022
The Game of Life: An Example of Local Memory Usage and Hierarchical Kernels in SYCL
John Conway’s cellular automaton, the Game of Life, has long been a staple project for those learning to code. It is also an “embarrassingly parallel” problem, making it a great learning tool for teaching ourselves how to parallelize processes using SYCL™. You will find that even the simplest parallel implementation of the Game of Life will yield a significant performance...
-
09 August 2022
How Open Acceleration Standards are Driving Safety-Critical Development
The need for graphics and compute acceleration in embedded markets is growing. Cameras and sensor arrays are increasingly central to many use cases in diverse industries ranging from automotive to industrial and are generating increasingly rich data streams that require sophisticated processing.
-
25 July 2022
Intel Arc GPUs and oneAPI — Do They SYCL?
oneAPI, featuring C++ with SYCL, enables the same accelerator code to run on a variety of GPU and CPU architectures. As promised in my last post about heterogeneous computing, this time we are going to use the new Intel® Arc™ GPU and oneAPI to see how SYCL plays with Intel Arc.
-
18 July 2022
Accelerating Made Simpler With Celerity
On page 31 of the hiPEAC magazine is an article by Biagio Cosenza and Peter Thoman who are part of the Celerity project.‘Several of those of us working on Celerity have worked with GPUs for many years,’ explains Biagio. ‘What we saw was that existing technologies made an already difficult task – writing and maintaining efficient software for distributed compute...
-
29 June 2022
How to Port Your Code From CUDA to SYCL, Targeting Nvidia GPUs and More
Codeplay’s contributions are helping developers target Nvidia GPUs, using SYCL and oneAPI, and researchers using the pre-exascale supercomputer Perlmutter are developing software using SYCL and oneAPI. By using SYCL and oneAPI developers can widen their targets, with Nvidia GPUs, Intel GPUs, and AMD GPUs supported by the DPC++ compiler project. This session will help you to understand how you can...
-
14 June 2022
Podcast: SYCL – Empowering Developers in Academia and Enterprise
Ever since its introduction in 2014, SYCL has grown in popularity and adoption. It is a royalty-free, cross-platform abstraction layer that enables code for heterogeneous processors, written in a “single-source” style using C++ standards.The flexibility to deploy across multiple platforms, reuse code helps enable advanced hardware features that can be used by developers. This allows develops the flexibility that they...
-
14 June 2022
ENCC SYCL Workshop Videos now Available
SYCL is a C++ abstraction layer for programming heterogeneous hardware with a single-source approach. SYCL is high-level, cross-platform, and extends standard ISO C++17. In this workshop you will learn to: - Use the hipSYCL compiler to generate executables for multiple hardware targets.- Write hardware-agnostic code to express parallelism using the queue, command group, and kernel abstractions. - Use buffer and...
-
06 June 2022
Complete the SYCL Developer Survey
Help us understand more about the SYCL community and how we can help you be more successful with SYCL by completing the SYCL developer survey.
-
30 May 2022
Intel Takes The SYCL To Nvidia’s CUDA With Migration Tool
“To prepare for Aurora, the Intel DPC++ Compatibility Tool allowed us to quickly migrate over 20 kernels to SYCL,” Esteban Rangel, a computer scientist at Argonne, explains. “Since the current version of the code migration tool does not support migration to functors, we wrote a simple clang tool to refactor the resulting SYCL source code to meet our needs. With...
-
12 May 2022
SYCLcon Presentations are Available on Demand
IWOCL & SYCLcon 2022 marks the 10th Anniversary of the annual gathering of the international community of developers, researchers, suppliers, and Khronos Working Group members to share best practice, and to advance the use and evolution of the OpenCL and SYCL standards for programming heterogeneous platforms. All the presentations are now available on demand, simple register through the website.
-
10 May 2022
GROMACS 2022 Advances Open Source Drug Discovery with SYCL and oneAPI
GROMACS, a molecular dynamics package designed for simulations of proteins, lipids and nucleic acids used to design new pharmaceuticals. Recently released GROMACS 2022, developed using SYCL and oneAPI, exhibits strong performance running on multiple architectures, including Intel Xe architecture-based GPUs.
-
10 May 2022
Migrating the Jacobi Iterative Method from CUDA* to SYCL*
The Jacobi iterative method is used to find approximate numerical solutions for systems of linear equations of the form Ax = b in numerical linear algebra, which is diagonally dominant. The algorithm starts with an initial estimate for x and iteratively updates it until convergence. The Jacobi method is guaranteed to converge if matrix A is diagonally dominant. CUDA to SYCL migration approach This document...
-
14 April 2022
SYCL Support in Blender Under Review
Opened up at the end of March is the work-in-progress Intel oneAPI back-end for Blender's Cycles renderer. This Intel GPU back-end focused for supporting the company's forthcoming Intel Arc graphics cards is targeting the open-source oneAPI Base Toolkit and making use of SYCL. There still is more code work needed, but it's good to see this coming together to complement...
-
25 March 2022
Raytracing From CUDA to SYCL 2020
A walkthrough of converting a code from parallel C++ ray-tracing code to CUDA, and the work needed to make that CUDA code run on CPU using parallel for_each() and then converted the code to SYCL 2020. In this article, we will port Raytracing in One Weekend, the already converted parallel code to CUDA, make CUDA run on CPU and then...
-
22 March 2022
An Introduction to Programming with SYCL on Perlmutter and Beyond
SYCL is an open standard programming model that allows developers to use standard C++ code to program for a range of GPUs and other accelerator processors. This means that it is possible to develop using modern C++ code and target Nvidia, AMD and Intel GPUs from a single code base. To enable SYCL on the latest supercomputers, Codeplay has been...
-
22 February 2022
SYCL Session Episode 1 - Accelerating simulations for the Large Hadron Collider
Vincent is a physicist turned Computational Scientist and is working in conjunction with researchers at CERN who run experiments with the Large Hadron Collider (LHC). As a physicist he is of course very interested in the results from these experiments. His work focuses on the ATLAS detector, one of the general purpose experiments stationed along the LHC ring, that is...
-
10 February 2022
Heterogeneous Hardware Needs Universal Software
As hardware advances and diversifies, we’re entering what many see as a new golden age of computer architecture. However, the idea of an ever-expanding hardware landscape can be daunting for software developers, because while hardware diversity is wonderful for price and innovation, it can lead to spiraling software complexity on the back end. So many software tools are specific to...
-
10 February 2022
Getting Started With Cross-Platform Heterogeneous Computing using SYCL
Heterogeneous computing is here to stay, and it is becoming more diverse and increasingly important for all programmers to understand. Fortunately, the key concepts are easy to grasp. In this Refcard, we will walk through a thorough introduction to cross-platform heterogeneous computing, its benefits, and how to get started setting up your environment.
-
08 February 2022
Using Supercomputers To Understand Biomolecular Properties
The team performs large-scale molecular dynamics (MD) simulations using the Nanoscale Molecular Dynamics (NAMD) program in their research. 7 NAMD is a parallel MD code designed for high performance simulation of large biomolecular systems. NAMD supports biological research measuring the dynamics of cellular processes at atomic and sub-nanosecond resolution not achievable by experimental methods. The Roux team started NAMD code migration...
-
08 February 2022
SYCL - the heart of oneAPI
SYCL is the heart of oneAPI, enabling cross-platform data parallel programming in modern C++. SYCL is a Khronos standard with broad participation across research institutions and companies. Intel contributes to the development of SYCL by participating in the SYCL standard committee and contributing SYCL support to the LLVM project. The SYCL support, combined with LLVM’s SPIR-V, PTX, and CPU backends...
-
02 February 2022
Five Outstanding Additions found in SYCL 2020
SYCL 2020 is an exciting update for C++ programmers looking to take advantage of accelerators. We have both had the pleasure of contributing to the SYCL specification, a book on SYCL, and the DPC++ open source project to implement SYCL into LLVM. We would like to share our pick for our favorite new features added to SYCL in the SYCL 2020 specification....
-
21 January 2022
Developing the BLAKE3 hashing algorithm with SYCL
Last week I implemented multiple variants of highly parallelizable cryptographic hash function BLAKE3 using SYCL and today I'd like to present my collective understanding, which I gained while implementing/ benchmarking BLAKE3, targeting heterogeneous accelerator platform(s). BLAKE3 cryptographic hash function easily lends itself well to data parallel execution environments like SYCL/ OpenCL.
-
18 January 2022
IWOCL & SYCLcon Call For Presentations and Poster Sessions
Given the continued uncertainty surrounding the current COVID-19 situation and worldwide travel precautions, IWOCL and SYCLcon is prioritizing the health and safety of the global OpenCL and SYCL community and will now proceed as a virtual-only event. This year we expect add to the number of live sessions we host during the event, as well as the usual “can’t miss”...
-
05 January 2022
Exascale: ALCF and Intel to Host Aurora Learning Paths Series
The Argonne Leadership Computing Facility (ALCF) in partnership with Intel will host the ALCF Aurora Learning Paths learning seriesto explore use of oneAPI and Data Parallel C++ (DPC++), Intel’s open-source implementation of SYCL, to demonstrate methods to achieve performant, portable code across five platforms available on the Intel Devcloud. There are four modules within the series. Module 1 Introduction to...
-
22 December 2021
Aurora SYCL Hands on sessions announced
The Argonne Leadership Computing Facility (ALCF) in partnership with Intel will host a hands-on learning series that will explore the use of oneAPI and Data Parallel C++ (DPC++), Intel's open-source implementation of SYCL, to demonstrate methods to achieve performant, portable code across five different platforms available on the Intel Devcloud.
-
17 December 2021
Write your first SYCL app in less than 30 minutes
Follow along with this video tutorial to write your first SYCL app in less than 30 minutes using the DevCloud environment.
-
17 December 2021
An introduction to SYCL programming
A 30 minute presentation was made at the Intel DevFest on how to grasp the fundamentals of SYCL programming.
-
09 December 2021
Solving Heterogeneous Programming Challenges with SYCL
In the first of a series of guest posts on heterogenous computing, James Reinders, considers how SYCL will contribute to a heterogeneous future for C++. “SYCL is not a cure-all; SYCL is a solution to one aspect of a larger problem: how do we enable programming in the face of an explosion of hardware diversity that is coming?”
-
29 November 2021
Researchers Migrating to SYCL at SC21
The SuperComputing SC21 conference is over, and I've been eager to see all the SYCL papers and presentations published on various topics. I wrote about all the SYCL activities at SC21 in my previous blog post and now I want to pick out some of the highlights.
-
29 November 2021
Performance-Portable Distributed KNN Using LSH and SYCL
In the age of artificial intelligence, algorithms must efficiently cope with vast datasets. We propose a performance-portable implementation of locality-sensitive hashing (LSH), which is an approximate k-nearest neighbor (KNN) algorithm to speed up the classification on heterogeneous hardware. Our new library provides a hardware independent, yet efficient and distributed implementation of the LSH algorithm using SYCL* and message passing interface...
-
24 November 2021
Videos from the oneAPI Developer Summit
Watch hands-on tutorials, tech talks, and panels focused on SYCL development with global Industry experts from Berkeley, Argonne, NASA, Codeplay, University of Lisbon, University of Edinburgh and more.
-
24 November 2021
Bringing the Latest SYCL Research to SC21
The SuperComputing Conference (SC21) is the largest gathering of HPC professionals in the world and this year is being held as a hybrid event with both online and in person activities happening. One of the benefits I have found from online events is that it's possible to bring together a much wider group of experts with specific competencies. The SYCL...
-
09 November 2021
Join the oneAPI Developer Summit at SC21
The Final Global oneAPI DevSummit of 2021 is here! Listen to and learn from developers who are using SYCL to develop with oneAPI.
-
09 November 2021
ENCCS SYCL Workshop
Welcome to this ENCCS workshop, in collaboration with CSC Finland and Izum, Slovenia. SYCL is a C++ abstraction layer for programming heterogeneous hardware with a single-source approach. SYCL is high-level, cross-platform, and extends standard ISO C++17. You will learn to: Use the hipSYCL compiler to generate executable for multiple hardware targets.Write hardware-agnostic code to express parallelism using the queue, command...
-
05 October 2021
SYCL Summer Sessions Videos Live
Earlier this month Codeplay hosted talks by expert SYCL developers on some key topics. The video recordings are now live on the SYCL website https://sycl.tech/sessions/ Find out how to use SYCL Contexts, migrate from CUDA to SYCL and write a large simulation app using SYCL.
-
04 October 2021
Huawei News Huawei releases the Beiming Architecture with SYCL
Xiong Yan pointed out that the basic enabling software of Beiming architecture, that is, through Bisheng C++ programming language, Bisheng compiler, and Beiming fusion acceleration library, provides versatile, efficient and high-performance development capabilities for diverse computing systems. Among them, Bisheng C++ supports the SYCL heterogeneous programming standard, and realizes a language to program Kunpeng, Shengteng and mainstream computing power in...
-
23 September 2021
GROMACS adopts hipSYCL for future AMD GPU support
It was attractive to consider using SYCL in GROMACS also for AMD GPUs, since there was already effort underway in GROMACS in that direction targeting Intel GPUs. The hipSYCL (https://github.com/illuhad/hipSYCL) open-source project run at Heidelberg University already supported CPUs, as well as Nvidia and AMD GPUs in SYCL by extending existing clang toolchains, and was also funded by Intel to...
-
13 September 2021
Argonne’s 44-Petaflops ‘Polaris’ Supercomputer Will Support SYCL
A new 44-petaflops (theoretical peak) supercomputer is under construction at the Department of Energy’s Argonne National Laboratory. Called Polaris, this new supercomputing star has been selected to light the way to exascale and to Aurora, the exascale-class Intel-HPE system that’s had its delivery pushed to next year (2022).“We looked at many possible solutions with Aurora in the back of our...
-
12 August 2021
A Big Step Forward: Moving Ginkgo to SYCL
Ginkgo is a production-ready, sparse linear algebra library used for HPC on GPU architectures. It’s now using oneAPI cross-architecture programming to support its foundational design with a high level of performance portability, and focus on software sustainability. ExpertsHartwig Anzt at Karlsruhe Institute of Technology (KIT) and Univ. of Tennessee, and Terry Cojean of KIT provide their insights on lessons learned...
-
09 July 2021
oneAPI Developer Summit Videos Available
All the presentations including many from developers using SYCL are now available on the website.
-
05 July 2021
SYCL Summer Sessions call for presentations
In 2020 we launched "SYCL Summer Sessions," an online event series designed to help you learn how to write better code using SYCL. Last year we brought expert SYCL developers together to share their in depth knowledge of developing highly parallel software. The videos from last year are online and available on demand and cover some great topics useful for...
-
21 June 2021
Argonne, ORNL Award Codeplay Contract to Strengthen SYCL Support for AMD GPUs
Argonne National Laboratory (Argonne) in collaboration with Oak Ridge National Laboratory (ORNL), has awarded Codeplay Software a contract implementing the oneAPI DPC++ compiler, an implementation of the SYCL open standard software, to support AMD GPU-based high-performance compute (HPC) supercomputers.
-
18 May 2021
Porting a Particle-in-Cell Code to Exascale Architectures
As part of a series aimed at sharing best practices in preparing applications for Aurora, we highlight researchers’ efforts to optimize codes to run efficiently on graphics processing units. "Moreover, without making any changes to their code, the team will be able to take advantage of the upcoming SYCL/DPC++ implementation of Kokkos—which is expected to be highly performant and broadly...
-
13 May 2021
Sylkan: Towards a Vulkan Compute Target Platform for SYCL
In this paper, we discuss the opportunities and challenges of mapping SYCL to Vulkan, a low-level explicit programming model for GPUs. This includes an analysis of the potential semantic mismatch between each respective standard, as well as approaches to work around some of these issues. Additionally, we present a prototype research implementation of Sylkan, a SYCL compiler and runtime targeting...
-
04 May 2021
Porting a Lattice QCD Code-Suite to Exascale Architectures
The fundamental interactions between the quarks and gluons that constitute protons and nuclei can be calculated systematically by the physics theory known as lattice quantum chromodynamics (LQCD). These interactions account for 99 percent of the mass in the visible universe, but they can only be simulated with powerful computer systems such as those housed at the U.S. Department of Energy’s...
-
03 May 2021
IWOCL + SYCLcon 2021 Slides/Videos Published For Lots Of OpenCL, SYCL Technical Talks
IWOCL and SYCLcon 2021 featured talks on Intel's oneAPI, OpenCL improvements, the state of SYCL, Sylkan as a Vulkan compute implementation of SYCL, hipSYCL, OpenCL and SYCL for RISC-V, and more. Videos from these events have been uploaded to YouTube while the slide decks for most of the presentations are also available.
-
27 April 2021
What to See Online at IWOCL & SYCLcon 2021
This year is expected to be the biggest IWOCL & SYCLcon conference of all time and Codeplay is contributing with various sessions over 4 days from 26-29 April. The conference is online for the second year in a row and couldn't be easier to attend - it's free and on demand with some live elements. Register now on the conference...
-
27 April 2021
Heterogeneous Processing Requires Data Parallelization: SYCL and DPC++ are a Good Start
The learnings from both CUDA and OpenCL set the stage for the emergence of a truly popular and open solution for data parallelism based on C++ for heterogeneous systems. That solution is SYCL, which is a higher-level programming model to improve programming productivity on multiple hardware accelerators. It has quickly gained broad multivendor support, widespread interest and the support of...
-
15 April 2021
XPU Blog: Hello SYCL and DPC++
In this #xpublog post, I cover three things: What is an XPU - and why should I care?What is SYCL?, and how can it be used to make our neurotic kitten lighten up (you won't want to miss that)How can I try it out for myself using the Intel DevCloud for oneAPI (all free, easy, and very cool)
-
15 April 2021
Podcast: Acceleration at the Edge
This episode was really inspired when I saw a recent blog that John authored. It really caught my attention. While ArrayFire has expertise in CUDAand OpenCL, in this blog, John writes about the open SYCLstandard and its implementations.
-
15 April 2021
TaskFlow v3.1 : A New Tasking Model to Program SYCL
Taskflow 3.1.0 is the 2nd release in the 3.x line! This release includes several new changes such as CPU-GPU tasking, algorithm collection, enhanced web-based profiler, documentation, and unit tests.
-
24 February 2021
hipSYCL 0.9.0 - SYCL 2020 features coming to hipSYCL
hipSYCL 0.9.0 is the first release that incorporates features from the SYCL 2020 specification. SYCL 2020 is a major update on the older SYCL 1.2.1. Its highlights include a substantial amount of features that originally came from oneAPI DPC++ and have since been contributed to the SYCL 2020 specification.
-
16 February 2021
Using the new features of SYCL 2020 in BabelStream
This article explores some of the new features of SYCL 2020 and how the BabelStream benchmark has been adapted to use these features. This is a great resource if you are planning to migrate your code to the new specification version.
-
16 February 2021
Pdocast: Exascale Earthquake Simulator with SYCL
We introduce the first in a special series based on an effort aimed at sharing best practices in preparing applications for the upcoming Aurora exascale supercomputer at the US Department of Energy’s Argonne National Laboratory. The application uses RAJA as a framework to harness the acceleration of the supercomputer, and RAJA is being developed to run on GPUs using DPC++....
-
10 February 2021
SYCL 2020 Update: Includes dozens of new features and closer alignment with ISO C++
Beaverton, OR – February 9, 2021 – Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, announces the ratification and public release of the SYCL™ 2020 final specification—the open standard for single source C++ parallel programming. A major milestone encompassing years of specification development, SYCL 2020 builds on the functionality of SYCL 1.2.1 to provide...
-
03 February 2021
NERSC, ALCF, Codeplay Partner on SYCL for Next-generation Supercomputers
The National Energy Research Scientific Computing Center (NERSC) at Lawrence Berkeley National Laboratory (Berkeley Lab), in collaboration with the Argonne Leadership Computing Facility (ALCF) at Argonne National Laboratory, has signed a contract with Codeplay Software to enhance the LLVM SYCL™ GPU compiler capabilities for NVIDIA® A100 GPUs.This collaboration will help NERSC and ALCF users, along with the high-performance computing community...
-
01 February 2021
Podcast: Expanding the SYCL 2020 Ecosystem
Open standards underpin the future of heterogeneous programming, and as Intel Principal Engineer Jeff Hammond points out, SYCL has proven in many ways that “standards don’t cost you a thing and you get portability.” A modern C++ language, SYCL has demonstrated amazing growth and now boasts four implementations—ComputeCpp, triSYCL, hipSYCL and DPC++. hipSYCL Creator Aksel Alpay explains some of the...
-
20 January 2021
Solving a 2D Heat Equation Using SYCL and DPC++
A Step-by-Step Case Study Porting a C and MPI Application to DPC++ The heat equation is a problem commonly used in parallel computing tutorials. In fact, we start from one such exercise published by the Partnership for Advanced Computing in Europe (PRACE). The original code1 describes a C and MPI implementation of a 2D heat equation, discretized into a single...
-
20 January 2021
Raytracing From CUDA to SYCL 2020
How to convert a code from parallel C++ ray-tracing code to CUDA . A walkthrough of converting a code from parallel C++ ray-tracing code to CUDA, and the work needed to make that CUDA code run on CPU using parallel for_each() and then converted the code to SYCL 2020 via Intel® DPC++.
-
13 January 2021
Preparing an earthquake risk assessment application for exascale
As part of a new series aimed at sharing best practices in preparing applications for Aurora, we highlight researchers' efforts to optimize codes to run efficiently on graphics processing units (GPUs). So as to prepare for next-generation systems like Aurora, developers at the U.S. Department of Energy’s (DOE) Argonne National Laboratory are working to port the SW4 application—a multidisciplinary simulation...
-
15 December 2020
The Great Cross Architecture Challenge
Calling all C++, DPC++ and CUDA developers: You write awesome code, but does your code take full advantage of all the CPUs, GPUs, FPGA and other accelerators you have? This challenge will focus on fast, efficient future-ready cross-architecture development using SYCL with Data Parallel C++ (DPC++). No more being tied to proprietary languages that limit your ability to innovate on new hardware. CodeProject.com,...
-
15 December 2020
A Vendor-Neutral Path to Math Acceleration
Bringing Standardized APIs Across Multiple Math Domains Using SYCL and the oneAPI Math Kernel Library.The Basic Linear Algebra Subprograms (BLAS) provide key functionality across CPUs, GPUs, and other accelerators for high-performance computing and artificial intelligence. Historically, developers needed to write code for each hardware platform. And there was no easy way to port source code from one accelerator to another....
-
14 December 2020
A Guide to Migrating OpenCL Code to SYCL
This document explores the similarities and differences between the Khronos OpenCL™ and the Data Parallel C++ (DPC++) SYCL implementation, so developers will be able to transition existing OpenCL applications to DPC++ easily. This document assumes proficiency in OpenCL.
-
14 December 2020
New SYCL Ray Tracer Project
Explore this ray tracer project implemented using SYCL with inspiration from "Ray Tracing in one weekend" and help to contribute to this project.
-
03 December 2020
A Step-by-step Tutorial for Developing SYCL with DPC++
This is an introduction to the Data Parallel C++ programming model, or DPC++ for short. DPC++ is based on Khronos SYCL, which means it’s a modern C++ parallel programming model. SYCL 1.2.1 is the latest Khronos standard, although the SYCL 2020 provisional specific is available for review. Intel and other members of the SYCL working group are finalizing the next...
-
24 November 2020
Migrating CUDA Stencil code to SYCL video
Data Parallel C++ (DPC++), the C++- and SYCL-based programming language of choice in the oneAPI programming environment, promises to have a single source code that addresses multiple hardware architectures. However, starting from scratch or rewriting existing application is tedious if not out of question in most cases. The Intel® DPC++ Compatibility Tool addresses this issue by assisting in the migration...
-
16 November 2020
Intel Debuts oneAPI Gold and Provides More Details on GPU Roadmap
Intel today provided greater detail around its plans to bring a full line of GPUs (Xe) and associated programming environment to market. The biggest news from an HPC perspective was introduction of oneAPI Gold, the first productized version of Intel’s programming platform for the Xe GPU line.
-
16 November 2020
A Sobel Convolution using SYCL
The Sobel operator is a simple edge-detection filter that, when convolved with an image, produces a corresponding image with the edges emphasized. It is used primarily in computer vision or rendering applications as a precursor to downstream pipeline stages that perform inference or render various visual effects.
-
16 November 2020
Use oneAPI to Make Your C++ Application GPU Aware
In this article, we'll be accelerating an existing C++ program with GPUs
-
11 November 2020
Develop with SYCL on a RaspberryPi
Building and running a parallel code in C++17, implemented using Khronos CL/SYCL-model specification, on Raspberry Pi IoT boards.
-
10 November 2020
Join the SYCL BoF at SC20 with Bjarne Stroustrup
Khronos SYCL 2020 Release and ISO C++ 20 status and future directions @ SC20 SYCL is an open standard framework using standard ISO C++ with heterogeneous computing. SYCL 2020 is planned to be released with updates suitable for HPC. and enabling multiple backends. SYCL through Intel’s OneAPI and DPC++ is adopted to be the programming model for AURORA, the first...
-
05 November 2020
Read the SYCL Book for Free
Read this new publication "Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL" from Apress and get a free version from their website.
-
05 November 2020
In Pursuit of the Holy Grail: Portable, Performant Programming
Dr. Tom Deakin, senior research associate and lecturer in the High-Performance Computing Research Group at the University of Bristol, and Dr. James Brodman, software engineer at Intel, unpack the tricky topic of performance portability to reveal what this concept truly means and ways to achieve it. As contributors to the Khronos SYCL Working Group—from the user and implementer perspectives—they talk...
-
01 October 2020
oneAPI Academic Center of Excellence Opened at Heidelberg University
A oneAPI Academic Center of Excellence (CoE) is now established at the Heidelberg University Computing Center (URZ). The CoE will conduct research supporting the oneAPI industry initiative to create a uniform, open programming model for heterogeneous computer architectures.URZ’s work as a oneAPI CoE will add advanced DPC++ capabilities into hipSYCL, which supports systems based on AMD GPUs, NVIDIA GPUs, and CPUs....
-
11 September 2020
Bringing SYCL to Supercomputers with Celerity
“This is where Celerity comes in. It is an open source project which focuses on providing a way of scaling applications to a cluster of accelerators without having to be an expert in distributed memory programming. In fact, the Celerity API does not make it apparent that a program is running on many nodes at all”
-
25 August 2020
Brightskies Deploys Open Source RTM Application for Easy Optimization across Multiple Architectures
At Brightskies, headquartered in Alexandria, Egypt, engineering teams are focused on code optimization and cloud management for HPC applications in the oil and gas industry. Brightskies has partnered with multiple oil and gas companies and research institutions to optimize code and evolve how these companies model and use seismic data. RTM is a two-way, wave equation depth migration containing multiple...
-
14 August 2020
Codeplay’s Contribution to SYCL 2020
Members of the team at Codeplay have been working to evolve the Khronos open standard SYCL for the past 7 years, and it’s exciting for the community to be able to see SYCL 2020, the latest version of the standard. In this blog engineers from Codeplay that are also contributors to the SYCL Working Group, the team that defines the...
-
14 August 2020
Managing the Power and Promise of HPC
There is a momentum of movement towards SYCL, a Khronos® open-standard alternative, providing many of the standard C++ programming needs of scientists and other programmers. Companies like Codeplay have, in effect, reset the playing field. By clearly leading the definition of standards, companies can now use the same standard programming model with non-Nvidia processors, as well as Nvidia GPUs. This...
-
28 July 2020
SYCL for Safety Practitioners – An Introduction
“There are many resources across the internet on functional safety in software, covering a subsantial range of topics. What I recognized is that there are no resources for safety practitioners and programmers looking at developing applications with SYCL™ that are required to meet functional safety requirements. This is the first in a series of blog posts that will give readers...
-
13 July 2020
Managing the Power and Promise of High-Performance Computing
“There is a momentum of movement towards SYCL, a Khronos® open-standard alternative, providing many of the standard C++ programming needs of scientists and other programmers. Companies can now use the same standard programming model with non-Nvidia processors, as well as Nvidia GPUs. This sets a new high-water mark for standardized heterogeneous computing, ideal for enterprises that employ accelerated processors. The...
-
01 July 2020
Khronos Releases SYCL 2020 Provisional Specification
The Khronos® Group, an open consortium of industry-leading companies creating graphics and compute interoperability standards, announces the ratification and public release of the SYCL™ 2020 Provisional Specification. SYCL is a standard C++ based heterogeneous parallel programming framework for accelerating High Performance Computing (HPC), machine learning, embedded computing, and compute-intensive desktop applications on a wide range of processor architectures, including CPUs,...
-
01 July 2020
Podcast: Ronan Keryell and Jeff Hammond talk SYCL
Ronan Keryell, principal software engineer at Xilinx, and Jeff Hammond, principal engineer at Intel, explain why open collaboration — modeled through open source and open standards — is key to solving some of today’s biggest challenges in research and industry, revealing some of the misconceptions, or least understood aspects, along the way. Then they explore the value of open languages...
-
29 June 2020
Continuous Development in Tomorrow’s Automotive Software
“ADAS is constantly evolving, driven by legislation and improvements in both advanced vision algorithms and processing hardware. By fully exploiting SYCL (a C++ open standard from The Khronos Group), which is familiar to any software developer, developers can rapidly develop and maintain their applications without using special proprietary programming languages, which are bespoke for hardware and impossible to maintain or...
-
26 June 2020
Intel oneAPI DPC++ Compiler 2020-06 Released With New Features
While Intel has been providing daily snapshots of the oneAPI Data Parallel C++ (DPC++) open-source compiler, today marks the latest monthly feature compiler release to their cross-architecture language for direct programming that is based on C++ while leveraging SYCL, LLVM/Clang, and other open-source technologies for exploiting the potential of hardware from CPUs to GPUs and FPGAs.
-
09 June 2020
CppCast: Michael Wong talks about SYCL 2020
“In the latest episode of CppCast Codeplay VP of Research & Development Michael Wong talks about the provisional specification of SYCL 2020. The specification has now been released and Michael joined Rob and Jason to give an introduction to what SYCL is, and why the latest revision brings some great new features, as well as less verbose, simpler code.”
-
09 June 2020
ISO C++ and SYCL Join for the Future of Heterogeneous Programming
“SYCL was designed from the ground up to be ISO C++ first, then augmented with heterogeneous support” Find out from Codeplay VP Michael Wong how SYCL is evolving and aligning with ISO C++ to bring portable heterogeneous programming to all
-
05 June 2020
Intel oneAPI DPC++ Compiler 2020-05 Released
Intel has released oneAPI DPC++ Compiler 2020-05 as their latest snapshot for the current state of their LLVM-based Data Parallel C++ Compiler. Data Parallel C++ is Intel’s cross-architecture language for direct programming that is derived from C++. DPC++ leverages Khronos’ SYCL and the LLVM Clang compiler infrastructure so that the generated code in conjunction with the DPC++ run-time can run...
-
28 May 2020
Podcast: Porting Math Libraries Across Heterogeneous Architectures
“Codeplay Principal Software Engineer Mehdi Goli joined the Code Together podcast for a show about his work on porting the oneMKL math kernel library to run on Nvidia GPUs using SYCL and DPC++. Mehdi gave a bit of background on his experience in implementing math libraries. He talks about how important it is to have a wide set of libraries...
-
22 May 2020
Aurora Workshop Helps Researchers Prep for Exascale Computing
In late February, the ALCF hosted its third Aurora hands-on workshop in the past year. Around 100 researchers participating in the ALCF’s Aurora Early Science Program (ESP) and DOE’s Exascale Computing Project attended the three-day workshop to advance their code and software development efforts for the Intel-Cray system. Over the past year, Intel has unveiled new architectural details and tools...
-
20 May 2020
Ray-tracing in a Weekend with SYCL: Basic sphere tracing
C++ Ray-Tracing in a Weekend by Peter Shirley is a great resource to start learning about ray-tracers and how to implement one, and at the same time providing all the source code in a GitHub repository . You can find more information about his books on ray-tracing techniques with accompanying implementations on his blog, and you can also download the...
-
15 May 2020
Podcast: Sparking Innovation through Standards
Codeplay CEO Andrew Richards joined the Code Together podcast for a show entitled “Sparking Innovation through Standards” and was joined by Geoff Lowney from Intel. Andrew talked about his journey from writing computer games, to writing tools for computer games programmers, through to creating frameworks using open standards that are being used by AI and HPC developers around the world....
-
15 May 2020
Intel oneAPI DPC++ Compiler Merges Its Initial CUDA Backend
Intel’s oneAPI crew just released version 2020-03 (though one would have thought it should be 2020-05) of their Data Parallel C++ (DPC++) compiler and with this release are several new features including the NVIDIA CUDA back-end.
-
15 May 2020
How To Optimize A Parallel Stable Sort Performance
In this article I will thoroughly discuss about the several aspects of using the revolutionary new Intel® oneAPI HPC Toolkit to deliver a modern code that implements a parallel “stable” sort
-
02 May 2020
Which performance portable programming model should I use?
I want to run my code on CPUs and GPUs from different vendors without having to duplicate everything in different languages each time. Which parallel programming model should I use?
-
29 April 2020
Programming In The Parallel Universe
“This week is the eighth annual International Workshop on OpenCL, SYCL, Vulkan, and SPIR-V, and the event is available online for the very first time in its history thanks to the coronavirus pandemic. The Next Platform offers an overview of the keynotes from the conference”
-
27 April 2020
ComputeCpp v2.0.0 Release with USM
“To coincide with IWOCL and SYCLcon 2020 we are releasing ComputeCpp v2.0.0 and this brings with it some changes to our practices and support as well as adding some new features. You can download this latest release on our website.”
-
22 April 2020
Codeplay implements MKL-BLAS for NVIDIA GPUs using SYCL and DPC++
“The oneMKL BLAS library is the first math library implementation for oneAPI to enable support for NVIDIA GPUs and uses the interoperability features implemented by DPC++. This work consists of a major open source contribution to the oneAPI intiative by Codeplay. It also represents an opportunity for developers to use SYCL as an alternative to using CUDA for developing high...
-
20 April 2020
Join Codeplay Online at IWOCL & SYCLcon 2020
“Codeplay looks forward to IWOCL every year since the conference is laser focused on two of our favorite topics - OpenCL and SYCL. This year we’re particularly excited to be part of the first co-hosted IWOCL and SYCLcon, with SYCL bringing a full track of presentations to the event. As at every IWOCL conference, Codeplay is involved in a variety...
-
20 April 2020
SYCL - The Dawn of a Unified Programming Model for Heterogeneous Modern C++ at SC19
“In this guest blog, Michael Wong, Chair of the SYCL Working Group and Vice President of Research and Development at Codeplay Software Ltd, reflects on the evolution of SYCL in the past two years. Personally, I have been dreaming of something like SYCL and oneAPI since I was involved with OpenMP. Even back then, I had wished for one unified...
-
03 February 2020
Codeplay contribution to DPC++ brings SYCL support for NVIDIA GPUs
“Last year we were really excited to learn that Intel is putting a huge effort behind SYCL and has been developing oneAPI that includes DPC++ (an implementation of SYCL with extensions) for its CPUs, GPUs and FPGAs. With the additional support for SYCL from Xilinx, Renesas and Imagination Technologies, software developers are now able to target a wide range of...
-
22 January 2020
Intel Continues Improving Its SYCL Stack - Now Supports Ahead-Of-Time Compilation
“The Khronos SYCL standard as a single-source C++-based programming model for OpenCL is one of the exciting elements for Intel’s GPU compute plans with the forthcoming Xe graphics cards and fits into their oneAPI umbrella. They just released their SYCL Compiler and Runtimes 2019-12 release with numerous updates.”
-
16 January 2020
Choosing a Good Work Group Size for SYCL
” A “work group” is a 1, 2 or 3 dimensional set of threads within the thread hierarchy and contains a set of “work items,” and each of these work items maps to a “core” in a GPU. When using SYCL with an OpenCL device, the “work group” size often dictates the occupancy of the compute units. In order to...
-
06 January 2020
Experiences with SYCL for the hydrodynamics mini-app, CloverLeaf
“We have most recently ported CloverLeaf to SYCL, and this blog post demonstrates our experiences. As a starting point, we took our Kokkos port of CloverLeaf, which was already C++ throughout, with the key computational kernels already ported to C++ lambda functions. The programming abstractions from Kokkos do differ a little to those in SYCL at a high-level, however there...
-
16 December 2019
Bringing Nvidia GPU support to SYCL developers
“We are excited to announce that in 2020 we will be releasing a project that brings full support for Nvidia devices to SYCL developers. This project will be fully open source and initially includes integration with Intel’s oneAPI, however it could be integrated with other SYCL implementations. During this project our engineers have been working in conjunction with Intel’s engineers...
-
19 November 2019
Intel's oneAPI Will Run Atop NVIDIA GPUs With Codeplay's Open-Source Layer
“Codeplay, which is already known for their several Vulkan / SYCL / SPIR-V initiatives, is working on a layer to run oneAPI / DPC++ / SYCL code atop NVIDIA hardware while still leveraging NVIDIA’s CUDA drivers.”
-
17 November 2019
Intel Releases oneAPI Base Toolkit Beta For Performance-Focused, Cross-Device Software
“Since Intel announced “oneAPI” last December we have been eagerly looking forward to its availability and today is finally that day! For SC19, Intel has made available the beta of the oneAPI Base Toolkit for developing speedy code that runs cross-architecture.”
-
17 November 2019
Intel® oneAPI Toolkits Available
Intel has made available the beta of the oneAPI Base Toolkit for developing speedy code that runs across multiple processor architectures. The primary programming language is Data Parallel C++, an implementation of SYCL.
-
15 November 2019
New SYCL and DPC++ book chapter preview
This book is first-to-market on DPC++. DPC++ is an extension of C++, incorporating SYCL and other new features. By downloading these exclusive advanced chapters, you will have exposure to DPC++ and be able to provide your feedback to the team of Intel authors in anticipation of the book’s full release. The goal of this one-of-a-kind title is to support and...
-
08 November 2019
SYCL Strongly Supported by Codeplay Software at SuperComputing 2019
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...
-
29 October 2019
Debugging SYCL Applications
It’s inevitable that you will need to debug your SYCL code at some point. While many of the techniques used are similar to the way this would be done in any C++ code, there are some things to keep in mind. It’s not always easy to debug your code on the actual device you are executing on, for example a...
-
24 October 2019
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 first release will be available in November 2019. The SYCL version of TensorFlow supports a very large number of AI operations (see Graph 1) and is easily user-customisable, meaning that developers using the...
-
17 October 2019
SYCL Academy: Making it Easier to Teach and Learn SYCL
We are proud to be able 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. We are sharing them with the world to enable educators to teach and individuals to...
-
08 October 2019
Wind River Redefines Embedded Software Development with New VxWorks Release
Wind River®, a global leader in delivering software to the intelligent edge, today announced the latest release of its industry-leading real-time operating system (RTOS) VxWorks®, which has been enabling the security, safety, and deterministic performance of embedded applications for more than 30 years. Over these three-plus decades, VxWorks has continually evolved to meet the changing needs of software developers. The...
-
26 September 2019
Intel SYCL Compiler + Runtimes 2019-09 Released
Moving towards their oneAPI beta release next quarter, the Intel developers are as busy as ever advancing their LLVM-based SYCL compiler and run-times for Windows and Linux. Out this morning is the SYCL Compiler and Runtimes 2019-09 release for this compiler to allow OpenCL offloading to accelerators like Intel GPUs and FPGAs. New to this release are supporting some CL/SYCL...
-
23 September 2019
Accelerating AI Performance in an Open Software Ecosystem
In the latest White Paper from the Linley Group, Linley Gwennap examines how an open software ecosystem is critical to enable developers to write artificial intelligence software that takes full advantage of the latest processors. Gwennap says “Customers need more than just fast hardware; they need to run many different types of networks. Furthermore, customers want to evolve their algorithms...
-
22 September 2019
Why unified programming is the future of application development
DPC++ is a direct programming language based on the familiar C++ programming model and is key to oneAPI. It offers an open, cross-industry alternative to single architecture, proprietary languages, explains Savage. Teams at Intel undertook an exhaustive evaluation of existing alternatives, examining the cost, benefits, and performance of using Open CL, C++, Fortran, and Nvidia CUDA. “We wanted to build...
-
20 September 2019
AI Accelerators and open software
With the explosive interest in AI, Nvidia extended the reach of CUDA by developing containers—NGC—Nvidia GPU-accelerated Containers. The company has developed containers for AI software like TensorFlow, PyTorch, MXNet, TensorRT, RAPIDS, and others. But CUDA remains a closed, proprietary language and only runs efficiently on Nvidia GPUs. There are translation programs like AMD’s Boltzmann Initiative and HIP (Heterogeneous-compute Interface for...
-
01 September 2019
Optimizing Your SYCL Code Using Profiling
Profiling is an important activity when optimizing any application, it can help to pinpoint where the most time is being spent and identify where improvements can be made that will have the biggest impact on performance. This article will provide guidance on how to profile SYCL applications.
-
26 August 2019
Intel SYCL Compiler/Runtimes Updated With Unified Shared Memory Support
Intel has released a new version of their SYCL compiler and run-time code for single-source C++ programming and allowing offloaded computations to accelerators via OpenCL.
-
30 July 2019
Intel's LLVM-Based SYCL Compiler Continues Taking Shape
hile a bit quiet over the summer months and their Data Parallel C++ announcement was recently made, Intel’s LLVM-based SYCL compiler continues maturing and picking up new features as the beta roll-out of oneAPI is expected in Q4.
-
12 July 2019
Enabling Polymorphism in SYCL using the C++ idiom CRTP
The CRTP idiom offers an alternative approach to polymorphism by providing us with the ability to specify static interfaces, where the base class specifies the the structure of the interface, while the derived one represents the implementation. In this case, the base class does represent the interface and the derived class represents the implementation — similar to the general idea...
-
01 July 2019
ReSYCLator: Transforming CUDA C++ source code into SYCL
CUDA while very popular, is not as flexible with respect to target devices as OpenCL. While parallel algorithm research might address problems first with a CUDA C++ solution, those results are not easily portable to a target not directly supported by CUDA. In contrast, a SYCL C++ solution can operate on the larger variety of platforms supported by OpenCL. ReSYCLator...
-
01 July 2019
Comparing SYCL and CUDA
In this blog post, Jehferson Mello compares using SYCL and CUDA.
-
27 June 2019
Intel launches new C++-based language as part of One API plans
One API looks to direct programming and API programming and, in the words of an Intel blog confirming the news, will ‘deliver a unified language and libraries that offer full native code performance across a range of hardware, including CPUs, GPUs, FPGAs, and AI accelerators.’ Steven Leibson, senior content manager at Intel, added more meat to the bone in a...
-
20 June 2019
Intel’s ‘One API’ Project Delivers Unified Programming Model Across Diverse Architectures
One API contains a new direct programming language, Data Parallel C++ (DPC++), an open, cross-industry alternative to single architecture proprietary languages. DPC++ delivers parallel programming productivity and performance using a programming model familiar to developers. DPC++ is based on C++, incorporates SYCL* from the Khronos Group and includes language extensions developed in an open community process.
-
17 June 2019
SYCL Code Generation for Multigrid Methods
Multigrid methods are fast and scalable numerical solvers for partial differential equations (PDEs) that possess a large design space for implementing their algorithmic components. Code generation approaches allow formulating multigrid methods on a higher level of abstraction that can then be used to define a problem- and hardwarespecific solution. Since these problems have considerable implementation variability, it is crucial to...
-
12 June 2019
Generic Interfaces with Generic Lambdas with C++ and SYCL
C++ Lambdas, first introduced in C++11, are an important part of the way that the SYCL standard is defined and implemented. SYCL is required to handle different types and pass around functions so lambdas are a good fit allowing anonymous function objects to be passed to SYCL kernels. We talk about how we use lambdas in our guides and documentation,...
-
20 May 2019
hipSYCL Gets New Compilation Toolchain For Taking SYCL Directly To CUDA & ROCm
The hipSYCL project has introduced a new compilation toolchain for compiling SYCL code directly for CUDA and ROCm by making use of the LLVM Clang CUDA / HIP front-end. Previously hipSYCL has relied upon source-to-source transformations.
-
30 April 2019
Intel Continues Working On Their SYCL Compiler For Upstreaming To LLVM
Intel compiler developer Andrew Savonichev presented at the EuroLLVM conference earlier this month in Brussels where he talked of their SYCL work. For those wondering about the compilation flow, how SYCL code can be executed on drivers/hardware supporting SPIR-V, and other details.
-
17 April 2019
Intel: SYCL compiler - zero-cost abstraction and type safety for heterogeneous computing
Intel present the work they are doing on upstreaming their SYCL LLVM implementation.
-
03 April 2019
Codeplay Software Releases ComputeCpp Professional Edition
Codeplay Software has announced the availability of this fully supported edition of their popular SYCL implementation providing advanced features and premium technical support to developers seeking to bring advanced vision and AI productsto the market.
-
11 March 2019
Khronos Continues Working On Better OpenCL + LLVM Integration with SYCL
One of the milestones we hope will be reached this year is having SPIR-V support in mainline LLVM, but while the Khronos working group engaging on better support around LLVM isn’t there yet, the code continues improving out-of-tree.
-
11 March 2019
Khronos’ OpenCL, SYCL, and SPIR-V Standards Find Growing Synergy with LLVM’s Compiler Community
The SYCL standard from the Khronos Group is a strong candidate for the implementation of this upcoming C++ standard. One of the key concepts of SYCL is that the language used must be standard C++, with no extensions or added directives, excepting only those C++ features that cannot be executed on an OpenCL device—usually because of parallel hardware limitations. The...
-
29 January 2019
Embedded AI with PowerVR Series3NX and SYCL
Later this year we will introduce a brand-new Compute SDK, bringing everything together for developers to create their neural network applications and port them to the PowerVR Series 3NX – and it will include support for SYCL.
-
14 January 2019
Intel Looking To Add SYCL Programming Support To LLVM/Clang
SYCL, the single-source programming model developed by the Khronos Group and based upon standard C++, might soon be supported by the LLVM Clang compiler thanks to Intel.
-
10 January 2019
SYCL implementations in 2019
Here’s an up-to-date (to the best of my knowledge) image of the available #SYCL implementations and their targets. SYCL truly is one of the most portable programming models ever created #HPC #Portability Credit: Aksel Alpay, PhD student @ Heidelberg University. https://twitter.com/illuhad
-
10 December 2018
David Airlie's LPC2018 Presentation On An Open-Source CUDA
Last month at the Linux Plumbers Conference (LPC 2018) was a presentation by Red Hat’s open-source graphics driver developer David Airlie on creating a vendor-neutral compute stack that theoretically could take on NVIDIA’s CUDA dominance.
-
06 December 2018
Imagination unveils SYCL support in new PowerVR accelerator
After Imagination first announced their PowerVR Series2NX Neural Network Accelerator (NNA) last September, it has become a key part in their ambitions for AI and neural networks on the edge, with smaller devices intended for inferencing. So along with their new Series9X-P GPUs, Imagination is taking the next major step in their neural networking journey, announcing the PowerVR Series3NX Neural...
-
19 November 2018
Red Hat Developers Working Towards A Vendor-Neutral Compute Stack To Take On NVIDIA's CUDA
Longtime open-source graphics driver contributor and DRM subsystem maintainer, David Airlie of Red Hat, presented at this week’s Linux Plumbers Conference on such a compute stack. “Until now the clear market leader has been the CUDA stack from NVIDIA, which is a closed source solution that runs on Linux. Open source applications like tensorflow (AI/ML) rely on this closed stack...
-
01 October 2018
Khronos Standards for Machine Learning
The Khronos Group has launched its new interoperability standard for neural networks. The Neural Network Exchange Format (NNEF) is an open, implementation-independent way to describe neural networks designed to cut through the current tangle of framework-specific formats.
-
23 August 2018
ComputeCpp: From 0.1 to 1.0 and SYCL Conformance in 2 years
The SYCL team at Codeplay is celebrating a major milestone, one that we have been working towards for quite a few years, and we can proudly and officially say “ComputeCpp is now a SYCL 1.2.1 conformant product for OpenCL 1.2 Ubuntu 16.04 platforms.”
-
23 August 2018
Codeplay veröffentlicht mit ComputeCpp 1.0 ein SYCL-konformes Werkzeug
ComputeCpp ist ein Werkzeug zum Schreiben von C++-Code für heterogene Systeme. Es baut auf dem SYCL-1.2.1-Standard der Khronos Group auf.
-
23 August 2018
Codeplay Releases First Fully-Conformant SYCL 1.2.1 Solution for C++
Codeplay continues to lead the SYCL community, as demonstrated by the release of ComputeCpp 1.0 featuring the industry’s first fully conformant SYCL 1.2.1 implementation
-
23 August 2018
Codeplay Announces World’s First Fully-Conformant SYCL 1.2.1 Solution
Codeplay Announces World’s First Fully-Conformant SYCL 1.2.1 Solution
-
02 August 2018
Solving Maxwell's Equations on Unstructured Meshes with SYCL
Ayesha Afzal and Christian Schmitt are based at Friedrich-Alexander-Universität and part of a team working on the “HighPerMeshes” research project, a collaborative research project funded by German Ministry of Education and Research (BMBF). The project team decided to use SYCL to develop the code for their research because it allowed them to write modern C++ code that can be deployed...
-
26 July 2018
ComputeCpp CE 0.9.1 Release
The SYCL specification has been updated to SYCL v1.2.1 revision 3 providing a maintenance update to the published specification. This new revision of the SYCL specification introduces clarifications and enhancements to improve consistency. These changes, agreed by the SYCL working group, will make it easier to learn SYCL and write generic code.
-
23 July 2018
New computer architectures and next-generation numerical weather forecasting
Following Peter Bauer’s blog on scalability in this series on high-performance computing (HPC), here I discuss the emerging challenge of greater diversity in computer architectures – set to be another key topic at ECMWF’s HPC Workshop in September. In the past decade we have been used to the dominance of a single vendor in HPC processors: Intel. With their now...
-
23 July 2018
Solving Maxwell's Equations with Modern C++ and SYCL: A Case Study
In scientific computing, unstructured meshes are a crucial foundation for the simulation of real-world physical phenomena. Compared to regular grids, they allow resembling the computational domain with a much higher accuracy, which in turn leads to more efficient computations. There exists a wealth of supporting libraries and frameworks that aid programmers with the implementation of applications working on such grids,...
-
12 July 2018
Khronos Releases Conformance Test Suite for SYCL 1.2.1
The Khronos™ Group announces the availability of the SYCL™ Adopters Program for the C++-based programming framework for parallel programming. Under the Adopters Program, implementers of SYCL 1.2.1 can access an extensive conformance test suite, and then upload their test results to Khronos for review and the opportunity to become officially conformant.
-
15 May 2018
ComputeCpp v0.8.0 Is Here
Find out about the latest release of ComputeCpp
-
24 April 2018
SYCL Profiling Developed by LPGPU2 Project
The capabilities of the CodeXL project have been extended to support SYCL™ applications, and we’ve reached a key milestone. The teams at Codeplay™ are using CodeXL to ease their development and identify ways to improve their code, and soon it will be available to all SYCL developers.
-
15 March 2018
Open Standards SYCL and OpenCL in a new automotive era
MWC 2018 Codeplay Is Ushering A New Automotive Era: “Open Standards Is The Way To Go”
-
14 March 2018
Buffer Reinterpret: Viewing data from a different perspective
SYCL developers are used to strongly typed buffers, which ensure type safety for data manipulation and minimize the risk of accessing out of bounds memory. This is one of the main features of SYCL not available in OpenCL . Users, however, sometimes need more freedom to operate on their data.
-
30 January 2018
Using Template Sorcery To Implement SYCL Interoperability
Whilst developing ComputeCpp, our implementation of the SYCL standard, we’ve come across some really interesting challenges. One of these is how we ensure C++ fundamental types are translated correctly from SYCL code through to OpenCL, retaining their correct size and signedness.
-
04 January 2018
ComputeCpp v0.5.0 is released and SYCL 1.2.1 ratified
SYCL 1.2.1 has now been ratified and ComputeCpp releases a new version
-
03 January 2018
Alternative machine learning algorithms using SYCL and OpenCL
Using ComputeCpp, the open SYCL standard has been used to enable OpenCL hardware with TensorFlow, a well known deep neural network, but what about techniques that don’t use neural networks for machine learning. This article describes several techniques that can be used as an alternative to neural networks
-
03 January 2018
Renesas Accelerates NCAP Front Camera Application Development with SYCL
Renesas Electronics Corporation today announced the R-Car V3M Starter Kit to simplify and speed up the development of New Car Assessment Program (NCAP, Note 1) front camera applications, surround view systems, and LiDARs. Codeplay will enable OpenCL™ and SYCL™ on the starter kit in Q1 2018.
-
20 November 2017
Managed Virtual Pointers With SYCL
In this post we will present a utility that facilitates integrating SYCL into existing codebases that are not C++11 friendly. If your application uses malloc and frees for allocation, or has some existing CUDA®-based memory management, the “Legacy Pointer” and/or the “Managed Virtual Pointer” utilities can help you to integrate your code with SYCL.
-
03 October 2017
Windows support for SYCL with ComputeCpp
ComputeCpp, an implementation of the SYCL standard, has added support for Windows and Visual Studio.
-
22 September 2017
Renesas and Codeplay Collaborate on SYCL™ for ADAS Solutions
Codeplay will provide R-Car with ComputeCpp™, an implementation of the SYCL™ open standard, enabling single source C++ software for high level and object-oriented programming.
-
22 September 2017
SYCL solution for IMP-X5 Renesas hardware
Codeplay Software Ltd. (Edinburgh, Scotland) is adding its software expertise – including high-level programming support for cognitive vision and machine learning systems – to the R-Car platform from Renesas Electronics Corp. to create automotive processing and ADAS.
-
23 August 2017
Use SYCL™ to target SPIR-V devices
With v0.3.0, the latest ComputeCpp™ release, SPIR-V™ support for ComputeCpp has been announced. This beta implementation of SPIR-V for OpenCL™ support means that developers can use SYCL™ and ComputeCpp to develop for any OpenCL hardware that includes a driver that consumes SPIR-V.
-
18 August 2017
Using SYCL to enable TensorFlow 1.3 On Ubuntu 16.04 LTS
Find out how to set up TensorFlow v1.3 with the latest AMDGPU-Pro Driver
-
23 May 2017
Implementing OpenCL support for Eigen using SYCL
The Eigen library is probably the most popular C++-based, high-performance dense linear algebra library. In this post we will talk about how we implemented the SYCL backend for Eigen to enable support for OpenCL hardware.
-
22 May 2017
Accelerating your C++ on GPU with SYCL
Leveraging the power of graphics cards for compute applications is all the rage right now in fields such as machine learning, computer vision and high-performance computing. Technologies like OpenCL expose this power through a hardware-independent programming model, allowing you to write code which abstracts over different architecture capabilities.
-
16 May 2017
ComputeCpp support for Ubuntu 16.04 at IWOCL
Codeplay is at IWOCL 2017 this week, and is pleased to announce support for Ubuntu 16.04 and Eigen with the latest ComputeCpp Community Edition. We will also be letting developers get their hands on this version during a 4 hour tutorial at the conference. - See more at: https://www.codeplay.com/portal/05-15-17-codeplay-announces-support-for-ubuntu-16-04-and-eigen-in-computecpp#sthash.6a08BMsU.dpuf
-
14 March 2017
Distributed & Heterogeneous Programming in C/C++
The 1st Distributed & Heterogeneous Programming for C/C++ (DHPCC++) Workshop will take place on the workshop track of the International Workshop on OpenCL (IWOCL 17). IWOCL 2017 will be held in Toronto, Canada, on May 16-18, 2017.
-
14 March 2017
Get Started with Eigen and SYCL
This new project gives a starting point for developers wanting to use Eigen with SYCL. Eigen can now be run on OpenCL devices to take advantage of their parallel capabilities using ComputeCpp.
-
06 March 2017
Anisotropic Diffusion using VisionCpp and SYCL
A new tutorial has been published showing how to implement a simplified version of the Perona-Malik Anisotropic Diffusion using VisionCpp and SYCL via the ComputeCpp implementation. This technique is capable of smoothing the image preserving the edge information and can be used to get better edge detection and segmentation for vision applications.
-
20 February 2017
Bringing the acceleration of OpenCL to TensorFlow with SYCL
TensorFlow™ is an artificial intelligence framework that can be used for executing machine learning algorithms. While a computation expressed using TensorFlow can be executed across heterogeneous systems, support has so far been limited to NVIDIA ® processors using CUDA ® . In order to enable developers to access a wider range of processors, we are working to bring support for...
-
27 January 2017
Setting up TensorFlow with OpenCL using SYCL
This short post aims to guide developers through setup process for TensorFlow with OpenCL support. It’s “copy-paste” type of the post. There is nothing ground breaking in it, all the instructions can be found across other websites / forums.
-
19 January 2017
New version of Codeplay SYCL implementation available
Codeplay has released a new version of ComputeCpp Community Edition, their implementation of the SYCL standard.
-
18 January 2017
Bridging the gap on RISC-V with the open standards OpenCL and SYCL
BaySand, Codasip, Codeplay and UltraSoC are offering an IoT development platform based on the RISC-V open processor instruction set architecture (ISA).
-
19 September 2016
Early Access to the SYCL Open Standard for C++ Acceleration
At Codeplay, we believe that the full performance of today’s highly parallel devices should not be locked down to one platform, but be available to all programmers by using open standards. That is why we are giving developers free, early access to ComputeCpp™, our implementation of the SYCL™ open standard. The SYCL specification from the Khronos™ Group is for developers...
-
19 September 2016
VisionCpp: Hello World Example Released
This page is to give a brief introduction of a Hello World for VisionCpp. VisionCpp is a high-level computer vision framework that supports the development of performance portable computer vision applications running on OpenCL-accelerated platforms. Taking advantage of SYCL’s “single-source programming style”, VisionCpp allows programmers to easily develop custom vision operations in C++ and maintain type safety across host CPU...
-
25 August 2016
Khronos Releases SYCL 2.2 Provisional Specification
April 18th 2016 – International Workshop on OpenCL, Vienna – 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...
-
15 June 2016
Khronos Releases SYCL 1.2 Final Specification
May 11th 2015, IWOCL, Stanford University, CA – The Khronos™ Group,an open consortium of leading hardware and software companies, today announced the ratification and public release of the finalized SYCL ™ 1.2 specification. SYCL for OpenCL™ enables code for heterogeneous processors to be written in a “single-source” style using completely standard C++. The multi-vendor SYCL 1.2 standard is available royalty-free...
-
26 May 2016
Khronos Works On SYCL For Pushing OpenCL In C++
Rounding out today’s Khronos Group announcements of WebCL 1.0 and EGL 1.5 from the Game Developer’s Conference is word of a new provisional specification for SYCL.
-
26 May 2016
ComputeCpp™ delivering SYCL™ based technologies
Codeplay Software today announced ComputeCpp, an easy-to-use standards-based product for lowering the power consumption and increasing the performance of C++ software. The first commercial release of ComputeCpp will support SYCL™ for OpenCL™, the open-standard C++ programming model from The Khronos Group. SYCL allows C++ application developers to write high-performance modern C++ and deploy it to multiple processor cores without hardware-specific...
-
26 May 2016
Khronos Releases Wave of New Standards
Web, 3D and OpenCL developers all benefit from latest updates to the Khronos suite of open, royalty free industry standards.
-
26 May 2016
Khronos Updates OpenCL and SYCL Specifications
November 18th, 2014, – The Khronos™ Group today announced the ratification and public release of updated OpenCL™ 2.0 and Provisional SYCL™ 1.2 specifications. The new specifications integrate feedback from the developer community, align with the latest C++ developments, and increase implementation consistency for improved portability of heterogeneous parallel applications. The latest OpenCL and SYCL specifications are open, royalty-free and available...