Building the Largest Open Ecosystem for Accelerators
I’ve been lucky enough to have been close to three major shifts in the technology industry during my working life. The first was when mobile software dramatically changed what was possible on handheld computers, the second was when cloud computing brought large-scale computing to everyone, and the third is the current rapid growth in accelerated computing. There is a change happening in computer architecture where the idea of “heterogeneous computing” is coming to life. Heterogeneous computing is a term used to describe computer architectures that consist of multiple types of processors, such as CPUs and GPUs but also increasingly dedicated chips for uses like AI, and whilst it is not a new term it is driving a major shift in the industry.
The increasing demand for data intensive workloads has led to proliferation in the use of GPUs, and most recently the emergence of LLM (Large Language Model) based AI applications has created an explosion in GPU usage, as well as a lot of public attention. For the past 10 years there has been a consistent and rapid upwards trend of GPU use in fields like science and finance, and now almost all the top supercomputers in the world include large numbers of GPUs as part of their architectures. 75% of software developers are using, or plan to use, high performance computing (HPC) according to the 2023 Evans Data developer survey demonstrating that accelerator usage is on the rise. The challenge we are facing right now is that, where Linux and GNU transformed the software stack for CPUs using open source and standards based projects, the GPU software stack is still quite new and standards are in some areas, especially AI, still being defined. What's more, there is an expectation that specialized processors specifically designed for the latest workloads, like AI, will require a standards based software stack in the coming years. We are entering a new era of computer architectures, and it is highly heterogeneous.
A Pivotal Moment for Heterogeneous Computing
This change brings a big opportunity to define and build a
platform that brings performance portability. For accelerated computing to become pervasive it needs to be based on
open standards and include multiple vendors and architectures. To achieve this goal we have announced the Unified Acceleration (UXL) Foundation, hosted by
the Linux Foundation's Joint Development Foundation. The UXL Foundation brings together founding Steering Members
from across the industry - Arm®, Fujitsu®, Google®, Imagination Technologies®, Intel®,
Qualcomm® Technologies Inc and Samsung®. We also look forward to welcoming more organizations
and individuals to join us on our mission - together we can build a multi-architecture and multi-vendor programming
model for all accelerators based on open source and standards.
Building on Existing Momentum
My role at Codeplay® for nearly seven years has involved helping to build a community around open standard programming for accelerators such as GPUs. The primary focus was with SYCL™, a Khronos open standard, and since the first specification more than 7 years ago a healthy ecosystem has evolved with multiple implementations, adoption from processor vendors and widespread use across the developer community. To complement this, over the past four years the oneAPI specification and projects have been developed. I have been closely involved in helping to bring multi-vendor targets to some of the oneAPI projects, working directly with US National Laboratories to bring SYCL and oneAPI to some of the fastest supercomputers in the world.
The oneAPI specification and implementation projects bring compatibility with SYCL using an open source compiler implementation based on LLVM Clang called DPC++. This makes it possible to enable multi-vendor targets whilst taking advantage of the power and performance portability offered by the SYCL programming model. The foundation will build on this significant work with the oneAPI specification and open source projects being contributed to the foundation by Intel. The new governance will be used to drive increased collaboration across processor vendors and software developers. We will also collaborate with aligned standards bodies, like Khronos and ISO C++ who are developing standards that the UXL Foundation uses.
The foundation will continue to define the specification for core libraries interfaces that implement fundamental operations for things like math and AI and have dependencies where relevant on industry standards like ISO C++ and BLAS. The open source projects implement the specification and already have multi-vendor targets, with developers already writing code that is being run on AMD, Arm, Intel and NVIDIA processors from a single code base, and often a single binary.
Key Objectives and Strategies
The UXL Foundation has a transformative vision for the future of accelerated
computing. By building on the oneAPI specification and harnessing industry based open standards like SYCL and ISO
C++ we will define a vendor neutral way to develop software for heterogeneous architectures by embracing neutrality
and independence. Alongside this the community will work together to evolve the open source implementations to meet
the needs of everyone.
Get Involved Today
The existing Special Interest Groups (SIGs) will continue to run regularly for AI, Hardware, Image, Language and Math and you can join the next sessions, head over to the GitHub repository for details.
Our initial work will involve the transition of the open source projects to the UXL Foundation and we will share our initial goals and roadmap during the remainder of 2023.
Join us on this journey to build the largest open ecosystem for accelerated computing.
Visit our launch page to find out more about the specification, open source projects and membership.
SYCL and Khronos are trademarks of the Khronos® Group. Codeplay is a registered trademark of Codeplay Software Ltd.
Nvidia and CUDA are registered trademark of NVIDIA Corporation. AMD is a registered trademark of Advanced Micro
Devices, Inc. Intel is a trademark of Intel Corporation in the U.S. and/or other countries. Arm is a registered
trademark of Arm Limited (or its subsidiaries or affiliates) in the US and/or elsewhere. Fujtsu is a trademark of