Re: [討論] 多線程軟件設計用書

看板Soft_Job (軟體人)作者 (running)時間10月前 (2024/01/11 18:30), 10月前編輯推噓6(6015)
留言21則, 6人參與, 10月前最新討論串3/3 (看更多)
前輩好 感謝大神無私地分享, 想藉討論串問一下, 有人Python 有相關書籍嗎? openMP似乎python 沒有套件 目前查到的multiprocess 跟 multithread 都是網路上的文章 我是想找比較專業的書籍,什麼語言都可以 目前只有找到 https://reurl.cc/130yZQ 想問一下各位大大有讀過嗎? 是否值得購買? 謝謝 ※ 引述《oopFoo (3d)》之銘言: : ※ 引述《musashi023 (太陽魚)》之銘言: : : 嗨蓋斯 : : 最近下班在研究Qt multithreading, 對於把CPU性能榨乾覺得蠻有成就感的 : : 就搞了一本 C++ Concurrency in Action 來翻翻 : 除非特別需要,不要自己打造輪子。現在最普及使用的是OpenMP,資源多,會的人也多。 : https://www.openmp.org/resources/openmp-books/ : 都是好書可以讀。尤其"High Performance Parallel Runtimes"可以讓你了解基礎,也知道parallel programming is HARD。 : 我自己喜歡的是Intel TBB(Threading Building Blocks),語法比較適合我的用法。 : Intel ISPC也是我喜歡的東東,不過這就有點偏門了。 : : 前陣子面試 : : 剛剛好跟他們主管聊到,怎麼讓多線程上鎖的成本最小化,覺得蠻酷的 : : 雖然明白這本來就是多線程程序設計的重點 : : 想知道有沒有專門在聊這個的書 : 上鎖就輸了,如果你的鎖複雜,更容易出錯。 : 如何重新解構資料結構去避開鎖,如何排列記憶體是Parallel Programming的重點。false sharing,很常碰到,data thrashing也是頭痛問題。 : 以上都是shared-memory model的問題,但要最高效能無法避免的。 : 這也是為什麼Erlang, goLang,這種message passing盡量避開shared-memory的問題,流行起來。Recommended。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.128.216.143 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1704969025.A.866.html ※ 編輯: running1125 (220.128.216.143 臺灣), 01/11/2024 18:33:21

01/11 18:37, 10月前 , 1F
python看官方文件和幾篇教學文就差不多了吧,沒什
01/11 18:37, 1F

01/11 18:37, 10月前 , 2F
麼特別訣竅或眉角
01/11 18:37, 2F

01/11 19:07, 10月前 , 3F
Python有GIL 沒辦法直接用OpenMP
01/11 19:07, 3F

01/11 19:07, 10月前 , 4F
但是你可以寫Cython release GIL + OpenMP
01/11 19:07, 4F

01/11 19:07, 10月前 , 5F
Python太多人用了 應該不缺這塊資源
01/11 19:07, 5F

01/11 20:29, 10月前 , 6F
CUDA Python 比較潮
01/11 20:29, 6F

01/11 22:08, 10月前 , 7F
OpenMP是shared-memory,Python就算沒GIL也不太適合。
01/11 22:08, 7F

01/11 22:10, 10月前 , 8F
Python比較適合的是MPI,Message Passing。這是有標準的
01/11 22:10, 8F

01/11 22:13, 10月前 , 9F
Python有mpi4py,類似mpich/openmpi。
01/11 22:13, 9F

01/11 22:20, 10月前 , 10F
沒接觸Python Async,不過Async應該就是non-blocking的
01/11 22:20, 10F

01/11 22:22, 10月前 , 11F
語法,背後可以是Multithread。比較像是古早win 3.1的
01/11 22:22, 11F

01/11 22:23, 10月前 , 12F
cooperative multitasking。有它的好處,如果真想寫Python
01/11 22:23, 12F

01/11 22:24, 10月前 , 13F
的Parallel Program,應該還是走MPI這個方向。MPI的書很多
01/11 22:24, 13F

01/11 22:28, 10月前 , 14F
學會觀念,就可以套用在mpi4py。mpi4py.futures也有提供
01/11 22:28, 14F

01/11 22:28, 10月前 , 15F
的功能。
01/11 22:28, 15F

01/11 22:36, 10月前 , 16F
"The Art of HPC" vol 2有講到mpi4py還有該注意的地方。
01/11 22:36, 16F

01/11 22:36, 10月前 , 17F
CC-BY 4.0 license.所以可以去下載來研讀。
01/11 22:36, 17F

01/12 00:08, 10月前 , 18F
parallel problem 不是case by case 的? 怎麼有一統
01/12 00:08, 18F

01/12 00:08, 10月前 , 19F
天下的產品? 這麼神奇...
01/12 00:08, 19F

01/12 01:44, 10月前 , 20F
Cpython
01/12 01:44, 20F

01/12 01:44, 10月前 , 21F
打錯ㄌ是 Cython
01/12 01:44, 21F
文章代碼(AID): #1bdyD1Xc (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1bdyD1Xc (Soft_Job)