Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

occured linking errors while using CLUSTER_SPARSE_SOLVER

Mayur_B_
Beginner
403 Views

Hello Everyone,

           While using 'CLUSTER_SPARSE_SOLVER' for solving sparse matrix, I got linking errors. I have included "mkl_cluster_sparse_solver.h" as well as "mpi.h" files also. What should I do next?

Thanks in advance.

Mayur

BUILD LOG :-

1>------ Build started: Project: MKLWrapper, Configuration: Release x64 ------
1>Build started 12/5/2014 3:53:24 PM.
1>InitializeBuildStatus:
1>  Touching "..\..\Obj\x64\Release\MKLWrapper\MKLWrapper.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  All outputs are up-to-date.
1>  MKLWrapper.cpp
1>Link:
1>     Creating library ..\..\Obj\x64\Release\MKLWrapper\..\MKLWrapper.lib and object ..\..\Obj\x64\Release\MKLWrapper\..\MKLWrapper.exp
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Barrier
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Comm_rank
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Comm_size
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Irecv
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Recv
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Isend
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Send
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Test
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Bcast
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Comm_split
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Scatterv
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Gatherv
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Allgather
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Reduce
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Alltoall
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Alltoallv
1>mkl_core.lib(cpardiso_blacs.obj) : error LNK2001: unresolved external symbol MKL_Comm_free

0 Kudos
3 Replies
Zhang_Z_Intel
Employee
403 Views

You should include "mkl.h" and "mpi.h". Also, try "MKL Link Line Advisor" to see necessary link line options. (https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor)

0 Kudos
Gennady_F_Intel
Moderator
403 Views

take a look at the Cluster Sparse Solver C/Fortran examples for MKL release into <mkl_root>\example\cluster_sparse_solverf  folder

 

0 Kudos
Mayur_B_
Beginner
403 Views

Thanks Zhang and Gennady for quick reply. I have implemented those changes. But I got run time error.

As I have kept all the parameters excluding message passing interface(MPI) same as "pardiso" function parameters.

and MPI initialised as follows,

    int     comm, rank;
    int     mpi_stat = 0;
    int     argc = 0;
    char**  argv;
    mpi_stat = MPI_Init( &argc, &argv );
    mpi_stat = MPI_Comm_rank( MPI_COMM_WORLD, &rank );
    comm = MPI_Comm_c2f( MPI_COMM_WORLD );

 

    Is anything wrong done by me? Please give suggestions. Thanks for having patience.

 

0 Kudos
Reply