| 2 | 1/1 | 返回列表 |
| 查看: 806 | 回復(fù): 1 | ||
| 【懸賞金幣】回答本帖問(wèn)題,作者fo3mt2將贈(zèng)送您 10 個(gè)金幣 | ||
fo3mt2金蟲 (小有名氣)
|
[求助]
MPI并行收集數(shù)據(jù)
|
|
|
大家好, 我想請(qǐng)教一段用fortran寫的mpi并行程序。代碼如下: do i = 1, nomi, 1 if (mod(i-1,world_size) /= world_rank) cycle kkim = kkimp(i,1:3) call proce(i,ndegen,nbc,npo,kkim,hil,thil,tecv,teve,bcb,eni,er,pi,nne,hb,bcp1) if (world_rank == 0) then bcp2 = bcp1 !the 6th line do j = 1, world_size-1, 1 if (i-1+j == nomi) exit k = i + j + 1000 call mpi_recv(bcp3,nomi*nne*6,mpi_double_complex,j,k,mpi_comm_world,mpi_status_ignore,ierr) bcp2 = bcp2 + bcp3 end do else k = i + 1000 call mpi_send(bcp1,nomi*nne*6,mpi_double_complex,0,k,mpi_comm_world,ierr) end if end do 假設(shè)根進(jìn)程(root processor)在外循環(huán)里一共被使用了兩次,每次都會(huì)調(diào)用子程序proce,并從子程序得到傳回的數(shù)組bcp1。 當(dāng)用根進(jìn)程(root processor)使用數(shù)組bcp2,從各個(gè)進(jìn)程(包括其自身)收集各自得到的數(shù)組bcp1時(shí),根進(jìn)程(root processor)需要先收集自己得到的數(shù)組bcp1。 因?yàn)榧僭O(shè)根進(jìn)程(root processor)在外循環(huán)里一共被使用了兩次,根進(jìn)程(root processor)一共要從自身收集兩次bcp1數(shù)組。那程序里的第6行(標(biāo)記為!the 6th line),寫成bcp2 = bcp1是否合理呢? 我覺(jué)得這樣寫,會(huì)使得根進(jìn)程(root processor)在循環(huán)里第二次被使用得到的數(shù)組bcp1,覆蓋掉第一次被使用得到的數(shù)組bcp1,進(jìn)而導(dǎo)致丟失了第一次使用時(shí)得到的數(shù)組bcp1信息。 如果不丟失信息,應(yīng)該進(jìn)行疊加,也就是把第6行寫成bcp2 = bcp2 + bcp1;但程序里卻不是這樣寫的。 我想不通是什么原因,能否請(qǐng)大家給些建議呢?或者是否是程序?qū)戝e(cuò)了呢? 謝謝啦。 盼復(fù)。 |
新蟲 (正式寫手)
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 歡迎211本科同學(xué),過(guò)A區(qū)國(guó)家線,A區(qū)非偏遠(yuǎn)一本,交叉學(xué)科課題組 +13 | lisimayy 2026-03-04 | 23/1150 |
|
|---|---|---|---|---|
|
[考研] 308求調(diào)劑 +4 | 倘若起風(fēng)了呢 2026-03-05 | 4/200 |
|
|
[考研] 材料與化工,291,求調(diào)劑 +7 | 咕嚕咕嚕123123 2026-03-05 | 8/400 |
|
|
[考研] 一志愿東北大學(xué)080500,英一數(shù)二343分求調(diào)劑 +5 | Seele_v5 2026-03-04 | 5/250 |
|
|
[考研] 環(huán)境工程專碩307 一志愿211 四六級(jí)已過(guò) 求調(diào)劑 +5 | ccc! 2026-03-03 | 6/300 |
|
|
[考研] 304分材料專碩求調(diào)劑 +11 | qiuzhigril 2026-03-03 | 14/700 |
|
|
[考研] 085600材料與化工 298 調(diào)劑 +9 | 小西笑嘻嘻 2026-03-03 | 9/450 |
|
|
[考研] 材料學(xué)碩080500復(fù)試調(diào)劑294 +3 | 四葉zjz 2026-03-04 | 3/150 |
|
|
[考研] 293求調(diào)劑 +3 | 是樂(lè)渝哇 2026-03-04 | 3/150 |
|
|
[考研] 化學(xué)工程求調(diào)劑 +10 | 化工人999 2026-03-04 | 10/500 |
|
|
[考研] 材料復(fù)試調(diào)劑 +7 | 學(xué)材料的點(diǎn) 2026-03-01 | 8/400 |
|
|
[考研] 286 +6 | ksncj 2026-03-04 | 6/300 |
|
|
[考研] 282求調(diào)劑 +5 | 2103240126 2026-03-02 | 8/400 |
|
|
[考研] 289求調(diào)劑 +8 | yang婷 2026-03-02 | 10/500 |
|
|
[考研] 306求調(diào)劑 +7 | 張張張張oo 2026-03-03 | 7/350 |
|
|
[考研] 276求調(diào)劑 +8 | 路lyh123 2026-02-28 | 10/500 |
|
|
[考研] 290求調(diào)劑 +9 | ErMiao1020 2026-03-02 | 9/450 |
|
|
[考研] 調(diào)劑 +3 | 13853210211 2026-03-02 | 4/200 |
|
|
[考研] 化工299分求調(diào)劑 一志愿985落榜 +5 | 嘻嘻(*^ω^*) 2026-03-01 | 5/250 |
|
|
[考研] 調(diào)劑 +3 | 簡(jiǎn)木ChuFront 2026-02-28 | 3/150 |
|