0

我尝试使用 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 文件中启用,但当前已禁用
错误:PCH 文件已为目标“x86_64-pc-windows-msvc19.28.29914”编译,但当前翻译单元正在为目标“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 退出。

有谁知道我做错了什么?

4

1 回答 1

0

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

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

于 2021-08-10T11:39:58.510 回答