On Mon, 30 Jul 2018, Bastian Löhrer wrote: > On 30.07.2018 13:28, Matthew Knepley wrote: > > On Mon, Jul 30, 2018 at 5:48 AM Bastian Löhrer > > <bastian.loeh...@tu-dresden.de <mailto:bastian.loeh...@tu-dresden.de>> > > wrote: > > > > Dear PETSc users, > > > > im configuring PETSc to use an intel stack including intel/mkl: > > > > ./configure PETSC_ARCH=$PETSC_ARCH \ > > --with-gnu-compilers=0 --with-vendor-compilers=intel \ > > --with-large-file-io=1 \ > > --CFLAGS="-L${I_MPI_ROOT}/intel64/lib > > -I${I_MPI_ROOT}/intel64/include -lmpi" \ > > --CXXFLAGS="-L${I_MPI_ROOT}/intel64/lib > > -I${I_MPI_ROOT}/intel64/include -lmpi -lmpicxx" \ > > --FFLAGS="-L${I_MPI_ROOT}/intel64/lib > > -I${I_MPI_ROOT}/intel64/include -lmpi" \ > > --LDFLAGS="-L${I_MPI_ROOT}/intel64/lib > > -I${I_MPI_ROOT}/intel64/include -lmpi" \ > > --with-blas-lapack-dir="${MKLROOT}/lib/intel64" \ > > --download-hypre \ > > --with-debugging=yes > > > > * > > two questions:* > > > > * > > 1)* the blas-lapack-dir option is not passed down to the > > compilation of hypre according to $PETSC_DIR/$PETSC_ARCH/conf/hypre > > *Is there a way of having PETSc compile hypre with my intel/mkl?* > > > > > > This should happen. Please send configure.log so we can see what went on. > My initial guess was that the file $PETSC_DIR/$PETSC_ARCH/conf/hypre lists the > parameters which are used for compiling hypre. As I said, this file does not > mention mkl anywhere. > I may be mistaken though, because having a second look I do realize that the > mkl library is mentioned in the configure log file in line 86661 ff. (where > hypre is being configured) and at the end of the log. > > Here is my configure.log: > https://cloudstore.zih.tu-dresden.de/index.php/s/b6rT0WMAKEMsj8S/download > > Here is that hypre file: > https://cloudstore.zih.tu-dresden.de/index.php/s/TSfXQ2pgDw5ALZm/download
Working directory: /lustre/ssd/prime/libraries/petsc-3.3-p6_29 This release is pretty old. Can you use the currently supported release - i.e 3.9? Satish > > Thanks, > Bastian > > > > * > > 2)* *Should I omit or include any option?* I have come across a > > few options in previous configuration calls used at my department > > which I have removed from my configuration call because > > > > a) I had the impression that they were of no additional use: > > > > * --with-cc=mpiicc --with-cxx=mpiicpc --with-fc=mpiifort > > --with-mpi=1 > > * --with-pic, because --with-pic=1 is the default anyway > > since 2.3.1, is it not? > > (https://www.mcs.anl.gov/petsc/documentation/changes/231.html) > > * --with-mpiexec=mpirun > > * --with-mpi-compilers=1 > > * --known-mpi-shared=1 > > * --with-mpi-dir=... > > * COPTFLAGS="-g" CXXOPTFLAGS="-g" FOPTFLAGS="-g" because > > --with-debugging=yes adds them anyway > > > > Yes, getting rid of all these is fine. > > > > b) because I couldn't figure out what they were actually for: > > > > * --configModules=PETSc.Configure > > * --optionsModule=PETSc.compilerOptions > > > > Those are added automatically. These are hooks so that you can completely > > change the system without > > getting rid of the low-level tests. > > > > c) others: > > > > * --known-64-bit-blas-indices I guess it wouldn't hurt > > anyway so I guess I'll include this option the next time I > > configure petsc > > > > (http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscBLASInt.html) > > > > We have a bunch of -known-* options. They are used for any test that has to > > execute. Batch environments cannot, > > and thus you need to specify all of them. You do not need it unless you are > > using --with-batch. > Okay, fantastic, thank you! >