openmp 卸载功能引发错误“英特尔编译器兼容模式已禁用”

时间:2021-06-08 10:59:15

标签: openmp icx

我尝试使用 openmp 卸载功能。不幸的是,我在尝试编译时收到一些奇怪的错误消息。 (Windows 10) 以下是我使用的命令行选项:

<块引用>

/Yu"stdafx.h" /GS /fsycl /Qiopenmp /W3/fsycl-targets=spir64_gen-unknown-unknown-sycldevice /Zi /O2 /Qopenmp-targets:spir64/Qipo /Zc:forScope /MD /std :c++17 /Fa"x64\Release" /EHsc /nologo /Fo"x64\Release" //fprofile-instr-use "x64\Release" /Fp"x64\Release\AlgoGPU.pch"

我删除了 /I 和 /D
这是我在编译过程中得到的:

<块引用>

错误:启用或禁用英特尔编译器兼容模式已在 PCH 文件中启用但当前已禁用
错误:已为目标“x86_64-pc-windows-msvc19.28.29914”编译 PCH 文件,但正在为目标“spir64_gen-unknown-unknown-sycldevice”编译当前翻译单元
产生了 2 个错误。
C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\Intel C++ Compiler 2021\Toolset.targets(199,5): 错误 MSB6006: "icx .exe”以代码 1 退出。

有人知道我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我使用 oneAPI DPC++/icx 编译器尝试了以下命令行选项

-fsycl -fsycl-targets=spir64_gen-unknown-unknown-sycldevice /std:c++17 /O2 /Zc:forScope /MD /Qiopenmp /Qopenmp-targets=spir64