A 班程式要求請使用所熟悉的程式開發環境設計單一行程產生子行程( Child Process ) 與多執行緒( Multi-Thread) 的程式,意即完成下列傳統for loop 之 ... ... <看更多>
multi-thread與multi-process的優劣 在 提高GPU利用率,聽NVIDIA專家分享這個CUDA工具 - PTT新聞 的推薦與評價
對於多個CPU processes 發射kernels 的情況,要想實現真正的kernels 並發,就需要借助CUDA 中的工具:MPS (Multi-Process Service)。 ... <看更多>
multi-thread與multi-process的優劣 在 [問題] multithread 與multiprocess的選擇- 看板Python - 批踢踢 ... 的推薦與評價
有時候再寫多執行緒程式的時候會有些困惑
到底是該選擇thread還是process
先忽略掉每個job間的溝通問題
如果是一台server 有兩顆CPU 每個有12個core (隨便舉例)
用C/C++寫的話應該直覺想到是用multi-thread來寫
才比較榨乾server的資源
不過因為python有 GIL的問題 這一切又開始讓我困惑了...
到底用哪一種方式才可以用到所有的core資源呢= =?
剛剛用了我的桌機測試了一次 (win7-64bits)
用簡單的程式跑了一下3個thread(我的是三核心CPU)
可以看到三個core都有明顯 loading上升的情況(不過還未到100%)
這...又算是 GIL嗎 = =?
我所理解的GIL應該會把三個threads都綁在同一個core上
還是他其實是綁在同一顆CPU上= =?
另外 如果他們不需要共享資源 (例如一個用IO 一個用CPU)
這樣還會lock 使得同一時間只有一個thread運行嗎 ??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.62.26
... <看更多>