Нет ускорения после использования MKL для Eigen

Я использую Eigen 3.3 и Intel MKL 2017, а также пишу и запускаю программу в Visual Studio 2012 с 64-разрядной системой Win-7 и процессором Intel Xeon® E5-1620 v2@3.70GHZ.

Я верю, что моя конфигурация для MKL верна, потому что я могу успешно запускать MKL экзаменационные коды. Конфигурация для использования Intel MKL от Eigen следует из https://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html. Для Visiual Studio 2012 я компилирую коды через Intel C++ Complier в версии Release x64.

Однако следующий код всегда занимает около 400 секунд, независимо от того, установлен ли я #define EIGEN_USE_MKL_ALL или нет (т. Е. Если используется Intel MKL). Кажется, что MKL не работает в Eigen.

Кто-нибудь может дать какое-нибудь предложение? Благодарю.

#define EIGEN_USE_MKL_ALL // Determine if use MKL
#define EIGEN_VECTORIZE_SSE4_2

#include "stdafx.h"
#include <iostream>
#include <Eigen/Core>
#include <Eigen/Dense>
#include <time.h>

using namespace std;
using namespace Eigen;

//
int main(int argc, char *argv[])
{
    MatrixXd a = MatrixXd::Random(30000, 3000);  
    MatrixXd b = MatrixXd::Random(3000, 30000);

    double start = clock();
    MatrixXd c = a * b;    // 
    double endd = clock();
    double thisTime = (double)(endd - start) / CLOCKS_PER_SEC;

    cout << thisTime << endl;

    system("PAUSE");
    return 0;
}

0 ответов

Другие вопросы по тегам