julia 并行计算

并行计算

大多数现代计算机持有不止一个CPU,也可能是几个计算机连接在一起形成一个集群(Cluster)。利用这些多CPU的力量运行更快地完成更多的计算。影响性能的两个主要因素:CPU本身的速度,访问内存的速度。在一个集群中,很明显所给的CPU在同一计算机(节点)上访问RAM的速度是最快的。更令人吃惊的是,相似的问题与一个典型的多核电脑有关,由于主存和cache速度的差异。所以,一个良好的多进程环境应该允许一个特殊的CPU来控制内存块之间的关系。julia提供了一个基于消息发送的多进程环境,允许程序在单独的内存域中运行多进程。

julia消息传递的实现与其它环境是不同的,如MPI。julia中的通信通常是“单边的”(“one-sided"),意味着程序员需要在两进程操作中明确管理一个进程。而且,通常,这些操作不像“message send”和“message receive”,而是像高级的操作,如调用用户函数。

julia中的并行程序被建立在两个原语之上:remote references和remote calls。

原文地址:https://www.cnblogs.com/wangbingru/p/5704585.html