Compiling QUEST with aggressive optimizations can take a lot of time. Normally
in similar situations people use parallel compilation. Make supports it out of
the box.
For example:
make -j 4
will compile the code in 4 threads.
This does not work in QUEST right now. This is not a big deal, but still... To
make parallel compilation of the QUEST some makefiles, but not the code should
be modified.
Right now I get something like:
make -j 4
(cd SRC; make)
(cd EXAMPLE; make)
make[1]: Entering directory `/home/vladimir/work/quest-qmc/EXAMPLE'
(cd geom; make)
make[1]: Entering directory `/home/vladimir/work/quest-qmc/SRC'
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_mpi.F90
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_util.F90
make[2]: Entering directory `/home/vladimir/work/quest-qmc/EXAMPLE/geom'
make[2]: *** No rule to make target `../../libdqmc.a', needed by `test'. Stop.
make[2]: Leaving directory `/home/vladimir/work/quest-qmc/EXAMPLE/geom'
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_cfg.F90
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/vladimir/work/quest-qmc/EXAMPLE'
make: *** [example_] Error 2
make: *** Waiting for unfinished jobs....
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_geom_param.F90
dqmc_cfg.F90(3): error #7002: Error in opening the compiled module file. Check
INCLUDE paths. [DQMC_UTIL]
use DQMC_util
------^
dqmc_cfg.F90(225): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp) :: rval
----------^
dqmc_cfg.F90(227): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), pointer :: rptr(:)
----------^
dqmc_cfg.F90(619): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp) :: tmp(alen) ! for reading t
---------^
dqmc_cfg.F90(793): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), intent(in) :: value
---------^
dqmc_cfg.F90(823): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), intent(in) :: value(n)
---------^
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_latt.F90
dqmc_cfg.F90(987): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), intent(out) :: value !
---------^
dqmc_cfg.F90(1022): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), pointer :: value(:)
---------^
ifort -m64 -fast -warn all -unroll -DDQMC_ASQRD -c dqmc_bonds.F90
compilation aborted for dqmc_cfg.F90 (code 1)
make[1]: *** [dqmc_cfg.o] Error 1
make[1]: *** Waiting for unfinished jobs....
dqmc_bonds.F90(4): error #7002: Error in opening the compiled module file.
Check INCLUDE paths. [DQMC_LATT]
use DQMC_LATT
----^
dqmc_bonds.F90(14): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), pointer :: xxbond(:,:) !bond vector cartesian coordinates (rdim,ntotbond)
------^
dqmc_bonds.F90(37): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), pointer :: bond_wgt(:,:) !coefficient forming the wave (nwave, nbond)
------^
dqmc_bonds.F90(100): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp) :: delta(rdim)
-----^
dqmc_bonds.F90(101): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp),pointer :: xxbond(:,:)
-----^
dqmc_bonds.F90(179): error #6457: This derived type name has not been declared.
[LATTICE_T]
type(lattice_t) :: lattice
-----^
dqmc_bonds.F90(187): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp) :: rdum
-----^
dqmc_bonds.F90(188): error #6683: A kind type parameter must be a compile-time
constant. [WP]
real(wp), pointer :: pair_bond_wgt(:,:)
-----^
dqmc_bonds.F90(176): warning #6717: This name has not been given an explicit
type. [LATTICE]
subroutine construct_pairs(Bonds,Pairs,lattice)
---------------------------------------^
dqmc_bonds.F90(109): error #6404: This name does not have a type, and must have
an explicit type. [MOVE_TO_RECORD]
if(move_to_record(INPUT_FIELDS(BONDS_F),inpunit))then
---^
dqmc_bonds.F90(109): error #6341: A logical data type is required in this
context. [MOVE_TO_RECORD]
if(move_to_record(INPUT_FIELDS(BONDS_F),inpunit))then
---^
dqmc_bonds.F90(194): error #6404: This name does not have a type, and must have
an explicit type. [LATTICE]
natom=lattice%natom
------^
dqmc_bonds.F90(194): error #6460: This is not a field name that is defined in
the encompassing structure. [NATOM]
natom=lattice%natom
--------------^
dqmc_bonds.F90(195): error #6460: This is not a field name that is defined in
the encompassing structure. [NSITES]
nsites=lattice%nsites
---------------^
dqmc_bonds.F90(196): error #6460: This is not a field name that is defined in
the encompassing structure. [NCELL]
ncell=lattice%ncell
--------------^
dqmc_bonds.F90(202): error #6404: This name does not have a type, and must have
an explicit type. [MOVE_TO_RECORD]
if(move_to_record(INPUT_FIELDS(PAIRS_F),inpunit))then
---^
dqmc_bonds.F90(202): error #6341: A logical data type is required in this
context. [MOVE_TO_RECORD]
if(move_to_record(INPUT_FIELDS(PAIRS_F),inpunit))then
---^
dqmc_bonds.F90(290): error #6404: This name does not have a type, and must have
an explicit type. [HOPTOWHO]
pair_bond_end(ibond,icell) = hoptowho(isite,Bonds%xxbond(1:rdim,jbond),jat,lattice)
--------------------------------------^
compilation aborted for dqmc_bonds.F90 (code 1)
make[1]: *** [dqmc_bonds.o] Error 1
make[1]: Leaving directory `/home/vladimir/work/quest-qmc/SRC'
make: *** [lib] Error 2
Original issue reported on code.google.com by iglovi...@gmail.com on 21 Dec 2013 at 2:47
Original issue reported on code.google.com by
iglovi...@gmail.com
on 21 Dec 2013 at 2:47