Page 1 of 1

Version of PLASMA library supported by Abinit

Posted: Sun Dec 20, 2015 11:32 am
by sheng
As titled I wish to know the version of PLASMA library supported by Abinit.

I tried the latest version of PLASMA 2.8.0, which results in the error:

Code: Select all

 use plasma, except_dp => dp, except_sp => sp
            1
Error: Symbol 'dp' referenced at (1) not found in module 'plasma'
../../../src/28_numeric_noabirule/m_abi_linalg.F90:34.29:

 use plasma, except_dp => dp, except_sp => sp
                             1
Error: Symbol 'sp' referenced at (1) not found in module 'plasma'
../../../src/28_numeric_noabirule/abi_xgemm.f90:79.11:
    Included at ../../../src/28_numeric_noabirule/m_abi_linalg.F90:921:

&    c_loc(A),LDA,c_loc(B),LDB,BETA,c_loc(C),LDC)
           1
Error: Argument X at (1) to C_LOC shall have either the POINTER or the TARGET attribute
make[4]: *** [m_abi_linalg.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory `/home/sheng/Desktop/program/Abinit/abinit-7.10.5/build/src/28_numeric_noabirule'

Re: Version of PLASMA library supported by Abinit

Posted: Mon Dec 21, 2015 1:34 pm
by pouillon
Just remove the comma and everything that follows on each line containing "use plasma". It should work smoothly.

Re: Version of PLASMA library supported by Abinit

Posted: Tue Dec 22, 2015 4:09 am
by sheng
Thank the first part is solved by changing "use plasma, except_dp => dp, except_sp => sp" to "use plasma", but the second error remains:

Code: Select all

../../../src/28_numeric_noabirule/abi_xgemm.f90:79.11:
    Included at ../../../src/28_numeric_noabirule/m_abi_linalg.F90:921:

&    c_loc(A),LDA,c_loc(B),LDB,BETA,c_loc(C),LDC)
           1
Error: Argument X at (1) to C_LOC shall have either the POINTER or the TARGET attribute
make[5]: *** [m_abi_linalg.o] Error 1

Re: Version of PLASMA library supported by Abinit

Posted: Wed Dec 30, 2015 10:15 am
by pouillon
This means that the API of PLASMA has changed. Please look at its documentation and change the calls accordingly. Once you succeed in compiling Abinit, we would be grateful if you sent us a diff file with your changes, so that we can include them in future versions of Abinit.

Re: Version of PLASMA library supported by Abinit

Posted: Sat Jan 09, 2016 1:56 pm
by gmatteo
Change the interface of abi_xgemm_2d in abi_xgemm.f90 by adding the target attribute to A, B, C

=== modified file 'src/28_numeric_noabirule/abi_xgemm.f90'
--- src/28_numeric_noabirule/abi_xgemm.f90 2015-01-24 06:09:47 +0000
+++ src/28_numeric_noabirule/abi_xgemm.f90 2016-01-09 12:46:39 +0000
@@ -61,9 +61,9 @@
integer,intent(in) :: N
complex(dpc),intent(in) :: ALPHA
complex(dpc),intent(in) :: BETA
- complex(dpc),intent(in) :: A(lda,*)
- complex(dpc),intent(in) :: B(ldb,*)
- complex(dpc),intent(inout) :: C(ldc,*)
+ complex(dpc),target,intent(in) :: A(lda,*)
+ complex(dpc),target,intent(in) :: B(ldb,*)
+ complex(dpc),target,intent(inout) :: C(ldc,*)

integer :: info
#ifdef DEV_LINALG_TIMING