compiler option /4I8 , MPI input parameters , cluster_sparse_solver_64

compiler option /4I8 , MPI input parameters , cluster_sparse_solver_64

Hello all,

I have a question regaarding the Compiler Option /4I8:

I am dealing with very very larg Matrix and I have to use Cluster_sparse_solver_64 (some components of the ia exceeds the 2^31-1). So I must use /4I8 when I compile the program (using mpiifort).

When I use /4I8, I recieve a warning that

parallel01.f90(77): warning #6075: The data type of the actual argument does not match the definition.   [IERR]
        CALL MPI_INIT( ierr )
-----------------------^
parallel01.f90(79): warning #6075: The data type of the actual argument does not match the definition.   [MKL_COMM]
        CALL MPI_COMM_RANK( MKL_COMM, myid, ierr )
----------------------------^
parallel01.f90(79): warning #6075: The data type of the actual argument does not match the definition.   [MYID]
        CALL MPI_COMM_RANK( MKL_COMM, myid, ierr )
--------------------------------------^
parallel01.f90(79): warning #6075: The data type of the actual argument does not match the definition.   [IERR]
        CALL MPI_COMM_RANK( MKL_COMM, myid, ierr )
--------------------------------------------^

and when I Change the data type of myid, ierr and mkl_comm from integer(4) to integer(8), i get another error that:

parallel01.f90(283): error #6285: There is no matching specific subroutine for this generic subroutine call.   [CLUSTER_SPARSE_SOLVER_64]
        CALL CLUSTER_SPARSE_SOLVER_64 (CPT,CMAXFCT, CMNUM, CMTYPE, CPHASE,CN,M_SPARSE,cum_row_index,col_index8,CPERM,CNRHS,CIPARM,CMSGLVL,RHS,X,MKL_COMM,CERROR)
-------------^

Also, when I do not use /4I8, every Thing is fine, but when running the program I get a runtime error.

Can somebody help me in this regard or give me an example for using Cluster_sparse_solver_64 (this is not provided i Intel document).

Stay cool

Mehdi

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Cluster_sparse_solver_64  -- You need to link with LP64 libs ( that's mean all others mkl functions would be use 4bit integer ) but all input integer parameters have to be declare as long long or integer(8). We don’t provide the examples with this API, but thanks for the tips, we will add this into future. Meantime, You may try find out similar example into this forum.

Leave a Comment

Please sign in to add a comment. Not a member? Join today