问题标签 [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.

0 投票
0 回答
257 浏览

ssl - Kubernetes 入口上的 SSL 卸载不适用于 Magnolia

我目前正在尝试部署一个在 kubernetes 中运行的 magnolia 实例。我们希望在入口级别卸载 SSL,但显然我们在登录 Magnolia UI 时遇到了一些问题。如果我们不使用入口,它就可以正常工作。我假设,在 SSL 卸载方法中,X-Forwarded-header 会被 Magnolia 忽略。

  • 这个说法是真的吗?
  • 有没有办法解决这个问题?
  • 有没有人遇到过这个问题,或者正在运行带有 magnolia stable 的 ingressed kubernetes?

我查看了各种过滤器,尤其是 LoginFilter,但找不到实际响应建立并发送回客户端的位置。重定向(我们使用 POST 登录)是否有可能忽略 https,因为 Magnolia 不知道我们通过 https 与 Magnolia 交谈,因为卸载?在 Magnolia 中,我检查了 http-headers,并且所有 headers (x-forwarded-*) 都设置正确..

0 投票
1 回答
1672 浏览

c++ - OpenMP 卸载到 Nvidia 错误减少

我对使用 OpenMP 将工作卸载到 GPU 很感兴趣。

下面的代码给出了sumCPU 上的正确值

它也可以像这样在带有 OpenACC 的 GPU 上工作

nvprof表明它在 GPU 上运行,并且在 CPU 上也比 OpenMP 更快。

但是,当我尝试像这样使用 OpenMP 卸载到 GPU 时

它得到了错误的结果sum(它只返回零)。nvprof似乎表明它在 GPU 上运行,但在 CPU 上比 OpenMP 慢得多。

为什么在 GPU 上使用 OpenMP 进行缩减会失败?

这是我用来测试的完整代码

使用 GCC 7.2.0、Ubuntu 17.10 以及 gcc-offload-nvptx

0 投票
1 回答
745 浏览

c - OpenMP 卸载到 nvptx 中的 gcc 7 和 8 (debian) 问题

我安装了gcc-7,gcc-8gcc-7-offload-nvptxgcc-8-offload-nvptx

我尝试使用这两种方法来编译一个带有卸载的简单 OpenMP 代码:

使用以下行(gcc-7也使用):

但它没有编译,给出以下错误:

一些线索?

0 投票
1 回答
216 浏览

c++ - PGI 不支持 OpenMP 4.5 运行时函数

当我尝试编译以下代码时

我得到错误

其余的 OpenMP 运行时函数也未定义。代码用 gcc7 编译得很好。PGI 17.10 社区版编译器是否支持这些功能?根据他们的网站,PGI 17.10 社区版编译器支持 OpenMP 4.5。我究竟做错了什么?

我在 Ubuntu 16.04 和 17.04 上试过这个。

0 投票
0 回答
273 浏览

windows - 在 Windows 上构建 Nvptx-tools

我试图在 Windows 上安装 nvptx-tools 以启用 GCC 卸载工具,但我做不到。我从这里复制了 nvptx-tools并按照本教程进行构建(带有“构建 nvptx-tools”的部分)。如果我将所有命令放在一个脚本中,它会在 Windows 上运行并只创建一些日志文件,而在 Linux 中它会构建 nvptx-tools(我在 vm 中运行脚本)。我提到我已经安装了 GCC-2.7.0。还有其他方法可以在 Windows 上安装 nvptx-tools 吗?

我的脚本是:

0 投票
1 回答
605 浏览

cuda - 在主机和目标设备中执行的 OpenMP 卸载目标区域

我正在开发一个需要使用 Clang 将 OpenMP 卸载到 Nvidia GPU 的项目。按照此处提到的说明,我能够安装 Clang 以支持卸载。

系统规格

  • 操作系统 - Ubuntu 16.04 LTS
  • Clang-版本 4.00
  • 处理器 - Intel(R) Core(TM) i7 -4700MQ CPU
  • Cuda 版本 - 9.0
  • Nvidia GPU - GeForce 740M (sm_capability - 35)

但问题是当我执行一个示例程序来测试 OpenMP 到 Nvidia GPU 时,部分目标区域倾向于在 GPU 中运行,然后相同的目标区域开始在主机中执行。

请在此处找到示例程序,这是一个用于将 2 个矩阵相乘的小型 C 程序。

该程序是使用

声称目标区域正在主机和目标设备中执行的主要原因是由于命令行的输出。

命令行输出

首先,团队 0 和团队 1 显示每个团队 960 个,后来的迭代为每个团队提供 2 个线程(我的处理器是 4 核处理器,每个核心能够处理 2 个硬件级线程。)。

我还尝试使用 nvprof 执行 fat 二进制文件,以验证 GPU 中是否正在执行任何操作。

分析结果如下。

分析结果

实际上我无法理解目标区域发生了什么。为什么要在主机和目标设备中执行目标区域。

0 投票
1 回答
137 浏览

clang - Clang OpenMP 中的内存映射卸载到 GPU

我有一些与 Clang 中的 OpenMP 卸载相关的问题。

1.当clang将某个代码段卸载到NVIDIA GPU时,数据将如何映射到GPU?

2.它将如何决定将哪些数据映射到NVIDIA GPU中的“共享内存”区域?

3.代码段中的常量会映射到GPU中的常量内存吗?

我试图找到这些问题的答案,但找不到任何参考。提前致谢。

0 投票
1 回答
3516 浏览

c++ - 用于将 openmp 4.5 卸载到 (gpu) 设备的 nvptx gcc (9.0.0/trunk) 找不到 libgomp.spec

我一直在尝试将 OpenMP 4.5 卸载到 Nvidia GPU 版本的 gcc 安装一段时间,但到目前为止没有成功,尽管我越来越近了。

这次,我按照这个脚本,做了两处修改:首先我指定了 gcc 的主干版本而不是 7.2,其次,nvptx-newlib 现在根据 github 存储库包含在 nvptx-tools 中,所以我删除了那部分剧本。为了便于参考,原始脚本是

过了一会儿,这成功退出了。根据该网页上的说明,我将 $install_dir/lib64 添加到了我的 LD_LIBRARY_PATH 和 LIBRARY_PATH。

然后作为测试,我有以下基本测试程序

然后我尝试使用它来编译offload/install/bin/g++ -fopenmp -foffload=nvptx-none main.cpp它,然后它返回以下错误消息:

文件 libgomp.spec 可以在前面找到$install_dir/lib64,在我的系统上是offload/install/lib64/.

关于我的系统的更多信息:
Ubuntu 16.04,通过 slurm Cuda 9.0.176
4x Nvidia Tesla V100 访问

卸载/安装/bin/g++ -v 报告:

卸载/安装/bin/g++ -print-search-dirs 报告

最后,offload/install/bin/g++ -fopenmp -foffload=nvptx-none -v main.cpp 报告

在与我找到脚本的同一网页上,其他人报告了同样的问题,并且恢复到 gcc 7.2 显然是一个解决方案。由于我想在 Spack 集合中包含卸载编译器,因此我希望能够使用任何受支持的版本。虽然我暂时可以使用 gcc 8,因为 9/trunk 仍然是实验性的。

这可能意味着它是 gcc 中的一个错误,在这种情况下,我想向他们报告!

编辑 1:根据要求,一个“正常”的 CPU 专用程序似乎可以正常工作:

这是用offload/install/bin/g++ -fopenmp -v main_cpu.cpp -o cpu

0 投票
1 回答
112 浏览

parallel-processing - 无法解释的 Xeon-Phi 开销

我正在尝试在 Xeon Phi KNC 上以这些不同的 n 大小运行此代码。我得到了表格中显示的时间,但我不知道为什么我会遇到这些波动。你能指导我完成它吗?提前致谢。

代码:

结果:

0 投票
0 回答
140 浏览

parallel-processing - Xeon-Phi 与 Xeon 无法解释的开销

我正在尝试在 Xeon Phi KNC(具有 61 个内核和 4T/C)和 Xeon(具有 2 个 Xeon E5-2660 v2 插槽)上运行以下具有不同 n 大小的代码。

我得到的时间如下表所示。但是,我试图理解为什么 MIC 的性能比运行 Xeon 处理器差。我在这里做错了什么,我该如何解决(如果可能)?

谢谢!

代码:

Xeon-Phi 结果:

设置:

而所有设置都在 run_par.sh 中,而 xphi 是设备的名称。

还值得一提的是,原生运行(在 !$omp SIMD 之前添加 !dir$ offload begin target(mic))会产生更好的结果。

在本机运行中,设置为:

至强结果:

这是我的 Xeon 机器上 lscpu 命令的输出:

我的 MIC 规格是(/proc/cpuinfo 的尾部):