【问题标题】:Intel OneAPI c++ doesn't recognize intel intrinsics英特尔 OneAPI c++ 无法识别英特尔内在函数
【发布时间】:2021-03-19 22:04:24
【问题描述】:

我在 Visual Studio 2019 中使用 OneAPI。

我已包含 immintrin.h。

使用 Intel Oneapp 构建时,出现以下错误。我已经检查了项目设置以防 AVX2 未启用,但没有选项可以使用类似于 arch: AVX2 的东西,就像在其他编译器中使用的一样。

error : unknown type name '__m256'

【问题讨论】:

  • 我对 OneAPI 了解不多,但您确定它应该支持 SSE/AVX 内部函数吗?该内在函数 API 不能移植到 GPU 加速或非 x86 平台。 (我猜它应该支持 x86 内在函数,但一些新的更便携的 API。__m128 工作吗?SSE2 是 x86-64 的基线,因此不需要启用。 )

标签: c++ compiler-errors intrinsics avx intel-oneapi


【解决方案1】:

首先,使用 lscpu 检查是否支持 avx。如果您在 lscpu 输出中找不到 avx 标志,您的处理器可能不支持 avx 指令。 要启用 avx 指令,您需要提供 -xavx 标志以在 Intel 处理器上运行。 示例:icpc -xavx

请参阅这些网站以获得更好的理解: https://techdecoded.intel.io/resources/vectorization-opportunities-for-improved-performance-with-intel-avx-512/#gs.ybxmlq

https://colfaxresearch.com/knl-avx512/

https://www.alcf.anl.gov/files/Intel%20Compiler%20Optimization%20and%20Building%20for%20KNL.pdf

问候

【讨论】:

    猜你喜欢
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 2016-12-03
    • 2022-01-14
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    相关资源
    最近更新 更多