Version of PLASMA library supported by Abinit

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
sheng
Posts: 64
Joined: Fri Apr 11, 2014 3:44 pm

Version of PLASMA library supported by Abinit

Post by sheng » Sun Dec 20, 2015 11:32 am

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'

User avatar
pouillon
Posts: 651
Joined: Wed Aug 19, 2009 10:08 am
Location: Spain
Contact:

Re: Version of PLASMA library supported by Abinit

Post by pouillon » Mon Dec 21, 2015 1:34 pm

Just remove the comma and everything that follows on each line containing "use plasma". It should work smoothly.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

sheng
Posts: 64
Joined: Fri Apr 11, 2014 3:44 pm

Re: Version of PLASMA library supported by Abinit

Post by sheng » Tue Dec 22, 2015 4:09 am

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

User avatar
pouillon
Posts: 651
Joined: Wed Aug 19, 2009 10:08 am
Location: Spain
Contact:

Re: Version of PLASMA library supported by Abinit

Post by pouillon » Wed Dec 30, 2015 10:15 am

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.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Version of PLASMA library supported by Abinit

Post by gmatteo » Sat Jan 09, 2016 1:56 pm

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

Locked