Let's Talk Open Specifications and oneAPI @ Intel® Innovation

Get the Latest on All Things CODE

author-image

作者

Aug. 30, 2022 – In my last post, I reiterated the importance of open source software and how it plays a role in technology innovation. Just as important as open source software, open specifications provide a solid base that developers can use to confidently and rapidly build technology.

As part of the Open Accelerated Computing track at Intel® Innovation, you will learn how the oneAPI specification can be harnessed to create multi-architecture, cross-vendor solutions using a single programming model. Over the years, Intel has supported open hardware and software standards like Universal Serial Bus (USB) and Peripheral Component Interconnect Express (PCIe). The existence and widespread support of these standards has allowed developers and companies to build technology that has changed the world, assuring that their solutions can be leveraged across software and hardware ecosystems.

Rather than programming in a vendor-specific language, oneAPI is built on ISO C++ and The Khronos Group SYCL* standard. The Khronos Group supports  a number of very well-known standards like OpenGL, OpenCL™, Vulkan, and WebGL. Graphics developers have long been able to focus on how to build the best experiences on top of well-defined functionality provided by hardware vendors. These standards have driven significant benefits to users in the last few decades. A session on SYCL Basics is offered at Innovation by James Reinders, author of 10 technical books on parallel computing, and Andrew Richards, CEO & founder of Codeplay, a pioneer in GPU acceleration.

Just as these abstractions have aligned hardware companies around interfaces for accelerated graphics, oneAPI aligns companies around interfaces for compute acceleration. In addition to supporting C++ with SYCL, oneAPI also provides a variety of interfaces for standardizing the building blocks for deep learning applications, video processing, ray tracing, high-performance computing/vector math operations, and more. Since interoperability is important to any developer, oneAPI also works alongside existing models of compute acceleration like OpenMP. This ecosystem provides a robust set of functionality and interoperability for developers really looking to push compute accelerators to the limit.

In support of the oneAPI specification, Intel provides implementations of these library interfaces, a C++ with SYCL compiler capable of targeting a variety of hardware architectures, and a variety of tools for developers. The compiler is built using the modern LLVM infrastructure, for which most major hardware companies provide backends. The initial implementations of the libraries are built on top of widely used, well-known software, and the tools are free to developers via a community license. You can learn more about Intel’s compilers, how they support accelerated computing, and future directions from VP & GM of Compiler Engineering, Steven Hikida, in his Next Generation Compiler Technologies session at Innovation.

Migrating a code base may be challenging, so the SYCLomatic project was created to assist developers with migrating their code from Nvidia CUDA*, a proprietary vendor code, to C++ with SYCL. This tool is actively being used to migrate several large projects to C++ with SYCL, and examples of its usage have been posted by various members of the oneAPI community. In addition, Intel has provided a walkthrough of how to leverage this tool in your migration efforts. The CUDA to Cross Vendor Standards Made Easy session at Innovation offers hands-on demonstrations of SYCLomatic, details on how it works, and lessons from real-world use cases.

Of course, an open specification needs support from a variety of vendors to really provide value. This is why it is exciting to see how oneAPI is gaining momentum with software and hardware vendors. TensorFlow recently made the oneAPI Deep Neural Network (oneDNN) library code path the default option on Linux* x86 packages in their 2.9 release. In addition, a variety of companies are leveraging an ARM architecture implementation of the oneDNN interface. This work helped Fugaku claim the title of the world’s faster supercomputer.

The oneAPI specification allows developers to spend less time writing code in a variety of vendor-specific languages, and more time coming up with the next big innovation. If you are interested in any of the technology contributions mentioned in this article, you can hear more by attending Intel Innovation from September 27–28, 2022 in San Jose California.

If you want to see what random tech news I’m reading, you can follow me on Twitter.

Tony is a Software Architect and Technical Evangelist at Intel. He has worked on several software developer tools and most recently led the software engineering team that built the data center platform which enabled Habana’s scalable MLPerf solution.