oneAPI is a cross-industry, open, standards-based unified programming model that delivers a common developer experience across accelerator architectures-for faster application performance, more productivity, and greater innovation. The oneAPI industry initiative encourages collaboration on the oneAPI specification and compatible oneAPI implementations across the ecosystem.
Programming Challenges For Multiple Architectures
In today’s HPC landscape, several hardware architectures are available for running workloads – CPUs, GPUs, FPGAs, and specialized accelerators. No single architecture is best for every workload, so using a mix of architectures leads to the best performance across the most scenarios. However, this architecture diversity leads to some challenges:
Each architecture requires separate programming models and toolchains:
- Required training and licensing – compiler, IDE, debugger, analytics/monitoring tool, deployment tool – per architecture
- Challenging to debug, monitor, and maintain cross-architectural source code
- Difficult integration across proprietary IPs and architectures and no code re-use
Software development complexity limits freedom of architectural choice.
- Isolated investments required for technical expertise to overcome the barrier-to-entry
How oneAPI Can Help
- OneAPI delivers a unified programming model that simplifies development across diverse architectures. With the oneAPI programming model, developers can target different hardware platforms with the same language and libraries and can develop and optimize code on different platforms using the same set of debug and performance analysis tools.
- Using the same language across platforms and hardware architectures makes source code easier to re-use; even if platform specific optimization is still required when code is moved to a different hardware architecture, no code translation is required anymore. And using a common language and set of tools results in faster training for new developers, faster debug and higher productivity.
Intel® oneAPI Toolkits
Toolkits contain optimized compilers, libraries, frameworks, and analysis tools purpose-built for developers who perform similar tasks. They include implementations of the oneAPI specification along with complementary tools to develop and deploy applications and solutions across Intel® CPU and XPU architectures.
For most developers
Intel® oneAPI Base Toolkit
Develop performant, data-centric applications across Intel® CPUs, GPUs, and FPGAs with this foundational toolset.
For HPC developers
Intel® oneAPI HPC Toolkit
Build, analyze, and scale applications across shared- and distributed-memory computing systems.
For system engineers
Intel® System Bring-up Toolkit
Strengthen system reliability with hardware and software insight, and optimize power and performance.
For data scientists and AI developers
Intel® oneAPI AI Analytics Toolkit
Accelerate end-to-end data science and machine learning pipelines using Python* tools and frameworks.
For deep learning inference developers
Intel® Distribution of OpenVINO toolkit (Powered by oneAPI)
Deploy high-performance inference applications from edge to cloud.
For visual creators, scientists, and engineers
Intel® oneAPI Rendering Toolkit
Create high-fidelity, photorealistic experiences that push the boundaries of visualization.
For edge device and IoT developers
Intel® oneAPI IoT Toolkit
Fast-track development of applications and solutions that run at the network's edge.