dpc++(oneAPI)调用nvidiaGPU配置与验证

news/2024/11/17 8:44:09/

前提

1.安装Intel® oneAPI Toolkits
https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top.html
下载安装Base版,注意版本,尽量安装新版本

2.安装GPU驱动与CUDA
https://developer.nvidia.com/cuda-downloads
建议为11.8及以上版本
nvidia-smi能出现cuda版本

安装插件

1.依赖库

  • Ubuntu
sudo apt update
sudo apt -y install cmake pkg-config build-essential
  • Red Hat and Fedora
sudo yum update
sudo yum -y install cmake pkgconfig
sudo yum groupinstall "Development Tools"
  • SUSE
sudo zypper update
sudo zypper --non-interactive install cmake pkg-config
sudo zypper --non-interactive install pattern devel_C_C++
  • 验证
which cmake pkg-config make gcc g++显示
/usr/bin/cmake
/usr/bin/pkg-config
/usr/bin/make
/usr/bin/gcc
/usr/bin/g++

2.下载

https://developer.codeplay.com/products/oneapi/nvidia/download/
对应自己的版本,没有选低一点的版本

安装

chmod +x oneapi-for-nvidia-gpus-2023.1.0-cuda-12.0-linux.sh
sh oneapi-for-nvidia-gpus-2023.1.0-cuda-12.0-linux.sh

安装之前oneapi安装的位置运行

. /opt/intel/oneapi/setvars.sh --include-intel-llvm
或者
. ~/intel/oneapi/setvars.sh --include-intel-llvm

配置.bashrc(按自己路径)

export PATH=/PATH_TO_CUDA_ROOT/bin:$PATH
export LD_LIBRARY_PATH=/PATH_TO_CUDA_ROOT/lib:$LD_LIBRARY_PATH

查看GPU

sycl-ls

显示本机的gpu如[ext_oneapi_cuda:gpu:0] NVIDIA CUDA BACKEND, TITAN RTX 0.0 [CUDA 11.0]

验证

#include <sycl/sycl.hpp>int main() {// Creating buffer of 4 ints to be used inside the kernel codesycl::buffer<sycl::cl_int, 1> Buffer(4);// Creating SYCL queuesycl::queue Queue;// Size of index space for kernelsycl::range<1> NumOfWorkItems{Buffer.size()};// Submitting command group(work) to queueQueue.submit([&](sycl::handler &cgh) {// Getting write only access to the buffer on a deviceauto Accessor = Buffer.get_access<sycl::access::mode::write>(cgh);// Executing kernelcgh.parallel_for<class FillBuffer>(NumOfWorkItems, [=](sycl::id<1> WIid) {// Fill buffer with indexesAccessor[WIid] = (sycl::cl_int)WIid.get(0);});});// Getting read only access to the buffer on the host.// Implicit barrier waiting for queue to complete the work.const auto HostAccessor = Buffer.get_access<sycl::access::mode::read>();// Check the resultsbool MismatchFound = false;for (size_t I = 0; I < Buffer.size(); ++I) {if (HostAccessor[I] != I) {std::cout << "The result is incorrect for element: " << I<< " , expected: " << I << " , got: " << HostAccessor[I]<< std::endl;MismatchFound = true;}}if (!MismatchFound) {std::cout << "The results are correct!" << std::endl;}return MismatchFound;
}

编译

icpx -fsycl -fsycl-targets=nvptx64-nvidia-cuda simple-sycl-app.cpp -o simple-sycl-app

可无视的警告

icpx: warning: CUDA version is newer than the latest supported version 11.8 [-Wunknown-cuda-version]

运行

SYCL_DEVICE_FILTER=cuda SYCL_PI_TRACE=1 ./simple-sycl-app

结果

SYCL_PI_TRACE[basic]: Plugin found and successfully loaded: libpi_cuda.so [ PluginVersion: 11.15.1 ]
SYCL_PI_TRACE[all]: Selected device: -> final score = 1500
SYCL_PI_TRACE[all]:   platform: NVIDIA CUDA BACKEND
SYCL_PI_TRACE[all]:   device: NVIDIA GeForce RTX 2060
The results are correct!

如果没有成功可以把oneapi全部卸载(/opt和/home下的intel全部删除)再来一次安装


http://www.ppmy.cn/news/689326.html

相关文章

3. Linux组件之内存池的实现

文章目录 一、为什么需要内存池二、内存池的工作流程三、内存池的实现3.1 数据结构3.2 接口设计3.2.1 创建内存池3.2.2 内存池销毁3.2.3 内存分配1. 分配小块内存2. 分配大块内存 3.2.4 内存池的释放3.2.5 内存池重置 3.3 完整代码 一、为什么需要内存池 应用程序使用内存&…

天锋w2019_三星W2019亲兄弟来袭!天锋W2019雷同的外观,更高端的性能

相信大家对山寨机的印象就是阉割版的原版机&#xff0c;然而山寨机的性能与质量有时候比原版机更强。在生活山寨机的覆盖人群相对广泛&#xff0c;有些学生为了攀比之心就会入手&#xff1b;有些是为了商业用途而入手相似外观的手机。当然&#xff0c;山寨机并不是在原版机上做…

天锋w2019_购买天锋W2019体验记,才知道没购买万元三星W2019是对的

原标题&#xff1a;购买天锋W2019体验记&#xff0c;才知道没购买万元三星W2019是对的 手机已经成为现代人不可或缺的重要设备&#xff0c;当然每个人对手机的定位都不同&#xff0c;有热衷于游戏拍照功能的&#xff0c;当然也有商务人士比较注重手机的外观颜值是否气派奢华等&…

天锋w2019_国产手机新选择:天锋W2019横空出世,体验感完全不输三星W2019

原标题&#xff1a;国产手机新选择&#xff1a;天锋W2019横空出世&#xff0c;体验感完全不输三星W2019 随着手机行业的快速发展&#xff0c;现在基本每个人都有一部自己的手机。相信很多人都和小编一样&#xff0c;觉得现在的手机都显得千篇一律&#xff0c;没有办法展示出自己…

天锋w2019_不知道为什么那么多人喜欢三星W2019,直到入手这款天锋W2019手机

原标题&#xff1a;不知道为什么那么多人喜欢三星W2019&#xff0c;直到入手这款天锋W2019手机 一直以来&#xff0c;三星的多款手机都被定义为成功人士的标配&#xff0c;起初在并未接触三星W2019手机之前&#xff0c;已早有耳闻其旗舰售价配旗舰配置&#xff0c;搭载高通骁龙…

心系天下三星W2019 更懂精英,更懂生活

春节临&#xff0c;万物归&#xff0c;华夏大陆又迎来了年底的压轴节目——“春节”。对于所有在外奔波的游子来说&#xff0c;这是一年中难得的团圆日。而对于大多数人来说&#xff0c;回家过年&#xff0c;总避免不了各种聚会&#xff0c;同学相见、老友叙旧、亲戚走动&#…

淬匠心技艺,谱折叠华章:心系天下三星W22 5G发布

10月13日&#xff0c;中国电信携手三星电子在杭州举办心系天下三星W22 5G发布会。当晚&#xff0c;一场美轮美奂的灯光秀&#xff0c;照亮了这座未来科技之城&#xff0c;也让超高端折叠屏手机心系天下三星W22 5G的登场&#xff0c;如踏星河而至&#xff0c;璀璨绮丽。万众瞩目…

三星Samsung ML-2525W 驱动

三星Samsung ML-2525W 驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需…