Compling the code setting '--enable-dp=yes'
Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani
Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
-
- Posts: 2
- Joined: Wed Mar 25, 2009 10:04 am
Compling the code setting '--enable-dp=yes'
Dear all,
I tried to complie the code with double precision but failed. Following are the detailed information:
First, I typed in this command "./configure --enable-dp="yes" ", and then followed "make all".
The corresponding error says,
fortcom: Error: mod_logo.f90, line 82: The type of the actual argument differs from the type of the dummy argument. [10.]
ID_logo=pickup_a_random(10.)
----------------------------------^
fortcom: Error: mod_logo.f90, line 83: The type of the actual argument differs from the type of the dummy argument. [6.]
ID_logo_stderr=10+pickup_a_random(6.)
--------------------------------------------^
compilation aborted for mod_logo.f90 (code 1)
make[1]: *** [mod_logo.o] Error 1
It seems that there is just something wrong caused by the precision setting, but I am too green to modify the source code. It works all fine when the double precision is not activated, that is "./configure" and then "make all".
Could anyone give me some suggestions? Thanks very much in advance!
Best Regards,
Gembob
Shanghai Institute of Ceramics, Chinese Academy of Sciences
1295 DingXi Road. Shanghai,200050,China
I tried to complie the code with double precision but failed. Following are the detailed information:
First, I typed in this command "./configure --enable-dp="yes" ", and then followed "make all".
The corresponding error says,
fortcom: Error: mod_logo.f90, line 82: The type of the actual argument differs from the type of the dummy argument. [10.]
ID_logo=pickup_a_random(10.)
----------------------------------^
fortcom: Error: mod_logo.f90, line 83: The type of the actual argument differs from the type of the dummy argument. [6.]
ID_logo_stderr=10+pickup_a_random(6.)
--------------------------------------------^
compilation aborted for mod_logo.f90 (code 1)
make[1]: *** [mod_logo.o] Error 1
It seems that there is just something wrong caused by the precision setting, but I am too green to modify the source code. It works all fine when the double precision is not activated, that is "./configure" and then "make all".
Could anyone give me some suggestions? Thanks very much in advance!
Best Regards,
Gembob
Shanghai Institute of Ceramics, Chinese Academy of Sciences
1295 DingXi Road. Shanghai,200050,China
- andrea marini
- Posts: 325
- Joined: Mon Mar 16, 2009 4:27 pm
- Contact:
Re: Compling the code setting '--enable-dp=yes'
In a few days I will have a look at the problem. The double precision compilation of Yambo is, anyway, tricky and not deeply tested. While I try to fix the problem may I ask you why do you want to run in double precision ? Databases' size is doubled, memory is doubled and,in general, unless you are not doing very tricky calculations you do not get any precision improvement. GW, BSE and all the machinery implemented in Yambo has some intrinsic precision that will be never as good as the chemistry codes.Gembob wrote: It seems that there is just something wrong caused by the precision setting, but I am too green to modify the source code. It works all fine when the double precision is not activated, that is "./configure" and then "make all".
Could anyone give me some suggestions? Thanks very much in advance!
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)
Istituto di Struttura della Materia, CNR, (Italy)
- andrea marini
- Posts: 325
- Joined: Mon Mar 16, 2009 4:27 pm
- Contact:
Re: Compling the code setting '--enable-dp=yes'
Dear Gembob,
please install subversion and use the latest snapshot (rev. 424) of the Yambo source to compile in double precision.
please install subversion and use the latest snapshot (rev. 424) of the Yambo source to compile in double precision.
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)
Istituto di Struttura della Materia, CNR, (Italy)
-
- Posts: 2
- Joined: Wed Mar 25, 2009 10:04 am
Re: Compling the code setting '--enable-dp=yes'
Dear andrea marini,
Thank you very much for your kind help!
I want to compile the code with double precision because I usually got some "unreal peaks" (I think so, maybe there were something wrong with my calculation) compared to the experiment, I wanted to check out if they were come from the precison setting. As you said, it seems unnecessary to do so.
Anyway, thank you very much.
Best Regards,
Gembob
Thank you very much for your kind help!
I want to compile the code with double precision because I usually got some "unreal peaks" (I think so, maybe there were something wrong with my calculation) compared to the experiment, I wanted to check out if they were come from the precison setting. As you said, it seems unnecessary to do so.
Anyway, thank you very much.
Best Regards,
Gembob
Shanghai Institute of Ceramics, Chinese Academy of Sciences
1295 DingXi Road. Shanghai,200050,China
1295 DingXi Road. Shanghai,200050,China
-
- Posts: 3
- Joined: Wed Oct 07, 2009 5:06 pm
Re: Compling the code setting '--enable-dp=yes'
Dear All
I configured and compiled yambo with the --enable-dp option and I just got the same type
of error message as Gembob. I made the changes described below in 7, and the code compiled
succesfully. The question is: Are those changes OK?
After doing this, I realized of the topic message of Gembob.
Then I compiled without the --enable-dp option.
The code, again, compiled susccesfully; anyway I just wanted to reply to this topic.
Below I describe the characteristics of the configuration and compilation.
Best Regards
Norberto
Optical Research Center, Leon, Mexico
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1. Compiler: Intel Fortran Compiler 9.1
gcc version 3.4.4
2. Architecture: Itanium 2, ia64
3. Compilation in parallel
4. Yambo: yambo-3.2.1-r.448
5. Configure options:
$ ./configure --prefix=/home/prog/yambo-3.2.1-r.448_itanium
FC=ifort CC=gcc
--enable-dp --with-p2y=4.0 --with-blacs=no
--with-blas=/home/prog/yambo-3.2.1-r.448_itanium/lib/blas/libblas.a
--with-lapack=/home/prog/yambo-3.2.1-r.448_itanium/lib/lapack.a
--with-mpi=/home/mpich_itanium/lib/libmpich.a
--with-iotk=/home/prog/espresso-4.1_itanium/iotk
FCFLAGS=-O2 -Bstatic -parallel -tpp2
-L/home/mpich_itanium/lib -I/home/mpich_itanium/include
-L/home/prog/etsf-libs/libxc-1.0-alpha_itanium/lib
-L/home/prog/espresso-4.1_itanium/iotk
CFLAGS=-L/home/mpich_itanium/lib -I/home/mpich_itanium/include
-L/home/prog/etsf-libs/libxc-1.0-alpha_itanium/lib
-L/home/prog/espresso-4.1_itanium/iotk
6. Error: compilation aborted for a2y_i.f90 (code 1)
The error message was:
################>>>>>>>>>>>>>>>>>>>>>
>>>[Linking a2y]<<<
make[1]: Entering directory `/home/prog/yambo-3.2.1-r.448_itanium/interfaces/a2y'
make[1]: Warning: File `Makefile' has modification time 2.3e+03 s in the future
defs_datatypes.F hdr_io.F a2y_KSS_file_name.F fortcom: Error: a2y_i.f90, line 66: The type of the actual argument differs from the type of the dummy argument. [10000.]
serial_number=pickup_a_random(10000.)
-------------------------------^
compilation aborted for a2y_i.f90 (code 1)
make[1]: *** [a2y_i.o] Error 1
make[1]: Leaving directory `/home/prog/yambo-3.2.1-r.448_itanium/interfaces/a2y'
make: *** [interfaces] Error 2
################<<<<<<<<<<<<<<<<<<<<<<
7. Fix to the problem:
I made the following three changes
i. In file ./interfaces/a2y/a2y_i.F
I changed the line
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000.d0)
ii. In file ./interfaces/p2y/p2y_i.F
I changed the line
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000.d0)
iii. In file ./src/modules/mod_logo.F
I changed the line
real(SP) :: rand_range
to
real(DP) :: rand_range
%%%%%%%%%%%%%%%%%%%%%%%%
I configured and compiled yambo with the --enable-dp option and I just got the same type
of error message as Gembob. I made the changes described below in 7, and the code compiled
succesfully. The question is: Are those changes OK?
After doing this, I realized of the topic message of Gembob.
Then I compiled without the --enable-dp option.
The code, again, compiled susccesfully; anyway I just wanted to reply to this topic.
Below I describe the characteristics of the configuration and compilation.
Best Regards
Norberto
Optical Research Center, Leon, Mexico
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1. Compiler: Intel Fortran Compiler 9.1
gcc version 3.4.4
2. Architecture: Itanium 2, ia64
3. Compilation in parallel
4. Yambo: yambo-3.2.1-r.448
5. Configure options:
$ ./configure --prefix=/home/prog/yambo-3.2.1-r.448_itanium
FC=ifort CC=gcc
--enable-dp --with-p2y=4.0 --with-blacs=no
--with-blas=/home/prog/yambo-3.2.1-r.448_itanium/lib/blas/libblas.a
--with-lapack=/home/prog/yambo-3.2.1-r.448_itanium/lib/lapack.a
--with-mpi=/home/mpich_itanium/lib/libmpich.a
--with-iotk=/home/prog/espresso-4.1_itanium/iotk
FCFLAGS=-O2 -Bstatic -parallel -tpp2
-L/home/mpich_itanium/lib -I/home/mpich_itanium/include
-L/home/prog/etsf-libs/libxc-1.0-alpha_itanium/lib
-L/home/prog/espresso-4.1_itanium/iotk
CFLAGS=-L/home/mpich_itanium/lib -I/home/mpich_itanium/include
-L/home/prog/etsf-libs/libxc-1.0-alpha_itanium/lib
-L/home/prog/espresso-4.1_itanium/iotk
6. Error: compilation aborted for a2y_i.f90 (code 1)
The error message was:
################>>>>>>>>>>>>>>>>>>>>>
>>>[Linking a2y]<<<
make[1]: Entering directory `/home/prog/yambo-3.2.1-r.448_itanium/interfaces/a2y'
make[1]: Warning: File `Makefile' has modification time 2.3e+03 s in the future
defs_datatypes.F hdr_io.F a2y_KSS_file_name.F fortcom: Error: a2y_i.f90, line 66: The type of the actual argument differs from the type of the dummy argument. [10000.]
serial_number=pickup_a_random(10000.)
-------------------------------^
compilation aborted for a2y_i.f90 (code 1)
make[1]: *** [a2y_i.o] Error 1
make[1]: Leaving directory `/home/prog/yambo-3.2.1-r.448_itanium/interfaces/a2y'
make: *** [interfaces] Error 2
################<<<<<<<<<<<<<<<<<<<<<<
7. Fix to the problem:
I made the following three changes
i. In file ./interfaces/a2y/a2y_i.F
I changed the line
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000.d0)
ii. In file ./interfaces/p2y/p2y_i.F
I changed the line
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000.d0)
iii. In file ./src/modules/mod_logo.F
I changed the line
real(SP) :: rand_range
to
real(DP) :: rand_range
%%%%%%%%%%%%%%%%%%%%%%%%
- myrta gruning
- Posts: 242
- Joined: Tue Mar 17, 2009 11:38 am
- Contact:
Re: Compling the code setting '--enable-dp=yes'
Dear Norberto,
Thank you very much for bringing this error to our attention.
In fact this problem has been solved in other parts of the code, but not in the interfaces.
Regards your changes, it is not necessary to set the rand_range variable (the argument of pickup_a_random) to double precision. It is just the range of reals where to pick a random number (that will use as serial number to identify the database).
So it is sufficient to change in a2y_i.F and p2y_i.F
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000._SP)
Without touching modules/mod_logo.F
We will fix that in the next revisions.
Regards,
Myrta
Thank you very much for bringing this error to our attention.
In fact this problem has been solved in other parts of the code, but not in the interfaces.

Regards your changes, it is not necessary to set the rand_range variable (the argument of pickup_a_random) to double precision. It is just the range of reals where to pick a random number (that will use as serial number to identify the database).
So it is sufficient to change in a2y_i.F and p2y_i.F
serial_number=pickup_a_random(10000.)
to
serial_number=pickup_a_random(10000._SP)
Without touching modules/mod_logo.F
We will fix that in the next revisions.
Regards,
Myrta
Dr Myrta Grüning
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland
http://www.researcherid.com/rid/B-1515-2009
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland
http://www.researcherid.com/rid/B-1515-2009
-
- Posts: 35
- Joined: Thu May 21, 2009 3:46 pm
Re: Compling the code setting '--enable-dp=yes'
Dear yambo developers,
by compiling yambo on IMB POWER 6 with double precision, we successfully compiled by modifing the file /src/coulomb/bessel_J0.F in the following way:
and by defining SP a couple of variables.
Cheers!
Marco Govoni and Ivan Marri
by compiling yambo on IMB POWER 6 with double precision, we successfully compiled by modifing the file /src/coulomb/bessel_J0.F in the following way:
Code: Select all
function bessel_J0(s)
use pars, ONLY:SP
use R_lattice, ONLY:cyl_vr_save,cyl_zz_save
implicit none
!
real(SP) ::bessel_J0
!
! Work Space
!
#if defined _DOUBLE
real(SP), external :: DBESJ0_
#else
real(SP), external :: BESJ0
#endif
real(SP) :: s,arg
!
arg=cyl_vr_save*s
if(cyl_zz_save==0) then
#if defined _DOUBLE
bessel_J0=DBESJ0_(arg)
#else
bessel_J0=BESJ0(arg)
#endif
else
#if defined _DOUBLE
bessel_J0=DBESJ0_(arg)*s/sqrt(s**2+cyl_zz_save**2)
#else
bessel_J0=BESJ0(arg)*s/sqrt(s**2+cyl_zz_save**2)
#endif
endif
end function
Cheers!
Marco Govoni and Ivan Marri
Marco Govoni
Physics Department, University of Modena and Reggio Emilia (Italy)
Physics Department, University of Modena and Reggio Emilia (Italy)
- andrea marini
- Posts: 325
- Joined: Mon Mar 16, 2009 4:27 pm
- Contact:
Re: Compling the code setting '--enable-dp=yes'
Dear Marco & Ivan,
what revision are you working on ? Could you send us/me the files you have changes so that I can patch the source in the repository ?
THX!
Andrea
what revision are you working on ? Could you send us/me the files you have changes so that I can patch the source in the repository ?
THX!
Andrea
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)
Istituto di Struttura della Materia, CNR, (Italy)