问题标签 [xeon-phi]

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 投票
2 回答
400 浏览

gcc - 在 xeon-phi 上引导自定义内核

我正在尝试在 Xeon-phi 上启动自定义内核,而不是默认的 Linux 内核。在此链接上,我找到了一种交叉编译内核的方法,该内核使用 k1om-mpss-linux-gcc 交叉编译器成功编译。交叉编译是否足够?我得到错误

mykernel.img 不是 k1om Linux bzImage

编辑:所以,我使用 /usr/linux-k1om-4.7/bin/x86_64-k1om-linux-gcc 编译器来编译一个简单的 helloworld.c 程序和内核源代码。我在可执行文件上得到了 objdump -f 的两种不同类型的结果。

对于 helloworld.c:

hello: file format elf64-k1om architecture: k1om, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x0000000000400400

对于我的内核:

mykernel: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x0010000c

我使用相同的编译器编译,但它们显示不同的架构。这是什么原因?

0 投票
1 回答
691 浏览

intel - 英特尔至强融核和 ANSYS FLUENT

有没有人通过 Intel Xeon Phi:5110P 或 31S1P 模型有效地加速了 ANSYS FLUENT(到 ANSYS Workbench 14-15-16 版本)中的计算?

有可能的?FLUENT 支持这些协处理器吗?

0 投票
1 回答
198 浏览

c++ - Xeon phi 卸载模式如何利用线程并行和矢量化

我正在使用 cilk plus 和卸载对 Xeon phi 进行一些性能测试。

在一个简单的向量添加程序中,我有两种方法可以做到:

  1. 使用 cilk_for 将任务拆分到 Xeon phi 中的不同线程:

    /li>
  2. 使用矢量注释:

    /li>

我的测试表明,第一种方式在至强 phi 上比第二种方式快约 10 倍。当我不卸载并在 Xeon E5 主机 CPU 上运行它时,也会发生同样的情况。

首先我想知道我的理解是否正确:

第一种方法仅利用 XEON phi 中的线程并行性(60 核 * 4 线程每个)。但不会执行向量运算。

第二种方法只利用向量化,它只会在一个线程中运行此代码并使用 SIMD(IMCI) 指令。

其次,我想知道编写此代码的正确方法是什么,这样它既可以将任务拆分到不同的线程,又可以在 Xeon phi 上使用向量指令?

提前致谢。

0 投票
1 回答
216 浏览

c++ - 可以从具有不同分配器的 stl 容器构造吗?

说我有

我在 Cilk Plus 中使用 __offload::shared_allocator 作为 allocator2 从主机 CPU 卸载到 Xeon Phi 协处理器

我可以从 B 构造 A 吗?

更一般地说,不同分配器对哪种 STL 函数很重要?

0 投票
2 回答
269 浏览

c++ - 在 Cilk 共享函数中使用 Cilk 减速器

您好,我正在尝试使用 _Cilk_Shared 和 _Cilk_offload 将一些并行工作卸载到 MIC。

我声明了一个 Cilk 共享函数:

在 main 我调用这个函数使用

在这个函数中,所有东西都应该被卸载到 MIC;

我想在 somefun 中声明一个 Cilk 减速器,这样我就可以使用 cilk_for 并附加到一个 cilk 减速器列表中,

但我得到错误:

我知道我可以使用 offload pragma 来做到这一点,所以我应该也可以使用 cilk shared 来做到这一点,对吧?

我找不到使用 _Cilk_shared 和 _Cilk_offload 的具体示例。

提前致谢

0 投票
1 回答
111 浏览

c++ - 为什么使用 _Cilk_offload 卸载希望每个函数都是 _Cilk_shared?

我已将一些全局变量声明为 _Cilk_shared。它们用于我要卸载的功能中它们也用于我不想卸载的某些功能中。

所以最初我只将那些需要卸载的函数声明为_Cilk_shared,并使用_Cilk_offload 调用这些函数。

它编译得很好。当我在主机上运行它时,它只会给出正确的结果。

然后我用 MIC 运行它。它给了我关于无法加载库 blablabla 未定义符号的运行时错误,后跟我没有声明为 _cilk_shared 的函数名称。这些函数也不需要 _cilk_shared。

所以我必须把这些函数改成_cilk_shared。再次运行它。这次 MIC 给出了正确的结果。

我检查了这些函数(我不想卸载并且最初没有声明为 _cilk_shared )是否被卸载,通过使用

结果是它们没有被卸载....

所以我想知道为什么它要我将这些函数声明为_Cilk_shared?

0 投票
1 回答
4668 浏览

gcc - 如何使用 GCC 5.1 和 OpenMP 将工作卸载到 Xeon Phi

背景

我们一直在尝试使用新的GCC 5.1版本将 OpenMP 块卸载到英特尔 MIC(即 Xeon Phi),但没有成功。在 GCC卸载页面之后,我们将build.sh脚本放在一起,为“intelmic”和主机编译器构建“accel”目标编译器。编译似乎成功完成。

然后,我们使用该env.sh脚本尝试编译hello.c下面列出的简单程序。但是,该程序似乎只在主机上运行,​​而不是在目标设备上运行。

由于我们通常不熟悉卸载以及编译 GCC,因此我们可能会做很多错误的事情。但是,我们已经调查了已经提到的资源以及以下资源(我没有足够的代表来发布链接):

  • Xeon Phi 卸载
  • 至强融核教程
  • 英特尔至强融核卸载编程模型

最大的问题是他们通常引用英特尔编译器。虽然我们计划购买副本,但我们目前没有副本。此外,我们的大部分开发管道已经与 GCC 集成,我们更愿意保持这种方式(如果可能的话)。

我们已经安装了最新的 MPSS 3.5 发行版,进行了必要的修改以在 Ubuntu 下工作。我们可以成功通信并检查系统中 Xeon Phis 的状态。

在我们的努力中,我们也从未看到任何迹象表明代码正在麦克风仿真模式下运行。

问题

  1. 有没有人成功构建了实际上卸载到 Xeon Phi 的主机/目标 GCC 编译器组合?如果是这样,您使用了哪些资源?
  2. 我们是否遗漏了构建脚本中的任何内容?
  3. 测试源代码有什么问题吗?它们编译时没有错误(除了下面提到的)并运行 48 个线程(即主机系统中的逻辑线程数)。
  4. 由于谷歌搜索没有透露太多信息,是否有人对下一步有建议(除了放弃 GCC 卸载)?这是一个错误吗?

谢谢!

构建.sh

环境文件

你好.c(版本 1)

我们编译了这段代码:

hello_omp.c(版本 2)

几乎相同的东西,但我们尝试了

句法。事实上,mic它会抱怨,但是对于任何设备号(即 0),它都会在主机上编译和运行。此代码以相同的方式编译。

0 投票
3 回答
759 浏览

c - 手动填充数组

我试图从这本书中理解 9 点模板的算法,逻辑对我来说很清楚,但是 WIDTHP 宏的计算是我无法理解的,这里是 breif 代码(原始代码长度超过 300 行!! ):

原始数组是 5900 X 10000,但如果我定义 PAD64 ,数组变为 5915.75 X 10000

虽然到目前为止我可以猜到作者正在尝试将数组对齐和填充到 64 字节边界。但是 malloc 返回的数组通常是对齐的(&填充),另外,posix_memalign 给你一块保证有请求对齐的内存,我们也可以使用

这个 WIDTHP 会对我的代码性能产生什么影响?

0 投票
1 回答
590 浏览

opencl - 在 XeonPhi 上安装 OpenCL

因为我没有要测试的设备所以我问这个问题如果我在 XeonPhi 上使用 OpenCL,我只想安装 XeonPhi 的驱动程序和运行时(https://software.intel.com/en-us/articles/opencl-drivers ),那么 OpenCL 可以运行和编译代码,对吗?MPSS( https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive#33n-2 )怎么样,我在 Linux 上开发 OpenCL 时看到,必须安装 MPSS以及 XeonPhi 的驱动程序和运行时。我还没有找到介绍在 WindowOS 上的 XeonPHi 上使用 OpenCL 的详细信息的文档,您能与我分享一些有关此的文档吗?

0 投票
1 回答
640 浏览

algorithm - 如何使openMP上的代码在xeon phi上工作?

每个人。希望有人能帮助我。我有一个代码可以在 openMP 上并行 Prim 的算法,我需要让它在 Xeon Phi 上工作。请帮我。我无法真正理解如何做到这一点。这是我在 openMP 上的代码。