首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

**kwargs在mpi4py MPIPoolExecutor中不起作用

在mpi4py MPIPoolExecutor中,kwargs参数不起作用的原因是MPIPoolExecutor类的构造函数没有接受kwargs参数。kwargs是一个特殊的参数,用于接收任意数量的关键字参数,并以字典的形式传递给函数。然而,在mpi4py MPIPoolExecutor中,构造函数只接受固定的参数,不支持使用kwargs传递额外的参数。

MPIPoolExecutor是mpi4py库提供的一个执行器,用于在MPI并行环境中执行任务。它类似于Python标准库中的concurrent.futures模块中的ThreadPoolExecutor和ProcessPoolExecutor。MPIPoolExecutor的构造函数接受两个参数:comm和size。comm是MPI通信器,用于在MPI进程之间进行通信;size是指定要创建的进程池的大小。

如果需要在MPIPoolExecutor中传递额外的参数,可以通过其他方式实现。一种方法是在任务函数中使用全局变量或者其他可访问的变量来传递参数。另一种方法是通过其他方式将参数传递给MPIPoolExecutor的任务函数,例如使用文件、管道或者其他进程间通信机制。

总结起来,kwargs在mpi4py MPIPoolExecutor中不起作用是因为构造函数不接受kwargs参数。如果需要传递额外的参数,可以考虑使用其他方式实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • python并行计算之mpi4py的安装与基本使用

    在之前的博客中我们介绍过concurrent等python多进程任务的方案,而之所以我们又在考虑MPI等方案来实现python并行计算的原因,其实是将python的计算任务与并行计算的任务调度分层实现。在concurrent和multiprocessing等方案中,我们的python计算任务和调度任务是一体化的,而且还有一个比较大的限制是没办法跨节点操作的,这对于任务与环境的定制化程度要求是比较高的。而MPI的方案在设计初期就考虑到了多节点之间通信的问题,而这种分层式的任务调度解决方案其实在架构上看也更加的合理。做计算的人只要考虑单个进程下的任务如何执行就可以了,至于任务如何并行如何调度,那就是上层的MPI该做的事情了。

    01

    Modules 配置之 Python

    近年来得益于其轻量、易学易用、第三方支持依赖库多的特点,Python 语言大量被用于机器学习相关的研究、项目开发。在学术界,有以 Scikit-Learn 为代表的全能机器学习库;在产业界,有以 TensorFlow、PyTorch 为代表的生产级机器学习模型计算框架。(当然,学术界实际上构建大规模深度学习模型时也会用到 PyTorch 等计算框架。)但对于大多数人来说,学习这些库、框架或者借助它们从事某些研究、项目开发时,可能还是在用自己的笔记本、台式机。哪怕是在高校的实验室里,这种事情也是屡见不鲜。因此,有交互界面、相对容易上手的 Anaconda 可能会作为大家管理 Python 环境的首选。

    02

    《Python分布式计算》 第6章 超级计算机群使用Python (Distributed Computing with Python)典型的HPC群任务规划器使用HTCondor运行Python任务

    本章,我们学习另一种部署分布式Python应用的的方法。即使用高性能计算机(HPC)群(也叫作超级计算机),它们通常价值数百万美元(或欧元),占地庞大。 真正的HPC群往往位于大学和国家实验室,创业公司和小公司因为资金难以运作。它们都是系统巨大,有上万颗CPU、数千台机器。 经常超算中心的集群规模通常取决于电量供应。使用几兆瓦的HPC系统很常见。例如,我使用过有160000核、7000节点的机群,它的功率是4兆瓦! 想在HPC群运行Python的开发者和科学家可以在本章学到有用的东西。不使用HPC群的读者,

    010
    领券