0

我想用 MKL 编译这个 C 代码,但是当我使用 command 运行它时mpicc -mkl mkl_thread.c,它给了我一个关于 unrecognized command line option 的错误-mkl。当我mpicc mkl_thread.c -o mkl_thread以 . 我不知道如何使用 MKL 运行​​或链接它。

我的代码是:

define NUM_PROCS 5 

int main (int argc, char ** argv)

{

    int threads_per_proc[NUM_PROCS] = { 1,2 ,3, 4,5 };
    int rank;
    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    // ...
    // Signal an error if rank >= 5
    // ...
    mkl_set_num_threads(threads_per_proc[rank]);
    MPI_Finalize();
}
4

1 回答 1

1

-mkl是英特尔无法识别的特定选项mpicc

对于非英特尔编译器,您可以明确指定链接选项。

$ mpicc mkl_thread.c -o mkl_thread \
        -I$(MKLROOT)/include -L$(MKLROOT)/lib/intel64 \
        -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \
        -liomp5 -lpthread -lm

有关其他链接选项,请参阅英特尔® 数学核心函数库链接线顾问

于 2013-01-28T14:01:20.743 回答