[petsc-users] prevent linking to multithreaded BLAS?
Satish Balay
balay at mcs.anl.gov
Wed Dec 7 15:35:08 CST 2022
If you don't specify a blas to use - petsc configure will guess and use what it can find.
So only way to force it use a particular blas is to specify one [one way is --download-fblaslapack]
Wrt multi-thread openblas - you can force it run single threaded [by one of these 2 env variables]
# Use single thread openblas
export OPENBLAS_NUM_THREADS=1
export OMP_NUM_THREADS=1
Satish
On Wed, 7 Dec 2022, Mark Lohry wrote:
> 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
>
More information about the petsc-users
mailing list