[petsc-dev] error configuring on KNL
    Satish Balay 
    balay at mcs.anl.gov
       
    Fri Jun 30 17:27:16 CDT 2017
    
    
  
On Fri, 30 Jun 2017, Richard Tran Mills wrote:
> Hmm. I get the same error when adding "--download-hypre=0" to an otherwise
> functional configure script for Cori KNL. Hypre's configure doesn't like
> something about cross-compiling for KNL. It might be possible to make this
> work by building on the compute nodes, though this is, unfortunately, not
> officially supported on Cori -- NERSC staff say that builds are not
> guaranteed to work on the compute nodes, though I've managed to make it
> work sometimes.
Here is (a part of a prior email) regarding installing hypre on theta (using compute nodes).
Satish
--------------------------------
The alternative is to run configure on the KNL nodes. But this is very
slow. We could split up the build into 2 parts - only build some
packages on KNL node and the rest on front-end.
Ok - I tried "--download-hypre=1 --prefix=/home/balay/soft/hypre-xsdk-0.2.0-rc2" on the KNL node.
[this way - I can --with-hypre-dir=/home/balay/soft/hypre-xsdk-0.2.0-rc2 for subsequent builds]
This crashed halfway with 'Intel License Server' errors. The crash
happened after hypre configure completed - so I could complete the
build on the frontend.
Anyhow - here is the process"
caveat: PETSC_ARCH/externalpackages should be populated before doing
this - as compute nodes don't have external network access.
1. schedule configure run in the batch queue:
balay at thetalogin5:~/petsc.test> cat reconfigure-arch-theta-opt-cray.py
#!/usr/bin/python
if __name__ == '__main__':
  import sys
  import os
  sys.path.insert(0, os.path.abspath('config'))
  import configure
  configure_options = [
    '--download-hypre=1',
    '--prefix=/home/balay/soft/hypre-xsdk-0.2.0-rc2',
    '--with-cc=cc',
    '--with-clib-autodetect=0',
    '--with-cxx=CC',
    '--with-cxxlib-autodetect=0',
    '--with-debugging=0',
    '--with-fc=ftn',
    '--with-fortranlib-autodetect=0',
    '--with-mpiexec=mpirun',
    '--with-memalign=64',
    'COPTFLAGS=-g -O3 -fp-model fast -xMIC-AVX512',
    'CXXOPTFLAGS=-g -O3 -fp-model fast -xMIC-AVX512',
    'FOPTFLAGS=-g -O3 -fp-model fast -xMIC-AVX512',
    'LIBS=-lstdc++',
    'PETSC_ARCH=arch-theta-opt-cray',
  ]
  configure.petsc_configure(configure_options)
balay at thetalogin5:~/petsc.test> cat x.sh
#!/bin/sh
aprun -n 1 python reconfigure-arch-theta-opt-cray.py
balay at thetalogin5:~/petsc.test> qsub -t 45 -n 1 -A EarlyPerf_theta x.sh
<<<<<<<<<<<<<<<<<<
2. wait for job to complete - [or atleast hypre configure to complete].
3. if incomplete - complete the build on frontend - and install hypre libraries.
4. subsequently install PETSc using --with-hypre-dir=/home/balay/soft/hypre-xsdk-0.2.0-rc2
[on the frontend]
Satish
    
    
More information about the petsc-dev
mailing list