VS2008中的AVX-512指令库
AVX-512 instructions library in VS2008
我在Visual Studio 2017中构建了一个使用AVX-512内部函数的C++库。我需要将库链接到VS2008 C++代码。该库用于从图像中提取线条。所有内部指令都封装在库中。VS2008代码以char* data
、LineSpec
(有4个浮点数的结构(和char* result
传递,其中填充了提取的行。
由于错误 C1083:无法打开包含文件:immintrin.h
,我无法链接库。出于同样的原因,我也无法使用 VS2017 工具集在 VS2008 中构建库。
目标是使用 AVX-512 指令提高提取速度,同时使用 VS2008 编译其余代码。我是内联和混音平台的新手。您对如何在VS2008中使用库有什么建议吗?
你不能
要调用使用 ymm 寄存器的函数,编译器需要发出指令以根据 ABI 准备这些寄存器。但是AVX-512在2008年不存在,因此VS2008无法知道ABI或AVX-512指令。
然后,在链接时,您还需要了解指令集以了解要修复的地址,尽管这可能更容易解决存储在目标代码中的偏移量。
简而言之,您需要更新编译器,而不是使用十年前的编译器
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- C++:对不存在的命名空间使用命名空间指令
- 用于AVX的ln(x)的实现,m256
- 函数名是c中该函数的第一条指令的地址吗
- 错误:无效的预处理指令 #i 的意思是 #if?
- 在AVX通道中混洗的最佳方式
- AVX 指令中寄存器和指针之间的客观差异
- VS2008中的AVX-512指令库
- 使用 AVX 对两个 zmm(512 位)寄存器进行异或运算
- MSVC 2017 是否支持具有自动矢量化的 AVX 512
- 如何检查编译的代码是否使用了 SSE 和 AVX 指令?
- 模拟 AVX-512 掩码指令
- 在英特尔x86体系结构上使用非AVX指令修改xmm整数寄存器值
- 如何使用 avx 指令将浮点数向量转换为短整型?
- 英特尔酷睿i7的AVX上存在非法指令
- 强制AVX内部函数使用SSE指令
- 使用gcc 4.6.1在mex中启用AVX指令
- 英特尔指令集扩展和用户机(AVX, IMCI…)
- Valgrind非法指令AVX