作者running1125 (running)
看板Soft_Job
标题Re: [讨论] 多线程软件设计用书
时间Thu Jan 11 18:30:23 2024
前辈好
感谢大神无私地分享,
想藉讨论串问一下,
有人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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1704969025.A.866.html
※ 编辑: running1125 (220.128.216.143 台湾), 01/11/2024 18:33:21
1F:推 encorek22554: python看官方文件和几篇教学文就差不多了吧,没什 01/11 18:37
2F:→ encorek22554: 麽特别诀窍或眉角 01/11 18:37
3F:→ celestialgod: Python有GIL 没办法直接用OpenMP 01/11 19:07
4F:→ celestialgod: 但是你可以写Cython release GIL + OpenMP 01/11 19:07
5F:→ celestialgod: Python太多人用了 应该不缺这块资源 01/11 19:07
6F:推 soheadsome: CUDA Python 比较潮 01/11 20:29
7F:推 oopFoo: OpenMP是shared-memory,Python就算没GIL也不太适合。 01/11 22:08
8F:→ oopFoo: Python比较适合的是MPI,Message Passing。这是有标准的 01/11 22:10
9F:→ oopFoo: Python有mpi4py,类似mpich/openmpi。 01/11 22:13
10F:推 oopFoo: 没接触Python Async,不过Async应该就是non-blocking的 01/11 22:20
11F:→ oopFoo: 语法,背後可以是Multithread。比较像是古早win 3.1的 01/11 22:22
12F:→ oopFoo: cooperative multitasking。有它的好处,如果真想写Python 01/11 22:23
13F:→ oopFoo: 的Parallel Program,应该还是走MPI这个方向。MPI的书很多 01/11 22:24
14F:推 oopFoo: 学会观念,就可以套用在mpi4py。mpi4py.futures也有提供 01/11 22:28
15F:→ oopFoo: 的功能。 01/11 22:28
16F:推 oopFoo: "The Art of HPC" vol 2有讲到mpi4py还有该注意的地方。 01/11 22:36
17F:→ oopFoo: CC-BY 4.0 license.所以可以去下载来研读。 01/11 22:36
18F:→ Lordaeron: parallel problem 不是case by case 的? 怎麽有一统 01/12 00:08
19F:→ Lordaeron: 天下的产品? 这麽神奇... 01/12 00:08
20F:→ zerof: Cpython 01/12 01:44
21F:→ zerof: 打错ㄌ是 Cython 01/12 01:44