Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
packages
packages
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Labels
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • Arm HPC Users Group
  • packagespackages
  • Wiki
    • Packages
  • nwchem

nwchem · Changes

Page history
Update nwchem authored May 14, 2020 by Oliver Perks's avatar Oliver Perks
Hide whitespace changes
Inline Side-by-side
Showing with 133 additions and 0 deletions
+133 -0
  • packages/nwchem.md packages/nwchem.md +133 -0
  • No files found.
packages/nwchem.md
View page @ d871dc05
......@@ -10,9 +10,142 @@ NWChem: Open Source High-Performance Computational Chemistry. NWChem aims to pro
<!-- Label: BuildMaturity=NeedsPatch -->
# Versions
[NWChem 7.0 ARM](#build-details-for-version-70-acfl)
[NWChem 6.8 ARM](#build-details-for-version-68-arm) -
[NWChem 6.8 GCC](#build-details-for-version-68-gcc)
# Build Details For Version 7.0 ACfL
NWChem 7.0 presents a number of improvements for building and running on Arm based systems such as:
* Removal of deprecated MPI-1 interface calls
* Auto recognition of Arm Compiler
* No need to patch
A number of the QA tests still fail, most due to small precision errors - so validation is highly encouraged.
## Configuration
1. NWChem 7.0
2. Arm Compiler for Linux 20.0
3. Arm Perforamce Libraries 20.0
4. Open MPI version 4.0.2
5. Tested on TX2 running CentOS 8
6. Last updated 14/05/20
## Build instructions
### Downloading and unpack the packages
```
wget https://github.com/nwchemgit/nwchem/archive/v7.0.0-release.tar.gz
tar xf v7.0.0-release.tar.gz
cd nwchem-7.0.0-release
export NWCHEM_TOP=$PWD
```
### Modify the Make file
```
patch -p0 <<EOF
--- src/config/makefile.h 2020-05-12 07:32:42.500000000 -0500
+++ src/config/makefile.h.arm 2020-02-25 19:08:40.000000000 -0600
@@ -2273,6 +2273,14 @@
endif
endif
+ ifeq (\$(_CC),armclang)
+ COPTIONS += -O3 -funroll-loops -mcpu=native -armpl
+ ifdef USE_OPENMP
+ COPTIONS += -fopenmp
+ endif
+ endif
+
+
ifeq (\$(_FC),gfortran)
ifdef USE_GPROF
FOPTIONS += -pg
@@ -2315,13 +2323,13 @@
DEFINES += -DARMFLANG
LINK.f = \$(FC) \$(LDFLAGS)
- FOPTIMIZE = -O3 -Mfma -ffp-contract=fast
+ FOPTIMIZE = -O3 -Mfma -ffp-contract=fast -fno-backslash
ifeq (\$(V),1)
\$(info ARMFLANG FOPTIMIZE = \${FOPTIMIZE})
endif
FDEBUG += -g -O
- FOPTIMIZE += -mtune=native
+ FOPTIMIZE += -mcpu=native -armpl
ifndef USE_FPE
FOPTIMIZE += -ffast-math #2nd time
EOF
```
### Build configuration
```
export CC=armclang
export CXX=armclang++
export FC=armflang
export NWCHEM_TARGET=LINUX64
export ARMCI_NETWORK=MPI-PR
# Setup MPI PATHS
# Set to "y" to indicate that NWChem should be compiled with MPI
export USE_MPI=y
# Set to "y" for the NWPW module to use fortran-bindings of MPI (Generally set when USE_MPI is set)
export USE_MPIF=y
# Set to "y" for the NWPW module to use Integer*4 fortran-bindings of MPI. (Generally set when USE_MPI is set on most platforms)
export USE_MPIF4=y
# Use this to guess MPI value or set yourself
${NWCHEM_TOP}/src/tools/guess-mpidefs
# export MPI_INCLUDE="</path/to/mpi/includes>"
# export MPI_LIB="</path/to/mpi/libs/dir>"
# export LIBMPI="<list of mpi libraries>"
export NWCHEM_MODULES="all"
export BLAS_LIBS="-L$ARMPL_DIR/lib -larmpl_ilp64"
export BLASOPT=${BLAS_LIBS}
export BLAS_SIZE=8
# Same for LAPACK
# export LAPACK="-L</path/to/arm/performace/libraries/dir> -larmpl_ilp64"
# If you have used the provided module then you can just use
export LAPACK="-L$ARMPL_DIR/lib -larmpl_ilp64"
export LAPACK_LIBS="$LAPACK"
export LAPACK_LIB="$LAPACK"
export LAPACK_SIZE=8
# possibly need this for the configure step for GA ?
FFLAG_INT=-i8
```
### Build and install
```
cd $NWCHEM_TOP/src
make nwchem_config
make -j 28 | tee make.log
```
### Testing
```
# Run some QA tests
#--------------------
cd $NWCHEM_TOP/QA
export NWCHEM_EXECUTABLE=$NWCHEM_TOP/bin/${NWCHEM_TARGET}/nwchem
./doqmtests.mpi 16 | tee doqmtests.mpi.log
```
There are a number of failed test cases, see notes note at [end](#testing-2).
# Build Details For Version 6.8 Arm
## Configuration
......
Clone repository
  • categories
    • allPackages
    • apex
    • application
    • benchmark
    • catalyst
    • closed source
    • compiler
    • coral2
    • debugger
    • dod
    • doe
    • emulator
    • filesystem
    • isambard list
    • language
View All Pages