Intel® oneAPI
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.
Intel® oneAPI Base Toolkit
Use Case
Develop performant, data-centric applications across Intel® CPUs, GPUs, and FPGAs with this foundational toolset.
Intel® oneAPI HPC Toolkit
Use Case
Build, analyze, and scale applications across shared- and distributed-memory computing systems.
Intel® System Bring-up Toolkit
Use Case
Strengthen system reliability with hardware and software insight, and optimize power and performance.
Intel® oneAPI AI Analytics Toolkit
Use Case
Accelerate end-to-end data science and machine learning pipelines using Python* tools and frameworks.
Intel® Distribution of OpenVINO toolkit (Powered by oneAPI)
Use Case
Deploy high-performance inference applications from edge to cloud.
Intel® oneAPI Rendering Toolkit
Use Case
Create high-fidelity, photorealistic experiences that push the boundaries of visualization.
Intel® oneAPI IoT Toolkit
Use Case
Fast-track development of applications and solutions that run at the network's edge.