TL; DR: In an era of constant innovation, oneAPI is on a mission to connect a variety of technologies and help them work together. The platform boosts productivity and efficiency by allowing developers to apply one instance of code to a wide variety of servers and hardware. oneAPI addresses existing inefficiencies, and it takes a transparent, open-source approach to implement its vision. The goal is for oneAPI to become the industry standard and help more people build automation into their workflows.
There is a glaring problem in the world of modern computing: inefficient programming on heterogeneous systems. Disparate systems that weren’t designed to communicate or operate with each other are often at the root of the problem.
But as ineffective as these technologies often are, individuals and organizations rely on them to accomplish everyday tasks. The creators of oneAPI set out to develop an open and transparent approach to program heterogeneous systems.
The organization’s mission is to define a common API to program heterogeneous systems more efficiently.
“If I’m a developer, I don’t know what vendor servers or hardware I’m going to be using 20 years from now and I don’t want to have to re-code every time I move to a different architecture,” Henry said. “We want oneAPI to become the de facto industry standard against which anyone can develop code and have it run regardless of the underlying architecture.”
oneAPI includes 10 core elements, and the company’s website outlines their uses in detail. Each was developed based on community feedback.
That community, and its adoption of oneAPI, is growing.
Intel and many other vendors around the world now use oneAPI. The company announced it would partner with the Institute of Computing Technology of the Chinese Academy of Sciences to build the first oneAPI Center of Excellence in China.
oneAPI touts itself as a way to “say goodbye to proprietary lock-in, realize all of the hardware value, and perform code quickly and correctly,” according to its website.
And true to the community-based approach, oneAPI offers a place for those in the development community to show off their newest projects using oneAPI. The site also provides learning paths, webinars, toolkits, and everything necessary for any developer to jump in and join the community.
Addressing Inefficiencies in Modern Computing
Henry has a data science background and now serves as Senior Principal Engineer, Software and Advanced Technologies at Intel. He said oneAPI seeks to address one dichotomy of the technology world head-on.
“You’re always trying to find a balance between developer productivity and code performance,” Henry said. “In some places, performance is key, and nothing else matters. For others, developer productivity is key. oneAPI gives a balance between those two.”
oneAPI offers both power and efficiency, which helps bridge the gap and push innovation forward. It adds more specialized architectures and servers every day to level the playing field.
“Today, you have might have multiple processor architectures within one system: CPUs, integrated GPUs, discrete GPUs, and possibly even an FPGA,” Henry said. “oneAPI gives me the ability to offload computations to the most appropriate processor. It is a response to that increasing heterogeneity.”
According to Henry, oneAPI value proposition boils down to offering freedom and flexibility.
“I would tell the professional developer walking down the street that oneAPI is freedom of choice,” he said. “Your code is not bound to a particular vendor or architecture.”
And oneAPI ensures that this freedom is built on openness and community collaboration.
Taking a Transparent, Open-Source Approach
One of the most essential aspects of oneAPI is its technical advisory board. The board, which includes customers, research institutes, and other stakeholders, helps gather and direct feedback for the organization.
Henry Gabb, Senior Principal Engineer at Intel
The technical advisory board (TAB) meeting notes are available online, so anyone can see developments and planned improvements.
“oneAPI is open-source, based on collaboration, and maintained robustly,” Henry said.
oneAPI also has an active Discord community that shares feedback and new use cases in settings around the world.
Henry said that oneAPI is useful in systems with multiple accelerators. I can offload work to all of them.
And oneAPI users will undoubtedly find an array of use cases for such a powerful system as technology continues to evolve.
oneAPI: Future Innovations Include Automated Dispatching
oneAPI version 1.1 was recently released, and version 1.2 is in the works. With so much momentum and industry adoption, oneAPI seems well on its way to achieving its goal of providing an open, community-driven approach to heterogenous parallel computing.
According to Henry, it shouldn’t matter what new architectures are coming. Coding to the oneAPI specification today should help make software future proof.