Content deleted Content added
Citation bot (talk | contribs) Alter: template type. Add: s2cid, year. | Use this bot. Report bugs. | Suggested by SemperIocundus | #UCB_webform 971/2500 |
|||
(42 intermediate revisions by 23 users not shown) | |||
Line 1:
{{lowercase title}}▼
{{short description|Open standard for parallel computing}}
▲{{lowercase title}}
{{otheruses|OneAPI (disambiguation)}}
{{Infobox software
| name = oneAPI
Line 14:
}}
'''oneAPI''' is an [[open standard]], adopted by Intel,{{sfn|Fortenberry|Tomov|2022|p=22}} for a unified [[application programming interface]] (API) intended to be used across different
oneAPI competes with other GPU computing stacks: [[CUDA]] by [[Nvidia]] and [[ROCm]] by [[AMD]].
The oneAPI specification extends existing developer programming models to enable multiple hardware architectures through a data-parallel language, a set of library APIs, and a low-level hardware interface to support cross-architecture programming. It builds upon industry standards and provides an open, cross-platform developer stack.<ref name="spec">{{cite web |url=https://www.oneapi.io/spec/ |title=oneAPI Specification |last= |first= |date= |website=oneAPI |url-status=live |archive-url= |archive-date= |access-date=}}</ref><ref>{{Cite web|date=2021-03-23|title=Preparing for the Arrival of Intel's Discrete High-Performance GPUs|url=https://www.hpcwire.com/2021/03/23/preparing-for-the-arrival-of-intels-discrete-high-performance-gpus/|access-date=2021-03-29|website=HPCwire|language=en-US}}</ref>▼
== Specification ==
▲The oneAPI specification extends existing developer programming models to enable multiple hardware architectures through a data-parallel language, a set of library APIs, and a low-level hardware interface to support cross-architecture programming. It builds upon industry standards and provides an open, cross-platform developer stack.<ref name="spec">{{cite web |url=https://www.oneapi.io/spec/ |title=oneAPI Specification |last= |first= |date= |website=oneAPI
== Data Parallel C++ ==
[[Intel_C%2B%2B_Compiler|DPC++]]<ref>{{Cite web|url=https://www.apress.com/gp/data-parallel-c-advanced-chapters-just-released/17382670|title=Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems Using C++ and SYCL|last=|first=|date=|website=Apress
==
The set of APIs<ref name="spec" /> spans several domains
{| class="wikitable"
!'''Library Name'''
Line 59 ⟶ 61:
|}
The [[source code]] of
The oneAPI documentation also lists the "Level Zero" API defining the low-level direct-to-metal interfaces and a set
== Hardware abstraction layer ==
oneAPI Level Zero,<ref>{{Cite web|url=https://www.tomshardware.com/news/intel-releases-bare-metal-oneapi-level-zero-specification|title=Intel Releases Bare-Metal oneAPI Level Zero Specification|last=Verheyde 2019-12-08T16:11:19Z|first=Arne|website=Tom's Hardware|date=8 December 2019 |language=en|access-date=2020-02-11}}</ref><ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Intel-oneAPI-Level-Zero|title=Intel's Compute Runtime Adds oneAPI Level Zero Support - Phoronix|website=www.phoronix.com|access-date=2020-03-10}}</ref><ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=article&item=intel-level-zero&num=1|title=Initial Benchmarks With Intel oneAPI Level Zero Performance - Phoronix|website=www.phoronix.com|access-date=2020-04-13}}</ref> the low-level hardware interface, defines a set of capabilities and services that a hardware accelerator needs to interface with compiler runtimes and other developer tools.
== Implementations ==
[[Intel]] has released oneAPI production
[[Codeplay]] has released an open-source layer<ref>{{Cite web|url=https://www.hpcwire.com/2020/02/04/codeplay-open-sources-a-version-of-computecpp-for-nvidia-gpus/|title=Codeplay Open Sources a Version of DPC++ for Nvidia GPUs|date=2020-02-05|website=HPCwire|language=en-US|access-date=2020-02-12}}</ref><ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Intel-oneAPI-DPC-SYCL-NVIDIA-CU|title=Intel's oneAPI / DPC++ / SYCL Will Run Atop NVIDIA GPUs With Open-Source Layer - Phoronix|website=www.phoronix.com|access-date=2019-12-06}}</ref><ref>{{Cite web|url=https://www.codeplay.com/portal/02-03-20-codeplay-contribution-to-dpcpp-brings-sycl-support-for-nvidia-gpus|title=Codeplay - Codeplay contribution to DPC++ brings SYCL support for NVIDIA GPUs|website=www.codeplay.com|access-date=2020-02-11}}</ref> to allow oneAPI and [[SYCL|SYCL/DPC++]] to run atop [[Nvidia]] [[GPU]]s via [[CUDA]].
[[Heidelberg University|University of Heidelberg]] has developed a SYCL/DPC++ implementation for both AMD and Nvidia GPUs.<ref>{{Cite web|last=Salter|first=Jim|date=2020-09-30|title=Intel, Heidelberg University team up to bring Radeon GPU support to AI|url=https://arstechnica.com/gadgets/2020/09/intel-heidelberg-university-team-up-to-bring-radeon-gpu-support-to-ai/|access-date=2021-10-07|website=Ars Technica|language=en-us}}</ref>
[[Huawei]] released a DPC++ compiler for their Ascend AI Chipset<ref>{{Citation|title=Extending DPC++ with Support for Huawei Ascend AI Chipset| date=27 April 2021 |url=https://www.youtube.com/watch?v=7foee4_QkbU|language=en|access-date=2021-10-07}}</ref>
[[Fujitsu]] has created an open-source [[ARM architecture|ARM]] version of the oneAPI Deep Neural Network Library (oneDNN)<ref>{{Cite web|last=fltech|date= 19 November 2020|title=A Deep Dive into a Deep Learning Library for the A64FX Fugaku CPU - The Development Story in the Developer's Own Words|url=https://blog.fltech.dev/entry/2020/11/19/fugaku-onednn-deep-dive-en|access-date=2021-02-10|website=fltech - 富士通研究所の技術ブログ|language=ja}}</ref> for their [[Fugaku (supercomputer)|Fugaku CPU]].
== Unified Acceleration Foundation (UXL) and the future for oneAPI{{anchor|UXL}} ==
Unified Acceleration Foundation (UXL) is a new technology consortium that are working on the continuation of the OneAPI initiative, with the goal to create a new open standard accelerator software ecosystem, related open standards and specification projects through Working Groups and Special Interest Groups (SIGs). The goal will compete with Nvidia's CUDA. The main companies behind it are Intel, Google, ARM, Qualcomm, Samsung, Imagination, and VMware.<ref>{{Cite web |title=Exclusive: Behind the plot to break Nvidia's grip on AI by targeting software |website=[[Reuters]] |url=https://www.reuters.com/technology/behind-plot-break-nvidias-grip-ai-by-targeting-software-2024-03-25/ |access-date=2024-04-05}}</ref>
==References==
{{reflist}}
== Sources ==
* {{cite conference |url= https://icl.utk.edu/files/publications/2022/icl-utk-1616-2022.pdf |title=Extending MAGMA Portability with OneAPI |last1=Fortenberry |first1=Anna |last2=Tomov |first2=Stanimire |date=2022 |publisher=[[IEEE]] |book-title= |pages=22–31 |___location= |conference=2022 Workshop on Accelerator Programming Using Directives (WACCPD) |id=}} .
== External links ==
* {{official website
*
* [https://www.codeplay.com/portal/12-16-19-bringing-nvidia-gpu-support-to-sycl-developers Bringing Nvidia GPU support to SYCL developers]
* {{cite book |display-authors= 1 |first1= James |last1= Reinders |first2= Ben |last2= Ashbaugh |first3= James |last3= Brodman |first4= Michael |last4= Kinsner |first5= John |last5= Pennycook |first6= Xinmin |last6= Tian |url= https://link.springer.com/book/10.1007/978-1-4842-5574-2 |title= Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL |publisher= Springer |isbn= 978-1-4842-5574-2 |doi= 10.1007/978-1-4842-5574-2 |series= Open Access Book |year= 2021 |s2cid= 226231933 }}
* [https://developer.codeplay.com/products/oneapi/nvidia/2025.1.0/guides/index oneAPI for NVIDIA GPUs 2025.1.0]
* [https://developer.codeplay.com/products/oneapi/amd/2025.1.0/guides/index oneAPI for AMD GPUs 2025.1.0]
[[Category:Application programming interfaces]]
[[Category:Cross-platform software]]
[[Category:Intel software]]
|