Обнаружение, если Intel MKL включен в свойствах проекта Visual Studio

Я работаю над проектом, в котором Intel MKL приятно иметь, но недоступным на всех целевых платформах, поэтому я должен проверить его присутствие, чтобы вести себя соответственно.

Я включил Intel Performance Librariesсвойства моего проекта Visual Studio, как описано в разделе «Компиляция и связывание библиотеки ядра Math-ядра Intel с Microsoft * Visual C ++ * и в Intel® Math Kernel Library (Intel® MKL) 2018« Начало работы », но я не получаю определений препроцессора, описанных в разделе Использование предопределенных символов препроцессора для компиляции , зависящей от версии Intel® MKL , например __INTEL_MKL__, не определено.

Любые идеи, как я могу их получить? Или какие-либо другие средства для обнаружения Intel MKL?

c++,visual-studio,intel-mkl,

0

Ответов: 2


0

Итак, вы говорите, что у вас есть #include <mkl.h>в соответствующем файле, где вы хотите использовать препроцессор def и все __INTEL_MKL__же не определен?


0 принят

Я нашел способ, который является хорошим компромиссом, но не очень элегантным.

По-видимому, мы можем проверить значения параметров Страницы свойств в событиях Build. После обнаружения макроса UseIntelMKLя решил привязать значение a config.hк его значению и использовать config.hвместо этого директивы препроцессора, определенные в этом .

Вот примерно сценарий, который действует как Pre-build Event. Я в основном определяю __INTEL_MKL__себя config-mkl.h.

if "$(UseIntelMKL)"=="Parallel" (
  xcopy /Y /I $(ProjectDir)config-mkl.h $(ProjectDir)config.h
) else (
  xcopy /Y /I $(ProjectDir)config-nomkl.h $(ProjectDir)config.h
)
C ++, зрительно-студия, с процессором Intel MKL,
Похожие вопросы