专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
老刘说NLP  ·  再看知识图谱本体生成:RAG用于Mysql数 ... ·  22 小时前  
OSC开源社区  ·  Gitee ... ·  2 天前  
程序员的那些事  ·  AI 编程工具 Windsurf 突遭 ... ·  3 天前  
程序猿  ·  Spring 之父:我不是 Java ... ·  3 天前  
51好读  ›  专栏  ›  程序员大咖

使用 MPI for Python 并行化遗传算法

程序员大咖  · 公众号  · 程序员  · 2017-10-02 10:24

正文

请到「今天看啥」查看全文


MPI_INSTALLED :

mpi_comm = MPI . COMM_WORLD

return mpi_comm . Get_size ()

else :

return 1

@ property

def is_master ( self ) :

return self . rank == 0


组内集合通信接口


由于本次并行化的任务是在种群繁衍时候进行的,因此我需要将上一代种群进行划分,划分成多个子部分,然后在每个进程中对划分好的子部分进行选择交叉变异等遗传操作。在最后将每个字部分得到的子种群进行收集合并。为此写了几个划分和收集的接口:


def split_seq ( self , sequence ) :

'''

Split the sequence according to rank and processor number.

'''

starts = [ i for i in range ( 0 , len ( sequence ), len ( sequence ) // self . size )]

ends = starts [ 1 : ] + [ len ( sequence )]

start , end = list ( zip ( starts , ends ))[ self . rank ]

return sequence [ start : end ]

def split_size ( self , size







请到「今天看啥」查看全文