Linux下使用Atlas在numpy中的线程错误

Linux下使用Atlas在numpy中的线程错误,第1张

概述我有一个使用在 Linux机器上运行的多进程模块的多进程(不是多线程!)应用程序. 这个应用程序使用numpy.linalg.solve函数,如果我尝试创建许多进程,那么我得到错误: assertion !pthread_create( &(ROOT->pid), ATTR, ROOT->fun, ROOT ) failed, line 84 of file /build/buildd-atlas 我有一个使用在 Linux机器上运行的多进程模块的多进程(不是多线程!)应用程序.
这个应用程序使用numpy.linalg.solve函数,如果我尝试创建许多进程,那么我得到错误:
assertion !pthread_create( &(ROOT->pID),ATTR,ROOT->fun,ROOT ) Failed,line 84 of file /build/buildd-atlas_3.8.4-9-amd64-jk6dgk/atlas-3.8.4/build/atlas-base/../..//src/pthreads/misc/ATL_thread_tree.c

请注意,在我开始使用numpy.linalg中的函数之前,我没有遇到任何问题.

知道问题可能是什么?

编辑:我尝试使用scipy.linalg.solve,问题是一样的!

编辑:通过用blas替换地图集,问题就消失了.所以看来这个问题确实存在于地图集中

解决方法 碰巧ATLAS开发人员最近在这里回答了这个问题:
http://sourceforge.net/p/math-atlas/support-requests/873/

注意:我假设你安装了ATLAS 3.10.

这个一直困扰我一段时间.如果你遇到与我相同的问题,那很可能是:

> ATLAS是在另一台机器上构建的,而不是你运行它的机器
>此构建计算机具有比您的计算机更多的核心
> ATLAS 3.10不知道如何处理比构建时数更少的内核并生成异常.

解决方案是在数量较核或等于当前机器的机器上构建ATLAS.

希望这可以帮助,

总结

以上是内存溢出为你收集整理的Linux下使用Atlas在numpy中的线程错误全部内容,希望文章能够帮你解决Linux下使用Atlas在numpy中的线程错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1049763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存