I ran into an unexpected issue -- on an NP-core machine, each MPI rank of my application was launching NP threads, such that when running with multiple ranks the machine was quickly oversubscribed and performance tanked.
The root cause of this was petsc linking against the system-provided library (libopenblas0-pthread in this case) set by the update-alternatives in ubuntu. At some point this machine got updated to using the threaded blas implementation instead of serial; not sure how, and I wouldn't have noticed if I weren't running interactively. Is there any mechanism in petsc or its build system to prevent linking against an inappropriate BLAS, or do I need to be diligent about manually setting the BLAS library in the configuration stage? Thanks, Mark
