Соединение MEX (MATLAB) с Eigen и Intel MKL - PullRequest
1 голос
/ 01 февраля 2020

Я пытаюсь использовать библиотеку Eigen c ++ вместе с Intel MKL в MATLAB Mex. До сих пор мне удалось использовать библиотеку Eigen в Mex. Тем не менее, у меня есть некоторые проблемы, чтобы связать / запустить, когда Intel MKL включен. Чтобы создать скомпилированный код, я запустил в терминале ubuntu следующее (тот же каталог, когда файл MATLAB и MEX c ++):

mex CXXFLAGS="\$CXXFLAGS -Ofast -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp -L$/home/.../intel/mkl/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" -I$/home/.../intel/mkl/include -I/home/.../Downloads/eigen-eigen-323c052e1731/ -R2018a trial_Eigen_Mex.cpp

Код скомпилирован, однако я получаю следующую ошибку в MATLAB при использовании мекс-кода:

Неверный MEX-файл '/home/.../Documents/MATLAB/Work_2020/2020_01_06_Matlab_with_Cpp/trial_Eigen_Mex.mexa64': файл libmkl_intel_lp64.so: не может открыть файл общего доступа, такой как: файл или каталог

Примечание. Перед запуском mex-кода я установил переменную окружения intel MKL, выполнив на терминале следующую команду:

. /home/.../intel/mkl/bin/mklvars.sh intel64 lp64

Любой совет, что я делаю неправильно? Более того, я также не уверен, является ли ссылка правильным способом для этого.

...