Skip to content

alexei-matveev/paragauss-gpl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=== Running ParaGauss ===

For parallel calculation in batch mode use the Scheme script

    ./runqm

derived  from  ./guile/runqm.scm  by  inserting specific  search  path
during  build  process. This  script  does  its  best to  emulate  the
behaviour of the traditional "runpg" bash script. Use it as in

    mpirun -np 8 $PWD/runqm [INPUTS...]

Note  that neither "runqm"  script nor  "guile-qm" interpreter  are in
your  $PATH.  So that  you  will  need to  specify  the  path in  full
occasionally.  In  case of troubles,  check the "shebang"  line (first
line starting with  #!)  at the top of "runqm"  and the "%load-path" a
few lines below.

There is  a possibility  to run ParaGauss  from a  Scheme interpreter.
The default (WITH_GUILE=1) build  produces an executable "guile-qm" in
the top directory (where this README file resides) that can be used as
a standalone Scheme interpreter.  You may try to execute it in serial:

    $ ./guile-qm -L ./
    guile> (+ 1 2)
    3

and run PG from within it:

    guile> (use-modules (guile paragauss))
    guile> (define world (qm-init))
    guile> (copy-file "some-input" "input")
    guile> (qm-run world)
    guile> (qm-finalize world)

Or write your own interpreted scripts ...


=== Fallback operation mode ===

If you have troubles with Scheme, set WITH_GUILE=0 in the Makefile and
recompile. Start ParaGauss serially as in

    ./mainscf_VX.Y.Z

The program expects the input file named

    input

to reside in the current directory.

Beware there will  be a lot of temporary files  created in the current
directory together  with the output  files.  Specify location  for the
temporary files by setting environment variable

    export TTFSTMP=/tmp

or in the command line

    TTFSTMP=/tmp ./mainscf_VX.Y.Z

For MPI-enabled builds use mpirun/mpiexec as appropriate:

    TTFSTMP=/tmp mpirun -np 8 $PWD/mainscf_VX.Y.Z

You can specify output directory and the alternative name of the input
file as in

    TTFSTMP=/tmp TTFSOUPUTDIR=$PWD/o.test TTFSINPUT=i.test ./mainscf_VX.Y.Z

Note that  the directory, if specified, must  already exist.  Moreover
it  must  exist  on  all  nodes potentially  involved  in  a  parallel
computation.

The startup script located in

    ./bin/runpg

attempts  to guess  execution nodes  and create  directories  prior to
invoking  ParaGauss. However,  the startup  procedure varies  from one
setup to  another so that  the startup script  may or may not  work on
your platform.