目录
oneAPI是什么?
oneAPI的优越性/为什么使用oneAPI?
oneAPI包括什么?
DPC++:为oneAPI而设计的编程语言
丰富的oneAPI工具包
oneAPI:未来可期
oneAPI是统一的开发工具组合和软件接口,oneAPI可以让开发人员在CPU、GPU、FPGA、AI加速器等计算架构上实现“高效开发,任意扩展”。如英特尔软件战略与技术沟通会上,英特尔架构、图形与软件部副总裁兼计算性能与开发者产品部门总经理Bill Savage所言:“oneAPI既是一种行业规范,同时又是英特尔的一种产品。它可以简化并且统一跨不同架构、跨不同厂商之间的编程,它是一个鼓励社区和行业支持的一种开放、标准的解决方案”。oneAPI提供一个统一的编程框架和编程模型,以简化异构平台的编码复杂程度。
oneAPI主要分为两部分:
跨框架的编程语言。它基于行业标准和开放规范,支持广泛的行业生态系统采纳该技术来推动应用开发领域的新演进。
跨框架库的集合。它相对应的支持直接编程和API编程,通过统一的语言和库,在包括CPU、GPU、FPGA等不同硬件上,提供完整的本地代码性能。
如今,高性能计算作为基础的计算力,帮助我们迈向一个更健康、更安全、更包容、更有活力、更可持续的未来。高性能计算是异构计算的舞台,但异构计算的编程模型往往需要不同的硬件有独立的函数库和工具链,软件的维护成本极高。除此之外,开发人员难以熟悉各种硬件的底层技术,而且摩尔定律的放缓表明仅靠在晶体管密度上做文章并非长久之计。为满足现代工作负载在复杂场景、多任务并行、多架构组合的有效协同,是oneAPI实现指数级创新的关键所在。
oneAPI是一个为异构计算而设计的软件编程模型,具有开放的规范、高度的可扩展性,让开发者可以自由选择架构,无需在性能上作出妥协,也大大降低了使用不同的代码库、编程语言、编程工具和工作流程所带来的复杂性,使得开发者从私有的编程语言和编程模型的锁定中得以解放,同时支持最领先的硬件架构、丰富的库函数,使得针对框架层、应用层和服务层的开发变得更加高效。oneAPI的编程语言和库函数跟生态系统中的其它常用语言,如Python、C++和Fortran可实现无缝协同。打个比方,oneAPI和异构编程的关系,如同携号转网,当然这个“转网”,不需要有关部门的批复。
DPC++的全称为Data Parallel C++,Data Parallel意为数据并行,基于C语言和C++语言融合(OpenCLear的高级编程模型)。DPC++是一种基于标准的开放式跨行业语言,可代替单一架构专有语言,能支持跨CPU、跨加速器的数据并行,并能让开发人员实现异编程。
DPC++存在的意义,正是为了简化编程、提高代码在不同硬件上的可重复用性,并可以根据特定的加速器进行调优。
截止目前英特尔公司发布的oneAPI产品中,最新的oneAPI产品针对英特尔的CPU、GPU、FPGA进行了深入优化,并包含众多针对不同场景的套件,以达到高效、高性能以及跨平台的性能。
Intel® oneAPI Base Toolkit
Intel® oneAPI Base Toolkit工具包是其他产品的基础,包含了我们在Parallel Strudio中常用的软件以及icc编译器、MPI、DPPCPP等。Intel® oneAPI Base Toolkit可使开发人员跨CPU、GPU和FPGA构建、测试和部署以性能为中心、以数据为中心的应用程序。
Intel® oneAPI HPC Toolkit
Intel® oneAPI HPC Toolkit工具包提供可扩展的快速C++、Fortran、OpenMP和MPI应用程序。Intel® oneAPI Base Toolkit和Intel® oneAPI HPC Toolkit几乎包含Intel Parallel Studio XE的功能,并且英特尔公司将其免费向用户开放。
Intel® oneAPI IoT Toolkit
Intel® oneAPI IoT Toolkit工具包主要用于建立可在网络边缘运行的高性能、高效、可靠地解决方案,属于物联网领域。
Intel® oneAPI Rendering Toolkit
Intel® oneAPI Rendering Toolkit工具包主要用于创建高性能、高保真的可视化应用程序,适用于各种渲染领域。
Intel® AI Analytics Toolkit
Intel® AI Analytics Toolkit工具包为数据科学家、AI开发人员和研究人员提供了优化的深度学习框架(PyTorch、TensorFlow等)和高性能Python库,加速端到端机器学习和数据科学库。这些组件是使用oneAPI库构建的,用于低级计算优化。可最大化从预期处理到机器学习的性能。
Intel® Distribution of OpenVINO™ Toolkit
Intel® Distribution of OpenVINO™ Toolkit工具包用于从设备到云部署高性能推理应用程序。该工具包基于卷积神经网络(CNN),可将工作负载扩展到整个英特尔硬件(包含加速器),并最大限度地提高性能。
oneAPI在全球已经获得广泛的业界支持
截至今日,支持oneAPI概念的业内领先企业和研究机构已经超过30家,其中包含业界的各个领域、硬件厂商/OME、独立软件开发商、云服务商、高校等等。在国内,阿里巴巴,腾讯以及联想都表示支持和接纳oneAPI。同时,英特尔也和包括清华大学、北京大学、中国科学技术大学等高校展开了合作计划。最新的合作中,为促进oneAPI在中国的生态发展,英特尔与中国科学计算技术研究所针对oneAPI的异构计算展开深入合作,共同建立中国首个oneAPI卓越中心。