Difference between revisions of "Build HONEE on Summit"
(fix -march=native flag location) |
|||
| (9 intermediate revisions by one other user not shown) | |||
| Line 35: | Line 35: | ||
==3) Clone the repositories== | ==3) Clone the repositories== | ||
| + | Navigate into <code>honee_stack</code> and clone the 3 repos. | ||
===libCEED=== | ===libCEED=== | ||
| Line 57: | Line 58: | ||
<code> | <code> | ||
| − | make - | + | make -j |
</code> | </code> | ||
| Line 79: | Line 80: | ||
--download-cgns \<br> | --download-cgns \<br> | ||
--with-debugging=0 \<br> | --with-debugging=0 \<br> | ||
| − | COPTFLAGS='-O3 -g' \<br> | + | COPTFLAGS='-O3 -g --march=native' \<br> |
| − | CXXOPTFLAGS='-O3 -g' | + | CXXOPTFLAGS='-O3 -g --march=native' |
</code> | </code> | ||
| Line 86: | Line 87: | ||
<code> | <code> | ||
| − | make - | + | make -j all |
</code> | </code> | ||
| − | ===Notes on | + | ===Notes on the example PETSc settings=== |
* <code>--with-debugging=0</code> is recommended for performance runs. | * <code>--with-debugging=0</code> is recommended for performance runs. | ||
* <code>-O3</code> is appropriate for speed; keeping <code>-g</code> helps debugging without major runtime cost. | * <code>-O3</code> is appropriate for speed; keeping <code>-g</code> helps debugging without major runtime cost. | ||
| Line 105: | Line 106: | ||
</code> | </code> | ||
| − | '''Important runtime note (recommended | + | '''Important runtime note (recommended while using the example PETSc config):''' |
<code> | <code> | ||
| Line 114: | Line 115: | ||
<code> | <code> | ||
cd ~/honee_stack/honee<br> | cd ~/honee_stack/honee<br> | ||
| − | make - | + | make -j |
</code> | </code> | ||
| Line 130: | Line 131: | ||
<code> | <code> | ||
cd ~/honee_stack/honee<br> | cd ~/honee_stack/honee<br> | ||
| − | make test - | + | make test -j |
</code> | </code> | ||
| Line 161: | Line 162: | ||
Official HONEE installation documentation:<br> | Official HONEE installation documentation:<br> | ||
https://gitlab.com/phypid/honee | https://gitlab.com/phypid/honee | ||
| + | |||
| + | Official PETSc configuration documentation:<br> | ||
| + | https://petsc.org/main/install/ | ||
Latest revision as of 13:34, 18 February 2026
Contents
- 1 Building HONEE on Summit nodes
- 1.1 Overview
- 1.2 1) Start an interactive Summit node
- 1.3 2) Create a single workspace for all repositories
- 1.4 3) Clone the repositories
- 1.5 4) Build libCEED
- 1.6 5) Build PETSc
- 1.7 6) Set environment variables for HONEE
- 1.8 7) Build HONEE
- 1.9 8) Run a sample problem
- 1.10 9) Test the installation
- 1.11 Troubleshooting
- 1.12 Reference
Building HONEE on Summit nodes
Overview
This page describes a Summit-specific workflow to build and test HONEE (main branch) on Summit compute nodes. HONEE depends on libCEED and PETSc.
- HONEE repo: https://gitlab.com/phypid/honee
- libCEED repo: https://github.com/CEED/libCEED
- PETSc repo: https://gitlab.com/petsc/petsc
Note: This guide assumes you build inside an interactive PBS job on a Summit compute node.
1) Start an interactive Summit node
From jumpgate, request a node:
qsub -I -l select=1:ncpus=24:mpiprocs=24 -l walltime=72:00:00 -l place=scatter:exclhost -q workq
You should land on a Summit node.
2) Create a single workspace for all repositories
Create a folder to hold all three code bases:
mkdir honee_stack
cd honee_stack
Recommended layout:
~/honee_stack/
libCEED/
petsc/
honee/
3) Clone the repositories
Navigate into honee_stack and clone the 3 repos.
libCEED
git clone https://github.com/CEED/libCEED
PETSc (main branch)
Important: Use PETSc main, not the release branch.
git clone https://gitlab.com/petsc/petsc
HONEE (main branch)
git clone https://gitlab.com/phypid/honee
4) Build libCEED
Navigate into the libceed directory cd ~/honee_stack/libCEED
make -j
This produces libCEED libraries needed by HONEE.
5) Build PETSc
Navigate into the PETSc directory cd ~/honee_stack/PETSc
Example configuration
Below is a good baseline: MPI enabled, optimized build, and CGNS/HDF5 support via downloads.
./configure \
--with-cc=mpicc \
--with-cxx=mpicxx \
--with-fc=0 \
--with-mpi=1 \
--with-mpiexec=mpirun \
--download-f2cblaslapack \
--download-hdf5 \
--download-cgns \
--with-debugging=0 \
COPTFLAGS='-O3 -g --march=native' \
CXXOPTFLAGS='-O3 -g --march=native'
Then build:
make -j all
Notes on the example PETSc settings
-
--with-debugging=0is recommended for performance runs. -
-O3is appropriate for speed; keeping-ghelps debugging without major runtime cost. - Downloading
hdf5+cgnsis recommended for CGNS output support.
6) Set environment variables for HONEE
HONEE requires CEED_DIR, PETSC_DIR, and PETSC_ARCH.
Example setup:
export CEED_DIR=$HOME/honee_stack/libCEED
export PETSC_DIR=$HOME/honee_stack/petsc
export PETSC_ARCH=arch-linux-c-opt
Important runtime note (recommended while using the example PETSc config):
export LD_LIBRARY_PATH=$PETSC_DIR/$PETSC_ARCH/lib:$LD_LIBRARY_PATH
7) Build HONEE
cd ~/honee_stack/honee
make -j
8) Run a sample problem
Run the Gaussian wave example:
cd ~/honee_stack/honee
build/navierstokes -options_file examples/gaussianwave.yaml
9) Test the installation
Run the test suite:
cd ~/honee_stack/honee
make test -j
Troubleshooting
Missing PETSc or libCEED
Verify environment variables:
echo $CEED_DIR
echo $PETSC_DIR
echo $PETSC_ARCH
Runtime linker errors (libpetsc.so not found)
Ensure:
export LD_LIBRARY_PATH=$PETSC_DIR/$PETSC_ARCH/lib:$LD_LIBRARY_PATH
CGNS/HDF5 issues
Reconfigure PETSc with:
--download-hdf5 --download-cgns
Reference
Official HONEE installation documentation:
https://gitlab.com/phypid/honee
Official PETSc configuration documentation:
https://petsc.org/main/install/