作者ofd168 ()
看板C_and_CPP
标题[问题] 多执行绪问题
时间Thu Sep 5 18:32:18 2019
开发平台(Platform): (Ex: Win10, Linux, ...)
win7/win10/linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vc++ / gcc
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
openCL / openMP / C++11
问题(Question):
跑模拟想要加速
想要的是CPU的多执行绪
目前爬文大致知道有 openCL / openMP / C++11 有多核心的library
C++11的多执行绪好像来自於boost (?)
openCL是比较偏向GPU那方面的多执行绪,因为伺服器没有显卡资源可以用
所以目前应该是openMP与C++ 11在选择
openMP的优点好像是语法使用容易,3.0版本之後也都支援Data / task parallelism
C++11的优点不太确定
但根据爬文的结果
https://software.intel.com/en-us/articles/choosing-the-right-threading-
framework
https://i.imgur.com/S46pILI.png
目前找资料的是觉得
openMP好像没有书比较深入的讲解
C++11有找到 C++并行程式设计 多执行绪实务
目前应该规划是会以Data parallelism为主
未来可能会切一些做task parallelism
想问大家是怎麽挑要用哪一种来实作多执行绪?
--
标题 [笑话] 唐三藏的愿望
唐三藏:八戒,你跑两步给为师看看。
八 戒:师父,你为啥突然想看徒儿跑步?
唐三藏:哎啊!惭愧,为师自幼在寺中长大,既没吃过猪肉,也没看过猪跑步。
1F:嘘 changhua5566:我想你也没被猪嘘过01/16 21:40
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.204.170 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1567679544.A.C74.html
2F:→ EricTCartman: 当然是用TBB上啊 09/05 19:03
3F:→ ofd168: 电脑和伺服器都是用AMD cpu,这样也可以上吗 09/05 19:53
4F:推 Schottky: 还有 pthread 啊 XDDD 09/05 21:44
5F:推 Bencrie: OpenCL 可以跑纯 CPU 啊 09/05 22:43
6F:→ ofd168: 想问这麽多种,大家是怎麽做选择呢 09/05 22:59
7F:推 LiloHuang: TBB 09/05 23:18
8F:推 Schottky: 小学生才做选择,我全都要 09/06 01:42
9F:→ Schottky: 每种都写一遍再比较看看,反正语法上都没有很难 09/06 01:46
10F:→ Schottky: 麻烦的是演算法要怎麽改成可以平行处理吧,平行化之後 09/06 01:46
11F:→ Schottky: 反而比原本更慢的例子并不少见 09/06 01:46
12F:→ Schottky: 要简单地立刻导入旧 code 我推 OpenMP 09/06 01:48
13F:→ ofd168: 好的,谢谢大大 09/06 23:04
14F:推 a1u1usul3: 学习历程可以从openmp→ pthread→opencl/cuda 09/07 01:58
15F:→ a1u1usul3: 如果第一步改用openmp就卡关可能是演算法不适合以for l 09/07 02:08
16F:→ a1u1usul3: oop切分,可能就要考虑用更有弹性的套件去写如pthread 09/07 02:08
17F:→ a1u1usul3: 和std thread 09/07 02:08
18F:推 dh4mve: cpp-taskflow 09/07 19:57