二月 22

ARM板通过MPICH实现并行计算

对于并行计算大家应该从名字上就能明白究竟是个什么东西,字面上理解就是同时,一起进行计算。假想有这样一个场景,有四个人,现在需要完成四件 事,A、B、C、D。这四件事只能交给一个人做,而这个人只能做完一件事后才能做另一件。我们一般编写的程序都是串行的,而串行程序就是这样,程序执行时 是从头到尾一步一步的,只有完成了前面的计算才能进行后面的计算,也不允许别的进程加以干涉,纵使你电脑有四个核心,也只有一个核心在工作,而不关剩下的 三个核心的事。显然,如果有一种方法,能够让这四个人每人分别做一件事,那效率就高了。这就是并行计算。

对于并行计算,实现的方法有很多种,本人对此也不熟悉,就不多说了。最常用到的是MPI库,超级计算机很多都是用这种方法实现并行的。对MPI的实现有两种软件,OpenMPI和MPICH,两者差不多。本文使用的是MPICH。

在 PC上实现非常地容易,只需要按照手册里的步骤一步一步安装就行了。但是,现在服务器和PC的处理器基本上使用的是英特尔的X86架构,性能强大但同时功 耗也高。反观我们使用的手机等使用ARM架构的设备,功耗却很小。所以,在ARM架构下建立一个低功耗的并行计算集群就变得有价值了。
Continue reading