VS2008中的AVX-512指令库

AVX-512 instructions library in VS2008

本文关键字:指令 AVX-512 中的 VS2008      更新时间:2023-10-16

我在Visual Studio 2017中构建了一个使用AVX-512内部函数的C++库。我需要将库链接到VS2008 C++代码。该库用于从图像中提取线条。所有内部指令都封装在库中。VS2008代码以char* dataLineSpec(有4个浮点数的结构(和char* result传递,其中填充了提取的行。

由于错误 C1083:无法打开包含文件:immintrin.h,我无法链接库。出于同样的原因,我也无法使用 VS2017 工具集在 VS2008 中构建库。

目标是使用 AVX-512 指令提高提取速度,同时使用 VS2008 编译其余代码。我是内联和混音平台的新手。您对如何在VS2008中使用库有什么建议吗?

你不能

要调用使用 ymm 寄存器的函数,编译器需要发出指令以根据 ABI 准备这些寄存器。但是AVX-512在2008年不存在,因此VS2008无法知道ABI或AVX-512指令。

然后,在链接时,您还需要了解指令集以了解要修复的地址,尽管这可能更容易解决存储在目标代码中的偏移量。

简而言之,您需要更新编译器,而不是使用十年前的编译器