集群上的远程执行futures
项目描述
此模块提供了一个Python concurrent.futures 执行器,允许您在HTCondor 或 Slurm 集群上运行函数。停止担心编写作业文件、散布/收集和序列化——此模块为您全部完成。
它使用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.py 和 condor_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 查看哈希)
关闭
clusterfutures-0.5.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 261e82c44b500e39b71e3a2c41db66d9777e9674d58449cb90aa83a1955e9453 |
|
MD5 | a90c41b7a8ad8d5be30638330008dba0 |
|
BLAKE2b-256 | 9105667b80f05dfb2b175f8d36f3c737e5ae9cb6e65f0c0a2cea0d655d73c2c8 |
关闭
clusterfutures-0.5-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 391c9258da445366b7e859ac8ed2883aecfd26de364959fc1910e1a7c63bb933 |
|
MD5 | 11ca7a908f1a5f6cd5277c8830ba80aa |
|
BLAKE2b-256 | 8a0cb3357f3f7fe40009f24c2aac4ad6ae902071c5eff340c162f4c895751a20 |