小编gru*_*bot的帖子

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

背景

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

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

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

  • 为Xeon Phi卸载
  • Xeon Phi教程
  • Intel Xeon Phi卸载编程模型

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

我们安装了最新的MPSS 3.5发行版,对Ubuntu下的工作进行了必要的修改.我们可以在我们的系统中成功地沟通和检查Xeon Phis的状态.

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

问题

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

谢谢!

build.sh

#!/usr/bin/env bash                                                                                                                                           

set -e -x
unset LIBRARY_PATH

GCC_DIST=$PWD/gcc-5.1.0

# Modify these to control where the compilers are installed                                                                                                   
TARGET_PREFIX=$HOME/gcc
HOST_PREFIX=$HOME/gcc

TARGET_BUILD=/tmp/gcc-build-mic
HOST_BUILD=/tmp/gcc-build-host

# i dropped the emul since we are not planning to emulate!                                                                                                    
TARGET=x86_64-intelmic-linux-gnu
# should this be a quad (i.e. pc)?? default …
Run Code Online (Sandbox Code Playgroud)

gcc openmp offloading xeon-phi

8
推荐指数
1
解决办法
4363
查看次数

标签 统计

gcc ×1

offloading ×1

openmp ×1

xeon-phi ×1