gpt4 book ai didi

c - AVX-512 中 undefined reference

转载 作者:行者123 更新时间:2023-11-30 15:22:03 28 4
gpt4 key购买 nike

我有一个在 Xeon Phi 上运行的 C 代码,其中包含许多 AVX-512 内在函数。

代码编译良好,直到出现以下几行:

#ifdef __MIC__
__m512i mm_idx = _mm512_set_epi32(0, 0, 0, 0, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
__m512 mm_temp1 = _mm512_set1_ps(temp1);
__m512 mm_temp2 = _mm512_set1_ps(temp2);
__m512i mm_temp3 = _mm512_cvttps_epi32(_mm512_fmadd_ps(_mm512_cvtepi32_ps(mm_idx), mm_temp2, mm_temp1));
#else something else

编译器给出以下错误:

undefined reference to '_mm512_cvt_roundepi32_ps' 
undefined reference to '_mm512_cvtt_roundps_epi32'

我的第一个问题是,为什么编译器将 _mm512_cvttps_epi32_mm512_cvtepi32_ps 转换为 _mm512_cvtt_roundps_epi32_mm512_cvt_roundepi32_ps

第二个问题是,为什么这些内部函数特别是未定义的?我在顶部包含以下内容:

#include <immintrin.h>
#include <smmintrin.h>
#include <zmmintrin.h>

我使用的是icc (ICC) 15.0.1 20141023

最佳答案

AVX-512 指令集由英特尔于 2013 年推出,英特尔 Knights Landing (KNL) 硬件将支持该指令集。最新版本的英特尔(R) C++ 编译器已支持生成针对 AVX-512 的代码。有关英特尔 Knights Landing 项目的更多信息,请访问 https://software.intel.com/en-us/articles/what-disclosures-has-intel-made-about-knights-landing .

关于c - AVX-512 中 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29369906/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com