Intel Compiler и C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Intel Compiler и

Сообщение Anonymous »

В рамках курса о высокопроизводительных вычислениях я должен использовать компилятор Intel для C ++ (ICX Now и ICPC, прежде чем я думаю), и библиотека из c. < /p>
Мой компилятор работает на библиотеках C ++, но он не удается редактировать Link of (It An Arrations Arrations. Документация Window, означающая, что у него есть внешний символ, который не распознается). < /p>
Мой учитель рекомендовал мне добавить опцию «-mkl» в команду компиляции, но не работает ни один. Он пользователь Mac, поэтому он не может мне помочь. Вот сообщение об ошибке, с которым я встречаюсь: < /p>
Введите описание изображения здесь < /p>
Итак, вот мой вопрос: как я могу указать своему компилятору, как редактировать ссылки для использования ? (Специальная опция /командная строка, файл, который я должен поместить в специальном пути, ...) < /p>
Вот код, который я использую: < /p>

Код: Выделить всё

// Compilation
//   icpc -mkl dgemmMKL.cpp
// Execution:
//   ./a.out

#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;

void initArray(vector &array) {
for (int i = 0; i < array.size(); i++)
array[i] = sin((1. / ((double)i + 1)));
}

int main() {

// parameter of the problem
int n = 1024;

// parameters for BLAS
enum CBLAS_LAYOUT Order = CblasRowMajor;
enum CBLAS_TRANSPOSE TransA = CblasTrans;
enum CBLAS_TRANSPOSE TransB = CblasNoTrans;
int M = n;
int N = n;
int K = n;
int lda = n;
int ldb = n;
int ldc = n;

// scalar and matrices
double alpha = 1.;
double beta = 1.;
vector A(n * n);
vector B(n * n);
vector C(n * n);
initArray(A);
initArray(B);
initArray(C);

// timing: start
clock_t timeBegin1 = clock();                           // with "ctime"
double timeBegin2 = dsecnd();                           // with "MKL"
auto timeBegin3 = chrono::high_resolution_clock::now(); // with "chrono"

cblas_dgemm(Order, TransA, TransB, M, N, K, alpha, &A[0], lda, &B[0], ldb,
beta, &C[0], ldc);

// timing: end
clock_t timeEnd1 = clock();
double timeEnd2 = dsecnd();
auto timeEnd3 = chrono::high_resolution_clock::now();

// timing: duration
double duration1 = (double)(timeEnd1 - timeBegin1) / CLOCKS_PER_SEC;
double duration2 = timeEnd2 - timeBegin2;
chrono::duration duration3 = timeEnd3 - timeBegin3;

cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79562504/intel-compiler-and-mkl-h[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»