This is more of an announcement or warning than a proper blog post:
Both FX8350 and FX8150 have trouble running the pspw module causing the calculation to lead to exploding structures:
http://www.nwchem-sw.org/index.php/Special:AWCforum/st/id1059/Issue_with_pspw_using_nwchem_6.3....html
My other nodes have no trouble running the job in question. Also, the issue was only found in nwchem 6.3 -- nwchem 6.1.1 worked fine. So it's not an FX83x50 related fault per se.
Again, see the post at the nwchem-sw.org site for more information.
Showing posts with label nwchem 6.1.1. Show all posts
Showing posts with label nwchem 6.1.1. Show all posts
25 November 2013
18 February 2013
340. Issues when compiling Nwchem 6.1.1 -- missing *.fh in src/include
The problem:
If you modify the nwchem sources, build, do a make realclean and then pack them up to export your patched sources to other nodes you might find that compiling doesn't work that well, yielding errors such as (I'll list them all to help google):
and
and
and
and
and
and
and
and
and
and
and
and
and
Solution:
This has been mentioned before on the nwchem forum, but not in explicit enough detail.
The solution is to copy a series of files from src/util and to remove make realclean from your build instructions (or at least do the copying after the make realclean step).
Copy these files
Then build, using e.g.
If you modify the nwchem sources, build, do a make realclean and then pack them up to export your patched sources to other nodes you might find that compiling doesn't work that well, yielding errors such as (I'll list them all to help google):
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/stdio.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'. Stop. make: *** [libraries] Error 1
and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/nwc_const.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'. Stop. make: *** [libraries] Error 1 nwchem.F:3:0: fatal error: errquit.fh: No such file or directory compilation terminated. stubs.F:15:0: fatal error: errquit.fh: No such file or directory
and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/errquit.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(basis.o)'. Stop. make: *** [libraries] Error 1
and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(bas_input.o)'. Stop.
and
/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util.fh:1:0: fatal error: printlevels.fh: No such file or directory compilation terminated. make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(bas_input.o)] Error 1 make[1]: *** Waiting for unfinished jobs....
and
basisP.F: In function 'nbf_from_ucont': basisP.F:427:0: warning: '__result_nbf_from_ucont' may be used uninitialized in this function [-Wmaybe-uninitialized] make[2]: warning: -jN forced in submake: disabling jobserver mode. make[1]: warning: -jN forced in submake: disabling jobserver mode. make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/msgids.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(geom.o)'. Stop.
and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)'. Stop.
and
In file included from pstat_alloc.F:12:0: /opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh:11:0: fatal error: bitops_decls.fh: No such file or directory compilation terminated. make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)] Error 1
and
In file included from pstat_alloc.F:12:0: /opt/nwchem/nwchem-6.1.1-src_mod/src/include/bitops.fh:12:0: fatal error: bitops_funcs.fh: No such file or directory compilation terminated. make[1]: *** [/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(pstat_alloc.o)] Error 1
and
make[2]: warning: -jN forced in submake: disabling jobserver mode. make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/itri.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwcutil.a(sym_sh_pair.o)'. Stop. make[2]: *** Waiting for unfinished jobs....
and
make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/bgj.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libnwints.a(exactd_mem.o)'. Stop.
and
make[1]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/numerical_constants.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/librimp2.a(rimp2_v_e2.o)'. Stop.
and
make[2]: *** No rule to make target `/opt/nwchem/nwchem-6.1.1-src_mod/src/include/util_sgroup.fh', needed by `/opt/nwchem/nwchem-6.1.1-src_mod/lib/LINUX64/libdntmc.a(gibbs.o)'. Stop.
and
nwchem.F:11:0: fatal error: bgj_common.fh: No such file or directory
Solution:
This has been mentioned before on the nwchem forum, but not in explicit enough detail.
The solution is to copy a series of files from src/util and to remove make realclean from your build instructions (or at least do the copying after the make realclean step).
Copy these files
cp src/util/stdio.fh src/include/ cp src/util/nwc_const.fh src/include/ cp src/util/errquit.fh src/include/ cp src/util/util.fh src/include/ cp src/util/printlevels.fh src/include/ cp src/util/msgids.fh src/include/ cp src/util/bitops.fh src/include/ cp src/util/bitops_decls.fh src/include/ cp src/util/bitops_funcs.fh src/include/ cp src/util/itri.fh src/include/ cp src/util/bgj.fh src/include/ cp src/util/numerical_constants.fh src/include/ cp src/util/util_sgroup.fh src/include/ cp src/util/bgj_common.fh src/include/
Then build, using e.g.
export LARGE_FILES=TRUE export TCGRSH=/usr/bin/ssh export NWCHEM_TOP=`pwd` export NWCHEM_TARGET=LINUX64 export NWCHEM_MODULES="all python" export PYTHONVERSION=2.7 export PYTHONHOME=/usr export BLASOPT="-L/opt/openblas/lib -lopenblas" export USE_MPI=y export USE_MPIF=y export USE_MPIF4=y export MPI_LOC=/usr/lib/openmpi/lib export MPI_INCLUDE=/usr/lib/openmpi/include export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib:/opt/openblas/lib export LIBMPI="-lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread" cd $NWCHEM_TOP/src make nwchem_config make FC=gfortran 1>make.log 2>make.err export FC=gfortran cd ../contrib ./getmem.nwchem
07 February 2013
334. Compiling nwchem with openmpi and python on Arch linux
Here's the reason why I gave my virtual machine 30 Gb in post 333 -- to be able to evaluate whether I can figure out how to build all the software that I need on Arch.
Behold my surprise when I realised that there's no need for separate -dev packages, as is the case on Debian i.e. the headers are generally installed together with the package (so e.g. python is enough -- you don't need python-dev as well).
While debian is probably the best choice for my nodes (I want stability -- not the latest flashiest stuff), nwchem is a good test case since I've been playing with it for years, and it's not available in the pacman or AUR repos.
Your mileage with openblas will vary depending on your hardware. ACML is an alternative on e.g. FX-8150. ATLAS doesn't seem to work with NWChem when I try it, but I'm not sure what I'm doing wrong. See the original post for examples on how to link to other math libs.
I'm mainly looking at this post: http://verahill.blogspot.com.au/2012/09/briefly-compiling-nwchem-611-with.html
Dependencies:
Openblas:
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
Nwchem:
Edit nwchem-6.1.1-src/src/config/makefile.h and edit line 1957 as shown in this post.
Then continue:
Note that some of the locations are a little bit different from debian.
Edit your ~/.bashrc and add:
or
Behold my surprise when I realised that there's no need for separate -dev packages, as is the case on Debian i.e. the headers are generally installed together with the package (so e.g. python is enough -- you don't need python-dev as well).
While debian is probably the best choice for my nodes (I want stability -- not the latest flashiest stuff), nwchem is a good test case since I've been playing with it for years, and it's not available in the pacman or AUR repos.
Your mileage with openblas will vary depending on your hardware. ACML is an alternative on e.g. FX-8150. ATLAS doesn't seem to work with NWChem when I try it, but I'm not sure what I'm doing wrong. See the original post for examples on how to link to other math libs.
I'm mainly looking at this post: http://verahill.blogspot.com.au/2012/09/briefly-compiling-nwchem-611-with.html
Dependencies:
pacman -S wget base-devel gcc-fortran tcsh openmpi
Openblas:
Download from http://github.com/xianyi/OpenBLAS/tarball/v0.1.1
sudo mkdir /opt/openblas sudo chown $USER /opt/openblas tar xvf xianyi-OpenBLAS-v0.1.1-0-g5b7f443.tar.gz cd xianyi-OpenBLAS-e6e87a2/ make all BINARY=64 CC=/usr/bin/gcc FC=/usr/bin/gfortran USE_THREAD=0 INTERFACE64=1 1> make.log 2>make.err make PREFIX=/opt/openblas install cp lib*.* /opt/openblas/lib
Nwchem:
sudo mkdir /opt/nwchem sudo chown $USER /opt/nwchem cd /opt/nwchem wget http://www.nwchem-sw.org/images/Nwchem-6.1.1-src.2012-06-27.tar.gz tar xvf Nwchem-6.1.1-src.2012-06-27.tar.gz cd nwchem-6.1.1-src/
Edit nwchem-6.1.1-src/src/config/makefile.h and edit line 1957 as shown in this post.
Then continue:
export LARGE_FILES=TRUE export TCGRSH=/usr/bin/ssh export NWCHEM_TOP=`pwd` export NWCHEM_TARGET=LINUX64 export NWCHEM_MODULES="all python" export PYTHONVERSION=2.7 export PYTHONHOME=/usr export BLASOPT="-L/opt/openblas/lib -lopenblas" export USE_MPI=y export USE_MPIF=y export USE_MPIF4=y export MPI_LOC=/usr/lib/openmpi export MPI_INCLUDE=/usr/include export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi:/opt/openblas/lib export LIBMPI="-L/usr/lib/openmpi -lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread" cd $NWCHEM_TOP/src make clean make nwchem_config make FC=gfortran 1> make.log 2>make.err export FC=gfortran cd ../contrib ./getmem.nwchem
Note that some of the locations are a little bit different from debian.
Edit your ~/.bashrc and add:
You can now test your new binary by running a job, e.g. co.nw:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openblas/lib export PATH=$PATH:/opt/nwchem/nwchem-6.1.1-src/bin/LINUX64
title "co nmr" geometry c 0 0 0 o 0 0 1.13 end basis * library "6-311+g*" end dft direct grid fine mult 1 xc HFexch 0.05 slater 0.95 becke88 nonlocal 0.72 vwn_5 1 perdew91 0.81 end task dft optimizeRun:
nwchem co.nw
or
mpirun -n 2 nwchem co.nw
19 September 2012
242. Briefly: Compiling NWChem 6.1.1 with Python on Debian Testing (Wheezy)
Back at the end of June a minor version of NWChem (bug fixes) was released.
There isn't much difference between compiling 6.1.1 and 6.1. Mainly, the difference is in what line to edit for python compatibility (NWChem 6.1 here:http://verahill.blogspot.com.au/2012/05/building-nwchem-61-on-debian.html )
1. Install dev packages
sudo apt-get install libopenmpi-dev openmpi-bin python2.7-dev zlib1g-dev libssl-dev
2. Compile openblas or download e.g. acml.
(compiles fine, but doesn't run, with atlas)
3. NWchem goodness:
sudo mkdir /opt/nwchem
sudo chown $USER /opt/nwchem
cd /opt/nwchem
wget http://www.nwchem-sw.org/images/Nwchem-6.1.1-src.2012-06-27.tar.gz
(or go here http://www.nwchem-sw.org/index.php/Download)
tar xvf Nwchem-6.1.1-src.2012-06-27.tar.gz
cd nwchem-6.1.1-src/src/config/
Edit makefile.h and hange (line numbers are just for convenience -- don't add them)
to
cd to /opt/nwchem/nwchem-6.1.1-src/ Create a file called buildconf.sh with the following content:
Start the compilation:
time sh buildconf.sh
On a quadcore i5-2400 it took 18 minutes.
There isn't much difference between compiling 6.1.1 and 6.1. Mainly, the difference is in what line to edit for python compatibility (NWChem 6.1 here:http://verahill.blogspot.com.au/2012/05/building-nwchem-61-on-debian.html )
1. Install dev packages
sudo apt-get install libopenmpi-dev openmpi-bin python2.7-dev zlib1g-dev libssl-dev
2. Compile openblas or download e.g. acml.
(compiles fine, but doesn't run, with atlas)
3. NWchem goodness:
sudo mkdir /opt/nwchem
sudo chown $USER /opt/nwchem
cd /opt/nwchem
wget http://www.nwchem-sw.org/images/Nwchem-6.1.1-src.2012-06-27.tar.gz
(or go here http://www.nwchem-sw.org/index.php/Download)
tar xvf Nwchem-6.1.1-src.2012-06-27.tar.gz
cd nwchem-6.1.1-src/src/config/
Edit makefile.h and hange (line numbers are just for convenience -- don't add them)
1956 # EXTRA_LIBS += -ltk -ltcl -L/usr/X11R6/lib -lX11 -ldl 1957 EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldl 1958 LDOPTIONS = -Wl,--export-dynamic
to
1956 # EXTRA_LIBS += -ltk -ltcl -L/usr/X11R6/lib -lX11 -ldl
1957 EXTRA_LIBS += -lnwcutil -lpthread -lutil -ldl -lssl -lz
1958 LDOPTIONS = -Wl,--export-dynamic
cd to /opt/nwchem/nwchem-6.1.1-src/ Create a file called buildconf.sh with the following content:
export LARGE_FILES=TRUE export TCGRSH=/usr/bin/ssh export NWCHEM_TOP=`pwd` export NWCHEM_TARGET=LINUX64 export NWCHEM_MODULES="all python" export PYTHONVERSION=2.7 export PYTHONHOME=/usr export BLASOPT="-L/opt/openblas/lib -lopenblas"
#export BLASOPT="-L/opt/acml/acml5.2.0/gfortran64_int64/lib -lacml"
#export BLASOPT="-L/opt/ATLAS/lib -lsatlas -ltatlas" export USE_MPI=y export USE_MPIF=y export USE_MPIF4=y export MPI_LOC=/usr/lib/openmpi/lib export MPI_INCLUDE=/usr/lib/openmpi/include export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib:/opt/openblas/lib
#export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib:/opt/acml/acml5.2.0/gfortran64_int64/lib
#export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/openmpi/lib:/opt/ATLAS/lib export LIBMPI="-lmpi -lopen-rte -lopen-pal -ldl -lmpi_f77 -lpthread" cd $NWCHEM_TOP/src make clean make nwchem_config make FC=gfortran 1> make.log 2>make.err export FC=gfortran cd ../contrib ./getmem.nwchem
Start the compilation:
time sh buildconf.sh
On a quadcore i5-2400 it took 18 minutes.
Subscribe to:
Posts (Atom)