问题标签 [offloading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - OpenMP 运行时看不到我的 GPU 设备
我正在尝试在与 GTX 1060 显卡一起使用的本地计算机上将一些 OpenMP 卸载到 GPU。我所有的 CUDA 和 Cublas 示例都运行良好。但是,当我尝试运行一些 OpenMP 卸载时,它根本不起作用。为了支持 OpenMP 5.0,我编译了 GCC 10.2.0 工具链。经过一番调试,我发现 OpenMP 运行时看不到任何设备。例如,此代码显示为零:
但是,Nvidia 工具链已启动并正在运行:
那么我错过了什么?OpenMP 运行时如何找到设备?
编辑:
我正在附加有关我的编译器的信息:
该代码是使用以下命令编译的:
python - 试图在 nic 上加载 xdp(已卸载)
我正在尝试将我的 XDP 程序直接加载到 NIC(卸载 XDP)上。根据这个答案,我需要将设备指定为以下功能:
BPF()
load_func()
我是这样做的:
添加设备时出现以下错误:
types.ArgumentError:参数 6:<class 'TypeError'>:类型错误
你能帮我解决这个问题并将我的 XDP 程序卸载到 NIC 上吗?谢谢
windows - 在 Windows PC 中,如何确认启用或禁用音频卸载
我有几台来自不同制造商的 Windows 10 PC。如果在 Windows PC 中启用或禁用音频卸载,我需要从 BIOS 级别确认。
有什么方法可以确认。
visual-studio - omptarget.dll 未找到
我正在尝试运行我使用英特尔® Fortran 编译器 (Beta) (ifx) 编译的可执行文件。我在 Microsoft Visual Studio 2019 (VS) 中编译了可执行文件。我的意图是使用卸载功能(IntelOneAPI 和 OPenMP 4.5)。我已经在项目属性中打开了卸载开关。当我尝试运行可执行文件时,我收到以下错误消息: AZFD.exe 系统错误:“代码执行无法继续,因为找不到 omptarget.dll。重新安装程序可能会解决此问题。”
我的 omptarget.dll 位于 INTEL 子目录的两个位置。我确保此路径也在 VS 项目属性中。我还将 omptarget.dll 复制到我在 VS 项目的 FORTRAN 属性中作为附加包含库路径的 LIB 文件夹中。无论我将 omptarget.dll 放在哪里,可执行文件仍然找不到它。
如果我将 omptarget.dll 复制到我的可执行文件所在的同一文件夹中,则错误将更改为:“序号 899 无法位于动态链接库中”。
提前感谢您的任何建议。
乙
c++ - OpenMP 卸载数据竞争
我目前正在开展一个项目,以使用 OpenMP 在 GPU 上反转矩阵。但是,当对矩阵的一行进行归一化时,我遇到了数据竞争。代码如下所示:
发生数据竞争是因为在计算过程中的某个时刻matrix[i * dim + i]
会被替换。1.0
在最后一次迭代中替换它也不能解决问题。也许你有什么建议?
先感谢您!
c++ - 尝试使用 GCC9.3 和 OpenMP 卸载到 GTX-1050 时出错
构建日志:
我已经加载了以下内容(带有描述):
我已经验证 libcuda.so.1 位于 /lib/x86_64-linux-gnu
该脚本很简单,只是一个帮助我卸载和运行的示例。如果我取出“目标”关键字,效果很好
任何帮助表示赞赏。
- 大卫
c++ - 使用 OpenMP 添加 GPU 阵列
我正在尝试使用 nvidia GPU 进行 OpenMP 卸载,并尝试在 C++ 中使用它进行一些数组计算。
现在我的输出并不理想,因为我是使用 OpenMP 卸载计算的新手。如果有人能指出我正确的方向,将不胜感激。
代码片段:
现在,我知道总和应该计算为一个数字499500,但我的机器正在输出非常大的数字,也是负数。
c++ - GPU 编号线程未在 OpenMP 运行时中显示
我正在尝试在我编写的这个虚拟代码上使用 OpenMP 和 C++ 使用 GPU(GTX 1080Ti)卸载数组计算:
运行代码后,这是我得到的输出:
计算的总和是正确的,但我很好奇为什么它只显示了 8 个线程,而我在代码中设置了 100 个线程。
设置omp_set_num_threads
右下角#pragma omp target
时,运行时会报
libgomp: cuCtxSynchronize error: an illegal memory access was encountered
我是 OpenMP 的新手,如果有人能帮助解释这个问题,我将不胜感激。
c - 使用 OpenMP 将三重指针 (C) 卸载到 NVIDIA GPU
我一直在使用传热代码。基本上,这段代码确定了立方体及其所有面的初始条件。这六个面从不同的温度开始,然后代码将计算由于它们之间的热传递而导致所有面的温度如何变化。现在,我一直在尝试使用 OpenMP 指令卸载到 NVIDIA GPU。此代码使用三重指针初始化面部条件,它是一种数组数组。读了一点关于这个问题,我开始知道 3D 架构不容易卸载到 GPU。所以我的问题是是否可以将这个三重指针数组卸载到 GPU,或者我是否必须使用更扁平的数组形式。
在这里,我留下了仍在 CPU 上工作的代码。代码的并行版本。