第一次写博客,各种操作还不熟悉,写的不好还请见谅。
DPC++是Data Parallel C++(数据并行C++)的首字母缩写,它是Intel为了将SYCL引入LLVM和oneAPI所开发的开源项目。SYCL是为了提高各种加速设备上的编程效率而开发的一种高级别的编程模型,简单来说它是一种跨平台的抽象层,用户不需要关心底层的加速器具体是什么,按照标准编写统一的代码就可以在各种平台上运行。可以说SYCL大大提高了编写异构计算代码的可移植性和编程效率,已经成为了异构计算的行业标准。
介绍两种本人实操过的两种环境
一、Dpcpp编译器的本地安装
链接是GitHub上Dpcpp的压缩包,Windows下载最新的win压缩包即可,下载完成后在特定目录解压 (例如,C:/opt),把llvm编译器的bin目录添加到系统环境变量PATH (如C:/opt/dpcpp_compiler/bin)
二、基于Intel DevCloud环境
这个不知道怎么上传PDF文件到CSDN中,回头再试试。整体来说就是提供了一个可以运行DPC++代码的环境,但现阶段也只能运行云上提供的代码,自己的写的总是运行错误,还不清楚是什么原因(可能是版本的不同至语法的差异),回头再解决吧。
不能写入和运行自己的代码的问题已解决,详情参照Hello World示例的云平台操作。
DevCloud注册链接:.htm
点击网址注册账号
注册完成后,一般情况下,系统会同时自动跳转到账号激活步骤进行账号激活。如果系统未能自动跳转,请点击.html
激活完成,系统会跳转到 Intel Developer Cloud 主站。点击主站右侧 oneAPI 相关服务的链接,跳转 进入 DevCloud for oneAPI 专项服务的登录页面。如果系统未能自动跳转,请点击
在 DevCloud for oneAPI 专项服务页面中,点击右上角或页面中的“Sign In”链接,输入完成登录。
用户可以通过点击网页左侧“Get Started”进入该选项的页面,在“Get Started”选项页面中, 用户可以 通过点击页面最右下角 Connect with Jupyter* Lab 中的“Launch JupyterLab*”按钮直接启动 Jupypter 服 务。
启动 Jupyter 服务的过程中,系统可能会再次提示确认登入信息,并开始部署并启动相关远程服务。 其中可能会有若干次系统显示的部署进展提示信息。
接下来尝试在本地运行第一个示例代码
#include <CL/sycl.hpp>
#include <iostream>
using namespace sycl;
const std::string secret {
"Ifmmp-!xpsme"