跳转到主要内容

集群上的远程执行futures

项目描述

此模块提供了一个Python concurrent.futures 执行器,允许您在HTCondorSlurm 集群上运行函数。停止担心编写作业文件、散布/收集和序列化——此模块为您全部完成。

它使用cloudpickle 库,允许(大多数)闭包透明地使用,因此您不受“纯”函数的限制。

安装

pip install clusterfutures

使用方法

import cfut
def square(n):
    return n * n

with cfut.SlurmExecutor() as executor:
    for result in executor.map(square, [5, 7, 11]):
        print(result)

请参阅slurm_example.pycondor_example.py 以获取更多示例。开始使用最简单的方法是忽略使用futures的事实,直接使用提供的map函数,它类似于itertools.imap,但可以透明地将您的任务分配到集群中。

目标和设计

clusterfutures 是一个简单的包装器,用于在HPC集群上以批处理作业运行Python函数。每个future对应一个批处理作业。您通过clusterfutures运行的函数通常应该持续至少几秒钟:运行较小的函数将因为启动作业和移动数据的开销而不高效。

功能、参数和返回值通过创建文件来发送;这假设控制过程和工作节点有一个共享的文件系统。这种机制对于相对少量的数据来说很方便;可能不是将大量数据传输到和从工作节点传输的最佳方式。

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

clusterfutures-0.5.tar.gz (9.1 kB 查看哈希)

上传时间

构建分布

clusterfutures-0.5-py3-none-any.whl (9.6 kB 查看哈希)

上传时间 Python 3