ternaus / quest-qmc

Automatically exported from code.google.com/p/quest-qmc
2 stars 11 forks source link

Parallel compilation does not work. #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
Fixed. Although it looks more like a workaround. Modules in the SRC folder are 
very entangled.

Original comment by iglovi...@gmail.com on 31 Dec 2013 at 3:02