Difference between revisions of "Build HONEE on Summit"
(→4) Build libCEED) |
(→Notes on “fastest” PETSc settings) |
||
| Line 90: | Line 90: | ||
</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. | ||
Revision as of 11:39, 17 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' \
CXXOPTFLAGS='-O3 -g'
Then build:
make -j8 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 for the example PETSc config):
export LD_LIBRARY_PATH=$PETSC_DIR/$PETSC_ARCH/lib:$LD_LIBRARY_PATH
7) Build HONEE
cd ~/honee_stack/honee
make -j8
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 -j8
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