[petsc-dev] Truly minimal configure

Jed Brown jed at jedbrown.org
Sun Mar 15 10:06:40 CDT 2020


Patrick Sanan <patrick.sanan at gmail.com> writes:

> I want to generate docs/manualpages/htmlmap as quickly as possible, from scratch (a clone on ReadTheDocs), so I want a fast configure which will let me run "make allcite". 
>
> The below will work, I think, but I'm curious whether there's an even faster known way.
>
> Also note that I had to explicitly turn off some MKL stuff, because it's included by default and depends on blaslapack. 
>
>
>                 './configure',
>                 '--with-mpi=0',
>                 '--with-blaslapack=0',
>                 '--with-fortran=0',
>                 '--with-cxx=0',
>                 '--with-mkl_sparse_optimize=0',
>                 '--with-mkl_sparse=0',

These checks should probably be conditional on having found blaslapack,
but you don't have a working PETSc this way (it'll fail to link
examples), and as far as I can tell, you're just using configure to
install sowing and not need to hack the makefiles to do the tree
traversal without including $PETSC_ARCH/lib/petsc/conf/petscvariables.

This seems fine and we can eventually move to calling doctext from
Python or doing its job in Python (as part of the last step, moving man
pages to Sphinx).

At a high level, we see here that the cost of make allcite is dominated
by recursive make tree traversal.

Overhead  Command  Shared Object                                                                                                                                                               
  35.81%  sh       libc-2.31.so                                                                                                                                                                
  13.31%  make     make                                                                                                                                                                        
  11.18%  make     libc-2.31.so                                                                                                                                                                
   7.63%  sh       ld-2.31.so                                                                                                                                                                  
   5.84%  make     ld-2.31.so                                                                                                                                                                  
   4.20%  doctext  doctext                                                                                                                                                                     
   4.07%  doctext  libc-2.31.so                                                                                                                                                                
   3.88%  doctext  ld-2.31.so                                                                                                                                                                  
   3.64%  sh       bash                                                                                                                                                                        
   2.79%  rm       libc-2.31.so                                                                                                                                                                
   1.99%  rm       ld-2.31.so                                                                                                                                                                  
   1.56%  sh       [unknown]                                                                                                                                                                   
   1.14%  doctext  [unknown]                                                                                                                                                                   
   0.56%  make     [unknown]                                                                                                                                                                   
   0.55%  python   libpython3.8.so.1.0


More information about the petsc-dev mailing list