OrthonFinder报错及解决:OpenBLAS Warin

2020-11-28  本文已影响0人  大大的世界和小小的人儿

我用的是LSF(Load Sharing Facility)调度软件,我所在的集群限制cpu的使用。

当我以如下方式提交我的作业

BSUB -J orthofinder
BSUB -n 15
BSUB -R span[hosts=1]
BSUB -o %J.out
BSUB -e %J.err
BSUB -q smp
orthofinder -f /public/home/mryuan/O_sinensis/pepseq -t $LSB_DJOB_NUMPROC

LSF kills the job:

OpenBLAS Warining : The number of CPU/Cores(192) is beyond the limit(64). Terminated.

解决方法

将export OPENBLAS_NUM_THREADS=1写在环境变量。
或者在运行的应用程序中加入openblas_set_num_threads(1)

会这么报错的原因

大概与OpenBLAS有关,查看了OpenBLAS的使用说明,在“How can I use OpenBLAS in multi-threaded applications?”赫然发现,如果应用程序已经是多线程的,它将与OpenBLAS多线程冲突,必须将OpenBLAS设置为使用单线程。

注:PBS中同样的报错可以用相同的办法解决

参考:

OpenBLAS usage:https://fossies.org/linux/OpenBLAS/USAGE.md
https://github.com/davidemms/OrthoFinder/issues/323
https://github.com/davidemms/OrthoFinder/issues/356

上一篇 下一篇

猜你喜欢

热点阅读