我已经在Windows 10 Pro中设置了我的Xeon phi 3120A,其中包括MPSS 3.8.4和Parallel XE 2017(初始版本) . 我选择了这个Parallel XE,因为这是x100系列最后支持的XE . 我已经安装了随Parallel XE 2017(初始版本)打包的MKL版本 .

What have I done / setup:

在设置MPSS 3.8.4之后,按照闪烁和ping等步骤,我检查了micctrl -s显示“mic0 ready”(linux图像包含相应的KNC名称),miccheck产生所有“通行证”,micinfo给出我阅读了协处理器提供的所有关键统计数据 .

因此,对我而言,看起来协处理器肯定已安装并被我的计算机识别 . 我还可以看到mic0在micsmc gui中启动并运行 .

然后我设置环境变量以启用自动卸载,即MKL_MIC_ENABLE = 1,OFFLOAD_DEVICES = 0,MKL_MIC_MAX_MEMORY = 2GB,MIC_ENV_PREFIX = MIC,MIC_OMP_NUM_THREADS = 228,MIC_KMP_AFFINITY = balancer .

The Problem - Auto Offload is not working

当我在R-3.4.3中运行一些简单的代码(下面复制,专门为自动卸载而设计)时,它会通过我的主机运行代码而不是通过Xeon phi运行任何代码 .

为了支持这一点,当我看到micsmc gui时,我在Xeon Phis上看不到任何活动 .

因此,自动卸载不起作用 .

The R code:

require(Matrix)
sink("output.txt")
N <- 16000
cat("Initialization...\n")
a <- matrix(runif(N*N), ncol=N, nrow=N);
b <- matrix(runif(N*N), ncol=N, nrow=N);
cat("Matrix-matrix multiplication of size ", N, "x", N, ":\n")
for (i in 1:5) {
  dt=system.time( c <- a %*% b )
  gflops = 2*N*N*N*1e-9/dt[3]
  cat("Trial: ", i, ", time: ", dt[3], " sec, performance: ", gflops, " GFLOP/s\n")
}

Other steps I have tried:

然后我继续设置MKL_MIC_DISABLE_HOST_FALLBACK = 1环境变量,正如预期的那样,当我运行上面的代码时,R终止了 .

Using Intel® MKL Automatic Offload on Intel Xeon Phi Coprocessors中它表示如果HOST_FALLBACK标志处于活动状态且尝试卸载但失败(由于“卸载运行时无法找到协处理器或无法正确初始化它”),它将终止程序 - 这发生在R完全终止 . 为了完整起见,此问题发生在R-3.5.1,Microsoft R Open 3.5.0和R-3.2.1上 .

So my questions are:

  • 在Xeon phi上运行R代码我错过了什么?你能告诉我我需要做些什么来完成这项工作吗?

  • (链接到1)有没有办法检查MKL卸载运行时是否可以看到Xeon phi?或者它是否正确设置,或者MKL初始化Xeon phi的问题是什么(如果有的话)?

如果那里有人可以帮助我,我会真诚地感激 - 我相信我错过了一个基本/简单的步骤,并且一直在试图让我的头发工作 .

提前谢谢了,

皮疹