繁体   English   中英

与mpi4py并行分析文本文件

[英]analyze text file in parallel with mpi4py

我有一个输入选项卡分隔的文本文件:

0   .4
1   .9
2   .2
3   .12
4   .55
5   .98

我在普通Python中将其分析为:

lines = open("songs.tsv").readlines()

def extract_hotness(line):
        return float(line.split()[1])

songs_hotness =map(extract_hotness, lines)
max_hotness = max(songs_hotness)

如何使用mpi4py并行执行相同的操作? 我开始使用scatter实现这一点,但是由于scatter需要列表元素的长度与节点数的长度相同,因此无法立即使用。

并行处理文本文件很困难。 您在哪里分割文件? 您是否还在从并行文件系统读取数据? 如果输入文件足够大,则可以考虑使用MPI-IO。 如果走那条路,这些答案(在C上下文中提供)描述了mpi4py仍然面临的挑战: https ://stackoverflow.com/a/31726730/1024740和https://stackoverflow.com/a/12942718/ 1024740

另一种方法不是分散数据,而是将其全部读入0级并广播给其他所有人。 这种方法需要足够的内存来一次暂存所有输入数据,或者需要一种主工人计划,即一次只能读取一些数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM