gpt4 book ai didi

linux - linux下在numpy中使用Atlas线程报错

转载 作者:IT王子 更新时间:2023-10-29 00:36:11 24 4
gpt4 key购买 nike

我有一个多进程(不是多线程!)应用程序,它使用在 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,问题消失了。所以看起来问题确实在 map 集内

最佳答案

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

注意:我假设您已安装 ATLAS 3.10。

这个问题也困扰了我一段时间。如果你遇到和我一样的问题,那么很有可能是:

  1. ATLAS 是在另一台机器上构建的,而不是您运行它的机器
  2. 这台构建机器的内核比你的机器多
  3. ATLAS 3.10 不知道如何处理比构建时拥有的数量少的核心并生成异常。

解决方案是在内核数低于或等于您当前机器的机器上构建 ATLAS。

希望对您有所帮助,

关于linux - linux下在numpy中使用Atlas线程报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com