Intel pushes support for multiple architectures in oneAPI toolkits – The New Stack

Intel has long been the leading maker of compute chips for servers, PCs and a range of other enterprise systems, with market shares in the 80% to over 90% range for many of these categories.

However, over the past decade, Intel has seen competitive waters become increasingly choppy. It’s only thanks to AMD’s ramp-up on the strength of chips built on its Zen and Arm microarchitecture paving the way for its low-power architecture in the mobile world and in the data center, but also the ramp-up accelerators like GPUs from Nvidia, AMD now Intel, Field Programmable Gate Arrays (FPGAs) and more specific silicon like DPUs (Data and Digital Processing Units), IPUs (Intelligence Processing Units or Intel infrastructure processing unit for cloud and communication service providers), to name a few.

The growing diversity of system chips and accelerators made life difficult for developers who had to switch between architectures, juggling different tools for each.

“The days of ‘one size fits all’ hardware – if there ever was one – are over”, James Reinders, an engineer at Intel, told The New Stack. “Now we see more and more new hardware designed to grab a piece of the pie by being a better mousetrap. Battles for the ‘best GPU’ are heating up, but FPGA solutions and ASICs or custom designs to accelerate machine learning, inference and other AIs are too [artificial intelligence] workloads.

Consistency is key

In such environments, developers need to be able to deploy software consistently across the enterprise, which starts with helping them program programs that consistently span diversity, Reinders said. This was the genesis of Intel’s oneAPI program, which was announced in 2018 and, after going through beta, became generally available in 2020.

OneAPI is designed to provide developers with a unified, open, standards-based programming model for Intel’s growing line of hardware, including its processors and accelerators such as GPUs and FPGAs.

“For applications to span so many different types of accelerator hardware, we need solutions that help software developers,” Reinders said. “OneAPI achieves this by universally adopting an “all accelerators are accessible” approach in the same way. As a developer, I’d like to learn how to program once and use it regardless of hardware.

This includes everything from debuggers and libraries to compilers, analysis tools and frameworks, all of which can support hardware rather than needing a different tool for each innovation or hardware vendor. What is needed when programming a heterogeneous machine – those that use accelerators – includes enumerating available devices at runtime, offloading work to available devices, error recovery, security , security, a full set of developer tools, and “prebuilt solution” libraries to make programming easier, he says.

OneAPI comes with an open, multi-vendor, multi-architecture approach to dealing with heterogeneous computing, according to Reinders.

Software becomes a priority at Intel

Software has become a key focus for Intel. Over the past year under the leadership of the CEO Pat Gelsinger, the company has taken steps and investments to secure its position as a key chipmaker. However, Gelsinger also took a “software-first” approach, a recognition that in an age of hybrid and edge clouds, an explosion of generated data, and emerging workloads like AI, machine learning and analysis, the common unifying factor is software.

Gelsinger brought Greg Lavender as corporate CTO and senior vice president and general manager of Intel’s new Advanced Software and Technology Group. Lavender told reporters last year that “Intel’s point of view is to give the market choice, to give developers choice and we want to be the trusted partner that will deliver significant amounts of open source technology. , which we already do but we haven’t talked much about it in the last few years.

New oneAPI 2022 toolkits

Intel recently released its oneAPI 2022 toolkits, which further expand the number of cross-architecture features developers can leverage, including high-performance support for programming in languages ​​such as Python, C++, OpenMP, MPI , Fortran, SYCL and C via the oneAPI libraries. .

The fourth version of oneAPI tools – 2021.4 – includes new cross-architecture features like a unified compiler implementing C++, SYCL and Fortran for CPUs and GPUs using a common LLVM backend, data-parallel Python for CPUs and GPUs for accelerated computing and improvement DPC++ compatibility tool to automatically migrate up to 95% of CUDA code to SYCL/DPC++. CUDA is the programming model developed by Nvidia for its GPUs in heterogeneous computing environments.

Cross-architecture support for developers

Intel officials pointed to a Evans data survey that showed that 40% of developers target heterogeneous systems, which need software that can bridge the processors and accelerators that power them. OneAPI uses an open approach to support these machines, regardless of vendor or architecture.

“We need that kind of future to take advantage of the rich diversity of hardware platforms that we’ll want to benefit from,” Reinders said. “If we fail to help software cover this diversity of hardware by being multi-architecture, then we will have an explosion in the number of software stacks that need to be supported on various machines.”

The result would be higher IT costs for deploying the systems and for developers to support them, he said.

The new toolkit also supports current and upcoming new chips, including Intel processors such as its Xeon “Sapphire Rapids” processors – the fourth generation of the vendor’s Xeon Scalable processor offerings – and Xe GPUs for data center systems and customers.

Other new features include 10x better deep learning framework performance through optimization improvements for open source machine learning platforms TensorFlow and PyTorch, Intel Neural Compressor for better machine learning inference performance, CPU and accelerator performance analysis, advanced ray tracing, and expanded development environment support, including deeper Microsoft Visual Studio integration Code, Microsoft Visual Studio 2022 and Microsoft WSL2 support for Linux development on Windows.

Common languages ​​and tools

A key for oneAPI is to make sure it includes common tools and languages ​​developers have worked with before, rather than forcing them to learn something new, Reinders said.

“If I’m a Python programmer or a data scientist, [Python] must be in the Python frameworks and libraries I use,” he said. “If I’m a C++ programmer, it must be in the debuggers, performance monitors, compilers, and libraries I use. If I’m a Fortran programmer, this should also be in my debuggers, parsers, libraries, and compiler support. …Having the “all accelerators are accessible” approach needs to be serious so that each accelerator can really shine when accessible.

oneAPI 2022 toolkits are now available for free for download or via Intel DevCloud

Feature image via Pixabay

About Jon Moses

Check Also

Intel promises “substantial contributions” to the growth of RISC-V • The Register

Analysis Here’s something that would have seemed odd just a few years ago: to help …