当前位置: 首页 > 面试题库 >

Python:如何阻止多线程的numpy?

孔君浩
2023-03-14
问题内容

我知道这似乎是一个荒谬的问题,但是我必须在与部门中其他人共享的计算服务器上定期运行作业,当我开始10个作业时,我真的希望它只占用10个核心而不是更多;
我不在乎每次运行一个内核所需的时间是否更长:我只是不想让它侵占其他人的领土,这将需要我放弃工作等等。我只想拥有10个坚实的核心,仅此而已。

更具体地说,我在基于Python 2.7.3和numpy 1.6.1的Redhat上使用Enthought
7.3-1,但问题更笼统。数小时以来,我一直在搜寻该问题的某种答案,但无济于事,因此,如果有人知道numpy中的开关可能会关闭多线程,请告诉我。


问题答案:

MKL_NUM_THREADS环境变量设置为1。您可能已经猜到了,这个环境变量控制着Math Kernel
Library的行为,该行为包含在Enthoughtnumpy构建中。

我只是在启动文件.bash_profile中使用来执行此操作export MKL_NUM_THREADS=1。您还应该能够从脚本内部执行此操作,以使其具有特定于进程的功能。



 类似资料:
  • 问题内容: 我只是玩弄了一些python和线程,并意识到即使在多线程脚本中,DNS请求也被阻止了。考虑以下脚本: 从线程导入线程导入套接字 我不知道确切的超时时间,但是在运行此操作时会发生以下情况: 所有线程开始,我得到我的打印输出 每xx秒,一个线程显示完成,而不是一次全部显示 线程按顺序完成,而不是一次完成(超时=全部相同!) 所以我唯一的猜测是这与GIL有关吗?显然,线程不会并发执行任务,一

  • 问题内容: 如何使多线程python程序响应Ctrl + C键事件? 编辑: 代码是这样的: 我试图在所有线程上删除join(),但仍然无法正常工作。是否因为每个线程的run()过程中的锁段? 编辑: 上面的代码应该可以工作,但是当当前变量在5,000-6,000范围内并遍历以下错误时,它总是会中断 问题答案: 在启动主线程之前,将除主线程之外的每个线程都设为守护进程(在2.6或更高版本中,在2.

  • 问题描述 (Problem Description) 如何停止一段时间的线程? 解决方案 (Solution) 下面的示例演示了如何通过创建用户定义的方法run()来获取线程,并借助Timer类的方法。 import java.util.Timer; import java.util.TimerTask; class CanStop extends Thread { private vola

  • 我正在尝试用Python编写一个程序。我想写的是一个脚本,它会立即向用户返回一条友好的消息,但会在后台生成一个长的子进程,它会处理几个不同的文件,并将它们写入一个祖父文件。我已经做了一些关于线程和处理的教程,但我遇到的是,无论我尝试什么,程序都会一直等待,直到子进程完成,然后才会向用户显示前面提到的友好消息。以下是我尝试过的: 线程示例: 我读过这些关于多线程的SO帖子如何在Python中使用线程

  • 问题内容: 我的Android应用程序中的Java线程有问题。我的嵌套线程阻塞了我的UI,我该如何解决? MyClass.java 这就是我的运行方式: 你可以帮帮我吗?我真的卡住了;) 问题答案: 我的嵌套线程阻止了我的UI 您需要使用而不是。也就是说,更换 与 (这只是一个普通方法。实际上是产生一个新线程并随后运行的方法)

  • 我有下面的代码片段,它试图在多个子进程之间分割处理。 while循环中的主进程正在调用search函数,如果队列达到阈值计数,则处理池将映射到进程函数,其中作业来自队列。我的问题是,python多处理池是在执行期间阻塞主进程,还是立即继续执行?我不想遇到这样的情况,“has_jobs_to_process()”的计算结果为true,并且在处理作业的过程中,另一组作业的计算结果为true,并且再次调