Я бегу mkl_lab_solution.c, который является примером для использования МКЛ, я могу скомпилировать его правильно, в то время как я бегу, я получил Сегментация fault.My выполнения ниже:ошибка сегментирования во время работы для интерфейса MKL в
- OS это версия CentOS 6.3
- GCC является 4.1.2
- является mkl_10.3.12.361 MKL
Makefile ниже
-g -L GCC/Opt/Intel/компо ser_xe_2011_sp1.12.361/mkl/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_lp64 -lmkl_intel_sp2dp -lmkl_intel_thread -lmkl_core -lpthread -L/opt/intel/composer_xe_2011_sp1.12.361/compiler/lib/intel64 -liomp5 -L/usr/lib64 -lstdC++ -I/выбрать/Intel/composer_xe_2011_sp1.12.361/мкл/включить -o тест MKL-ЛАБ-solution.c
спасибо! Это работает над вашим описанием. Еще один вопрос заключается в том, что я получаю варианты компоновщика от [intel mkl link line advisor] (http://software.intel.com/en-us/articles/intel-mkl-link- line-advisor), детали: «-Wl, - start-group $ (MKLROOT) /lib/intel64/libmkl_intel_lp64.a $ (MKLROOT) /lib/intel64/libmkl_intel_thread.a $ (MKLROOT)/lib/intel64/libmkl_core .a $ (MKLROOT) /lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl, - end-group -liomp5 -lpthread -lm ", я не знаю параметров с именем -Wl, - start-group, не могли бы вы объяснить для меня, и я мог пропустить их и не потерять производительность, потому что не смог скомпилировать с nvcc – taoyuanjl
Когда вы выбираете статическое связывание, вам нужно указать необходимые объектные файлы. Это делается в файлах -Wl, - start-group object -Wl, - end-group'. Преимущество статического связывания заключается в том, что все используемые функции скомпилированы в вашу библиотеку/exectuable и не должны быть доступны в 'LD_LIBRARY_PATH'. Ваш исполняемый файл просто увеличивается. Нет никакой разницы в производительности. Вы можете пропустить их, если используете общую ссылку, но вы должны убедиться, что все библиотеки находятся в вашем LD_LIBRARAY_PATH, запустите '/path/to/intel/compilervars.sh intel64' перед выполнением вашей программы. – Bort
Я еще не пробовал nvcc с mkl.К сожалению, я не могу комментировать это. Технически я считаю, что это должно сработать. – Bort