Библиотека инструкций AVX-512 в VS2008 - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть библиотека C ++, встроенная в Visual Studio 2017, которая использует встроенные функции AVX-512.Мне нужно связать библиотеку с кодом C ++ VS2008.Библиотека используется для извлечения строк из изображения.Все внутренние инструкции инкапсулированы в библиотеке.Код VS2008 передается в char* data, LineSpec (структура с 4 числами) и char* result, которая заполняется извлеченными строками.

Я не могу связать библиотеку из-за ошибки C1083: Невозможно открыть включаемый файл: immintrin.h.Я также не могу собрать библиотеку в VS2017 с использованием набора инструментов VS2008 по той же причине.

Цель состоит в том, чтобы увеличить скорость извлечения с помощью инструкций AVX-512 при компиляции остальной части кода с помощью VS2008.Я новичок в встроенных и микширующих платформах.Есть ли у вас какие-либо предложения о том, как использовать библиотеку в VS2008?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы не можете

Для вызова функции, использующей регистры ymm, компиляторам необходимо выдать инструкции для их подготовки в соответствии с ABI.Но AVX-512 в 2008 году не существовало, поэтому у VS2008 нет возможности узнать об инструкциях ABI или AVX-512

И затем при соединении вам также необходимо знать о наборе команд, чтобы узнать, какой адресисправить, хотя это может быть легче решить с помощью смещения, хранящегося в объектном коде

Короче говоря, вам нужно обновить компилятор вместо использования десятилетнего

...