单个node的平行是通过shared memory/pthread来实现(比如fork())。多个node的平行需要message passing,需要MPI-capable的软件。两种code 差别很大。shared-mem/multi-thread 容易写code,但cross-node multi-thread的效率太低(主要是TCP/IP和network的latency太高)。所以,一般cross-node并行用MPI,以减少cross-node的通讯。