我已在Windows 10 Pro中使用MPSS 3.8.4和Parallel XE 2017(初始发行版)设置了Xeon phi 3120A。我选择了Parallel XE,因为这是x100系列最后支持的XE。我已经安装了Parallel XE 2017(初始发行版)附带的MKL版本。
我做了什么/设置:
设置了MPSS 3.8.4,并执行了闪烁和ping之类的步骤之后,我检查了micctrl -s显示“ mic0 ready”(Linux映像包含相应的KNC名称),miccheck产生了所有“ pass” micinfo为我提供了协处理器提供的所有关键统计信息。
因此,在我看来,协处理器肯定已安装并被我的计算机识别。我还可以在micsmc gui中看到mic0已启动并正在运行。
然后,我已经设置了环境变量以启用自动卸载,即MKL_MIC_ENABLE = 1,OFFLOAD_DEVICES = 0,MKL_MIC_MAX_MEMORY = 2GB,MIC_ENV_PREFIX = MIC,MIC_OMP_NUM_THREADS = 228,MIC_KMP_AFFINITY =平衡。
问题-自动卸载不起作用
当我去运行R-3.4.3中的一些简单代码(复制后,专门为自动卸载而设计)时,它将继续通过我的主机运行代码,而不是通过Xeon phi运行任何代码。
为此,当我查看micsmc gui时,看不到Xeon Phis上有任何活动。
因此,自动卸载无法正常工作。
R代码:
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")
}
我尝试过的其他步骤:
然后我继续设置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上也会发生此问题。
所以我的问题是:
如果有人可以帮助我,我将表示由衷的感谢–我认为我缺少基本/简单的步骤,并且一直在努力完成这项工作。
在此先感谢
皮疹