Python 板


LINE

各位前輩們大家好,小弟最近遇到一個問題 我要從一個檔案內讀取10000個分子模擬的快照 每個快照都包含66個原子,其中,每個原子都有7個數值是我想要讀取的 因此矩陣大小會是 [10000,66,7] 由於資料量很大,如果用一個CPU讀取的話要花費約480秒左右 因此我最近改用mpi4py來寫,使用64個CPU讀取,只要7秒左右 最近遇到的問題是,我在程式碼內創造一個Data_properties矩陣 Data_properties = np.zeros((Number_images,Max_number_atoms,7)) 然後要求每個CPU各自讀取一個片段 (第一個CPU讀取0-156,第二個CPU讀取157-312...) 在我輸出數值時我發現,64個CPU裡面各自包含一個名為Data_properties的矩陣 並不是共用同一個矩陣,因此總共有64個矩陣 基於上面的讀取指令,每個矩陣都只有一小片段是正確的 (例如:第一個CPU只有0-156是有數值的,其他部分都是0) 目前想到的方法是再用一個矩陣來讀取這64個矩陣,把數值正確的部分提取出來 但是這樣又會增加運算量 (目前更在乎的是後面要處理數據時會有非常龐大的運算需求) 因此想請問是否有比較好的方法來執行上述的過程呢? 使用"from multiprocessing import Pool"模組是否能解決此類問題呢? 還希望有跑過模擬的鄉民們能幫小弟解惑,謝謝 :) --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 45.3.90.45
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1545254209.A.25C.html
1F:推 Solccp: 關鍵字: MPI_Gather 12/20 08:48
感恩 :) S大,我後來解決了 一開始我發現Gather回來的結構會是個list,因此我採用 asarray 跟 concatenate 把list切段後拼回來 平行化效率雖然只有50%,但還是快了31倍左右 (應該有不少資源用在上述兩個指令中) 而且在執行asarray 跟 concatenate 時,除了rank 0以外的CPU都是閒置狀態 才會導致平行化效率降低
2F:→ yoyololicon: 這資料感覺也沒很大,你讀取是怎麼讀的?不應該這麼 12/20 08:51
3F:→ yoyololicon: 久 12/20 08:51
4F:推 sma1033: 我也覺得這資料量沒很大,速度慢應賅是其他的問題 12/20 13:13
因為檔案是由模擬軟體輸出的traj檔 因此我是用ase內建的io來讀取檔案,接著使用ase內建的函數來讀取數值 from ase import io Total_images = io.read(Input_file,index=slice(None)) Data_properties[i,j,1] = Total_images[i].get_positions()[j][0] 讀檔案大概要花20秒左右,主要是第二行的指令會比較花時間 ※ 編輯: dogs1231992 (45.3.84.252), 12/20/2018 22:49:49 ※ 編輯: dogs1231992 (45.3.84.252), 12/21/2018 05:15:08







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP