Open nathanmlim opened 4 years ago
I encountered the same problem. It's due to Intel MKL spawning a lot of additional threads in the background.
You can limit the number of threads by setting these environment variables before you run your program. CPU utilization should be a lot more reasonable then.
export OMP_NUM_THREADS=2
export MKL_NUM_THREADS=2
export MKL_THREADING_LAYER=SEQUENTIAL
export NUMEXPR_NUM_THREADS=2
# When using other BLAS
export OPENBLAS_NUM_THREADS=2 # OpenBLAS
export VECLIB_MAXIMUM_THREADS=2 # Apple BLAS
I encountered the same problem. It's due to Intel MKL spawning a lot of additional threads in the background.
You can limit the number of threads by setting these environment variables before you run your program. CPU utilization should be a lot more reasonable then.
export OMP_NUM_THREADS=2 export MKL_NUM_THREADS=2 export MKL_THREADING_LAYER=SEQUENTIAL export NUMEXPR_NUM_THREADS=2 # When using other BLAS export OPENBLAS_NUM_THREADS=2 # OpenBLAS export VECLIB_MAXIMUM_THREADS=2 # Apple BLAS
Very useful suggestion! solved a huge problem for me
I have an SDF file which contains multiple molecules for which I want to calculate all the descriptors for. But, running mordred from the command line appears to overload the CPU cores. Even when using the
-p 1
, it shows more than a single core being used.--
Information
OS: CentOS7 Installation: conda Python Version: 3.7
library version