【並行計算】Hello, world! —— 我的第一個並行程序

【並行計算】Hello, world! —— 我的第一個並行程序

在2019年大數據與人工智能的暑期學校中,我第一次接觸到了並行編程,當時使用的是長沙超算中心的天河一號,大概同時使用過128個核心,一起來做些簡單的運算,後來也在自己的筆記本上做過4-8個線程的簡單嘗試,最近又重新撿了起來,溫習一下,並做以記錄。

1.程序代碼:

  話不多所,先上代碼,畢竟Talking is cheap, show me the code!

from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
print('Hello, world! This is from process: %d' % rank)

我們將文件保存爲MPI_Helloworld.py

2.代碼介紹

1.我們首先導入mpi4py庫中的MPI模塊

from mpi4py import MPI

2.將comm(communication的簡寫)定義爲一組可以互相發送消息的進程集合

comm = MPI.COMM_WORLD

3.獲得正在調用進程的進程號

rank = comm.Get_rank()

4.各進程各自打印輸出

print('Hello, world! This is from process: %d' % rank)

3.執行

  在終端執行:

mpiexec -n 4 python MPI_Helloworld.py

  可以看到輸出

fire@fire-P7xxTM1:~/multi_process_thread$ mpiexec -n 4 python mpi_helloworld.py 
Hello, world! This is from process: 0
Hello, world! This is from process: 1
Hello, world! This is from process: 2
Hello, world! This is from process: 3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章