问题标签 [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 - GCC编译错误
我正在尝试构建和运行 GCC。在尝试以几种不同的方式构建它之后,我得到了它,但是当我尝试编译代码时(例如:)
有了它,我得到了这个错误:
我试图在互联网上询问这个问题,虽然其他人报告了这个问题,但没有发布任何解决方案。我正在使用 GCC6。
gcc - 如何配置 GCC 以将 OpenMP 4.5 卸载到 Nvidia PTX GPGPU
随着 gcc 7.1 的发布,我们现在可以为 openmp 4.5 配置 gcc,卸载到 Nvidia PTX GPGPU。这就是他们在发行说明中所说的(大约)。
所以我的问题是,在编译 openmp 4.5 以针对 nvidia 设备时,是否有任何特殊标志来激活此配置?
openmp - How to map a data with openmp target to use inside a function?
I would like to know how can I map a data for future use inside of a function?
I wrote some code like the following:
The code compiles, but on execution Kernel execution error at <address>
is spammed from verbose output of execution, followed by many Device kernel launch failed!
and CUDA error is: an illegal memory access was encountered
c++ - 如何使用 OpenMP 提供的 GPU?
我正在尝试使用 OpenMP 在 GPU 上运行一些代码,但我没有成功。在我的代码中,我使用for
循环执行矩阵乘法:一次使用 OpenMP pragma 标记,一次不使用。(这样我可以比较执行时间。)在我调用的第一个循环之后omp_get_num_devices()
(这是我的主要测试,看看我是否真的连接到 GPU。)无论我尝试什么,omp_get_num_devices()
总是返回 0。
我使用的计算机有两个NVIDIA Tesla K40M GPU。CUDA 7.0 和 CUDA 7.5 可作为模块在计算机上使用,并且 CUDA 7.5 模块通常处于活动状态。gcc 4.9.3、5.1.0 和 7.1.0 都可作为模块使用,gcc 7.1.0 模块通常处于活动状态。我正在用$ g++ -fopenmp -omptargets=nvptx64sm_35-nvidia-linux ParallelExperimenting.cpp -o ParallelExperimenting
. 我已经使用 CPU 成功地并行化了 OpenMP 代码,但没有使用 GPU。
我的主要目标是omp_get_num_devices()
返回 2 作为我可以检测并使用带有 OpenMP 的 GPU 的证据。我在这里收到的任何帮助将不胜感激。
这是我用来检查 GPU 是否正确使用的代码:
这是运行 deviceQuery 示例 CUDA 代码的结果。
gpu - OpenMP 4 可以并行运行目标区域吗?
阅读 OpenMP 4 的一些教程,我发现区域可以使用该子句target
参与 CPU 任务的相同依赖关系图。depend
在对 OpenMP 任务进行编程时,我们知道它们可以同时运行。但这在 GPU 上可行吗?GPU 可以同时运行多个target
区域吗?
我试过这段代码:
尽管task
s 以任意顺序执行,但这些target
区域是以原子方式执行的,一次一个区域。
networking - 为什么 GRO 更高效?
通用接收卸载(GRO) 是 Linux 中的一种软件技术,用于聚合属于同一流的多个传入数据包。链接的文章声称 CPU 利用率降低了,因为不是每个数据包单独遍历网络堆栈,而是单个聚合数据包遍历网络堆栈。
然而,如果你看一下 GRO 的源代码,感觉它本身就像一个网络堆栈。例如,传入的 TCP/IPv4 数据包需要经过:
每个函数执行解封装并查看相应的帧/网络/传输标头,正如“常规”网络堆栈所期望的那样。
假设机器不执行防火墙/NAT 或其他明显昂贵的每个数据包处理,那么“常规”网络堆栈中的“GRO 网络堆栈”可以加速的速度如此之慢?
gcc - gcc 7.2 和 nvptx nvidia gpu 卸载
自 gcc 7.1 版以来,gcc 支持将 openmp 代码卸载到 nvidia 卡,但我无法使用它。我在 ubuntu 17.10 上,我已经安装了nvptx-tools
包gcc-offload-nvptx
。当我尝试编译 openmp 目标代码时,出现此错误
我无法找到任何解决方案,并且 gcc 中支持 nvptx 的 openmp 几乎没有文档
g++ - 我可以在 GPU 上使用 `omp_get_thread_num()` 吗?
我有 OpenMP 代码,它通过让每个线程管理由线程的 id 号寻址的内存来在 CPU 上工作,可以通过omp_get_thread_num()
. 这在 CPU 上运行良好,但它可以在 GPU 上运行吗?
MWE 是:
c - clang 编译器能够将 OpenMP 区域卸载到 GPU
我读到 clang 编译器可以将 OpenMP 区域卸载到 GPU。但是,我对用clang编译代码的方式感到困惑。我们集群中安装的 clang 版本是 3.9.0(tags/RELEASE_390/final 288133)。我要卸载的代码基本上是矩阵矩阵乘法:
我正在编译
我不知道我安装的 clang 版本是否能够将代码卸载到 GPU 上,如果可以,我该怎么做。欢迎任何评论。