因此,英特尔还为oneAPI加入了一个配套的直接编程语言Data Parallel C++ (简称DPC++),这是一种基于标准的开放式跨行业语言,可替代单一架构专有语言,能够提供并行编程的效率和性能。 △ 英特尔架构、图形与软件部副总裁兼编译器与语言部门总经理Alice Chan介绍DPC++ 但是一门新的编程语言往往会遇到推广困难的问题。 英特尔编译器与语言部门总经理Alice Chan表示,英特尔在设计DPC++的时候,在语法上和CUDA非常接近,如果程序员对于CUDA非常熟悉的话,那么使用DPC++进行编程应该没有任何问题。 DPC++的学习曲线非常平滑,适合其他编程语言的开发者快速上手,从而更容易将原来的项目迁移到oneAPI上。 合作与对手 据英特尔透露,目前oneAPI已经和很多厂商展开了合作。
周一,Codeplay发布了Intel SYCL实现的开源早期版本,DPC++,它对NVIDIA gpu提供了更强大的支持。 这里的一个摘录: “去年,我们非常兴奋地获悉,英特尔在SYCL背后投入了巨大的努力,并一直在为其cpu、gpu和fpga开发包含DPC++ (SYCL的扩展实现)的oneAPI。 这个实现的代码库位于主LLVM编译器项目和DPC++分支的独立分支中,这意味着现在您需要使用这个项目来尝试使用SYCL支持Nvidia gpu。 该博客有更多关于试验新的dpc++功能的细节。书中还描述了哪些是有效的,哪些是无效的。例如,“目前,编译后的SYCL应用程序只能针对CUDA或OpenCL,不能同时针对两者。
软件:Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2021.3.0 Build SPECint®_rate_base_2017 编译器开关:Intel(R) oneAPI DPC++/C++ Compiler: -xCORE-AVX512 -O3 -ffast-math -flto 软件:Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2021.3.0 Build SPECint®_speed_base_2017 编译器开关:Intel(R) oneAPI DPC++/C++ Compiler: -xCORE-AVX512 -O3 -ffast-math -flto 软件:Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2021.2.0 Build
目前,NVIDIA GPU、AMD GPU 和 Arm CPU 均有 Data Parallel C++(DPC++)和 oneAPI 库。 同时,oneAPI 还提供了强大的调试器,并且对这款调试器进行了很多改进,包括为 GPU、CPU、FPGA 等多种计算架构建立的 Data Parallel C++(DPC++)编程环境。
Intel C++ Compiler(ICC) 现在改名叫 Intel oneAPI DPC++/C++ Compiler,主打 “性能优化”—— 针对 Intel CPU 的架构(如酷睿、至强)做了深度优化
该套件包括对英特尔的 DPC++/C++ 编译器的支持,它允许将 C++ 代码重新编译以在多个硬件架构上使用。
同时,它提供开放、统一的编程语言 DPC++。并且,oneAPI 还提供基于 API 的高性能库,能在多种异构平台上运行并提供极高的性能,其中很多库将开源,为进一步扩展增加新功能提供可能。
云原生数据库TDSQL-C首次尝试用编译器优化,利用英特尔oneAPI DPC++/C++编译器,结合链接时优化(LTO)和配置文件引导优化(PGO)的方法对应用程序进行模块间优化(IPO),允许对代码实现深入分析和进一步的优化
著有《现代C++语言核心特性解析》一书,被评为异步社区2021年影响力作者,也是Intel DPC++认证讲师。