Re: [討論] 多線程軟件設計用書
前輩好
感謝大神無私地分享,
想藉討論串問一下,
有人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。
--
python看官方文件和幾篇教學文就差不多了吧,沒什
麼特別訣竅或眉角
Python有GIL 沒辦法直接用OpenMP
但是你可以寫Cython release GIL + OpenMP
Python太多人用了 應該不缺這塊資源
CUDA Python 比較潮
OpenMP是shared-memory,Python就算沒GIL也不太適合。
Python比較適合的是MPI,Message Passing。這是有標準的
Python有mpi4py,類似mpich/openmpi。
沒接觸Python Async,不過Async應該就是non-blocking的
語法,背後可以是Multithread。比較像是古早win 3.1的
cooperative multitasking。有它的好處,如果真想寫Python
的Parallel Program,應該還是走MPI這個方向。MPI的書很多
學會觀念,就可以套用在mpi4py。mpi4py.futures也有提供
的功能。
"The Art of HPC" vol 2有講到mpi4py還有該注意的地方。
CC-BY 4.0 license.所以可以去下載來研讀。
parallel problem 不是case by case 的? 怎麼有一統
天下的產品? 這麼神奇...
Cpython
打錯ㄌ是 Cython
6
首Po嗨蓋斯 最近下班在研究Qt multithreading, 對於把CPU性能榨乾覺得蠻有成就感的 就搞了一本 C++ Concurrency in Action 來翻翻 前陣子面試 剛剛好跟他們主管聊到,怎麼讓多線程上鎖的成本最小化,覺得蠻酷的11
除非特別需要,不要自己打造輪子。現在最普及使用的是OpenMP,資源多,會的人也多。 都是好書可以讀。尤其"High Performance Parallel Runtimes"可以讓你了解基礎,也知道parallel programming is HARD。 我自己喜歡的是Intel TBB(Threading Building Blocks),語法比較適合我的用法。 Intel ISPC也是我喜歡的東東,不過這就有點偏門了。
22
[問卦] Python是怎麼突然爆紅的?在2015年左右以前 程式語言的霸主要嘛以偏底層可以控制記憶體的C/C++為主 要嘛是物件導向能力強大的Java、C# 或者是網頁在使用的html、php、JavaScript 即使是資料科學分析也有R 工程科學也有matlab 結果就是Python在這幾年迅速竄起 直追Java和C的龍頭寶座17
[問卦] Python怎麼那麼難懂啊?variable type 不清楚,幹這數字到底是float還是int? function return type 也沒標記 function argument type 不知道是啥 oop語法有夠難懂 每次看python 的code都好痛苦12
[問卦] 可否幫忙推薦容易自學的python和R語言書不好意思 因為這邊人比較多 想請教,有沒有比較容易自學的python和R語言的書籍 我是幾乎不知道語法,因此需要一本入門書 可否請教一下有經驗的6
[問卦] C#轉java難還是java轉c#難小魯弟有一個朋友在寫C# .NET的想轉去學java 因為他覺得怎麼會覺好像都看得懂java,感覺很簡單 但又怕學太慢,所以來問小魯弟我,我怎麼會知道 所以來問一下廣大的網友 c#轉java難嗎,有比java轉c#難嗎?6
[閒聊] 女孩什麼時候開始認真學python我一個念財金的同學 自從學會python和一些它的套件之後 就沒有什麼再用excel了 好像都用python就能把xlsx csv檔案撈出來 做更複雜的事情了4
Re: [問卦] C++可以啟發孩子的程式天份嗎?python 只能寫玩具,要進一步有疑慮 c++ 能寫大系統,可是周邊套件浩瀚如海,也有疑慮 不然 vb .net 安定,整個都包好好很完整,且有微軟這個頂尖的商人很賺錢 很賺錢才能保證一直維護更新與時俱進呀! python會被淘汰的,新的東西出來就被淘汰了,就像python以前大家都嘛流行perl3
Re: [問卦] 有python 為啥要用R因為python相關統計套件是近幾年才完善 而R語言學校學會的比較多 這就很像你問有R為啥還要SAS 或是有SAS為啥還要SPSS一樣 就教授會不會而已- 我認為要先釐清楚一點,要做AI的模型並非只能透過Python, 大家都用Python原因在於AI套件都已經由國外的大神做好了, 甚至有些套件都事先訓練好資料,提供weight檔案,可以直接使用應用在某些專案, 若只是要用這些AI套件,使用Python非常方便 Python的優點: