由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - intel knights landing 72core CPU 谁用过?
相关主题
C++ Software Engineer 工作求内推(Boston)openMP or boost::thread (pthread) for multithreading ?
魏老师聊聊FPGA吧谁给推荐本parallel programming的入门教材
请问程序同时在多个cpu上运行需要怎么改程序?请教Intel MPI基本常识
学习C++是浪费你的生命求救
c++11 std::thread 和 openmp 那个额外开销少?我写的C++ ParallelForLoop,感兴趣的来下载测试
如何查看一个程序/进程使用了哪些cpu?看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
MPI 编程可以再 (转载)我写的CUDA屏保软件 (转载)
哪位帮忙看一个极为简单的 MPI 程序,感谢拉!nv的显卡能战胜intel的CPU么
相关话题的讨论汇总
话题: mpi话题: cpu话题: openmp话题: gpu话题: 线程
进入Programming版参与讨论
1 (共1页)
L****8
发帖数: 3938
1
貌似不错啊 可以拼 GUP了
写 GPU code 太麻烦了
k****f
发帖数: 3794
2
gpu已经有很多轮子了,比cpu好用多

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

w***g
发帖数: 5958
3
价钱拼得过吗? 我是CPU党.

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

l*******m
发帖数: 1096
4
性能和amd估计差不多,价格比nvidia的企业级便宜些

【在 w***g 的大作中提到】
: 价钱拼得过吗? 我是CPU党.
N*****m
发帖数: 42603
5
larrabee重生?

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

l*******m
发帖数: 1096
6
cuda, nvcc都是binary. 如果cpu速度快些,轮子马上就多了。nvidia的优势是gamers
gpus价格低,一般人都能入手

【在 k****f 的大作中提到】
: gpu已经有很多轮子了,比cpu好用多
s******u
发帖数: 501
7
烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
fork出来写CUDA,然后maintain两套codebase

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

L****8
发帖数: 3938
8
50-60x 是跟谁比较?

【在 s******u 的大作中提到】
: 烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
: 。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
: 许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
: lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
: 以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
: fork出来写CUDA,然后maintain两套codebase

c*******9
发帖数: 9032
9
72个远远不够呀。

gamers

【在 l*******m 的大作中提到】
: cuda, nvcc都是binary. 如果cpu速度快些,轮子马上就多了。nvidia的优势是gamers
: gpus价格低,一般人都能入手

w***g
发帖数: 5958
10
为啥openmp还不如mpi? 单机上面做MPI不合常理啊.
其实只要把blas和fft优化好了就行.

【在 s******u 的大作中提到】
: 烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
: 。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
: 许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
: lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
: 以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
: fork出来写CUDA,然后maintain两套codebase

相关主题
如何查看一个程序/进程使用了哪些cpu?openMP or boost::thread (pthread) for multithreading ?
MPI 编程可以再 (转载)谁给推荐本parallel programming的入门教材
哪位帮忙看一个极为简单的 MPI 程序,感谢拉!请教Intel MPI基本常识
进入Programming版参与讨论
m****0
发帖数: 229
11
Intel自己的TBB怎么样?

【在 s******u 的大作中提到】
: 烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
: 。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
: 许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
: lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
: 以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
: fork出来写CUDA,然后maintain两套codebase

w***g
发帖数: 5958
12
转apache license了, 可以跟进下. 就是写的code太难看, 只适合做比较底层的东西.

【在 m****0 的大作中提到】
: Intel自己的TBB怎么样?
L****8
发帖数: 3938
13
用c++11的thread 就可以 临时开个72线程
每个负责图像的一块区域
自己写 很简单

【在 w***g 的大作中提到】
: 转apache license了, 可以跟进下. 就是写的code太难看, 只适合做比较底层的东西.
m****0
发帖数: 229
14
居然是这样
没用过没有概念
James自己还把CUDA,OpenCL,OpenMP鄙视一番
我还以为TBB写出来会比较high level
原来也没有好多少啊

【在 w***g 的大作中提到】
: 转apache license了, 可以跟进下. 就是写的code太难看, 只适合做比较底层的东西.
m****0
发帖数: 229
15
scaling如何?

【在 L****8 的大作中提到】
: 用c++11的thread 就可以 临时开个72线程
: 每个负责图像的一块区域
: 自己写 很简单

L****8
发帖数: 3938
16
我只试过12核cpu

【在 m****0 的大作中提到】
: scaling如何?
w***g
发帖数: 5958
17
现在也有lambda了. 但即便这样简洁性也还是比openmp差太远.
以前没有lambda时, 为了parallelize一点东西费老了劲了, 而那时
就有omp parallel for了. 所以我一直不用tbb.
为了一点点性能牺牲代码的优美性不值得.
我知道opencv是用tbb的.

【在 m****0 的大作中提到】
: 居然是这样
: 没用过没有概念
: James自己还把CUDA,OpenCL,OpenMP鄙视一番
: 我还以为TBB写出来会比较high level
: 原来也没有好多少啊

L****8
发帖数: 3938
18
是不是每个thread不能绑定到一个cpu core上?

【在 s******u 的大作中提到】
: 烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
: 。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
: 许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
: lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
: 以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
: fork出来写CUDA,然后maintain两套codebase

m****0
发帖数: 229
19
又看了一遍,72核心,50-60x其实还行啊(是不是我要求太低了。。。)
我好奇的是你的MPI能scale到什么程度?

【在 s******u 的大作中提到】
: 烂。OpenMP的scaling明显有问题,72核心280线程但是scaling能到50-60x就很不错了
: 。总而言之,OpenMP对海量线程的优化还是不行,sweet spot停留在8-32线程并行。也
: 许是kernel thread的模型决定了OpenMP thread的overhead太高,不像GPU那么
: lightweight。MPI倒是能做的不错,但是要这么多的进程内存又不够。最大的优点是可
: 以直接用现有的x86代码(绝大多数已经支持MPI+OpenMP了),不用像GPU需要重新
: fork出来写CUDA,然后maintain两套codebase

k****i
发帖数: 101
20
nvda撕intc phi - no free-lunch for recompile & run
http://www.nvidia.com/object/justthefacts.html

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

相关主题
求救我写的CUDA屏保软件 (转载)
我写的C++ ParallelForLoop,感兴趣的来下载测试nv的显卡能战胜intel的CPU么
看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的没人讨论这个?
进入Programming版参与讨论
k****i
发帖数: 101
21
clang在做cuda编译,用的sdk,driver还是closed的。
http://llvm.org/docs/CompileCudaWithLLVM.html

gamers

【在 l*******m 的大作中提到】
: cuda, nvcc都是binary. 如果cpu速度快些,轮子马上就多了。nvidia的优势是gamers
: gpus价格低,一般人都能入手

s******u
发帖数: 501
22
跟单线程运行比较,280个线程也就只有50-60x的speedup

【在 L****8 的大作中提到】
: 50-60x 是跟谁比较?
s******u
发帖数: 501
23
OpenMP不如MPI确实是很奇怪,而且测试的程序是基本完全数据独立,不需要共享和加
锁的那种理想算法,横竖应该跟MPI差不多,但是实际上效率只有MPI的一半到三分之二
左右。从Intel和AMD的CPU,到knights corner, knights landing都是这样子。要说是
memory access的问题,但是multisock的CPU都是NUMA,而MIC还是UMA,按说更好才是
。最后不光是我们自己,去那些HPC的workshop,大家都是一样的说法。结果就是平常
那种常见的32核心的机器,通常都是跑4MPIx8OpenMP或者8MPIx4OpenMP

【在 w***g 的大作中提到】
: 为啥openmp还不如mpi? 单机上面做MPI不合常理啊.
: 其实只要把blas和fft优化好了就行.

s******u
发帖数: 501
24
没拿TBB写过并行程序,所以不敢说。我听说的是TBB更适合task并行,而不是data并行
,所以也许并不适合通常的数值计算。当然只是听说,不负责任,呵呵

【在 m****0 的大作中提到】
: Intel自己的TBB怎么样?
s******u
发帖数: 501
25
MIC有各种的绑定方法,比方说先每个核心塞一个线程,塞满之后再往每个核心赛第二
个线程,或者是每个核心先塞满四个线程,再接着塞下一个核心等等。我说50-60x已经
是最好的情况下了

【在 L****8 的大作中提到】
: 是不是每个thread不能绑定到一个cpu core上?
p***o
发帖数: 1252
26
真诡异

【在 s******u 的大作中提到】
: OpenMP不如MPI确实是很奇怪,而且测试的程序是基本完全数据独立,不需要共享和加
: 锁的那种理想算法,横竖应该跟MPI差不多,但是实际上效率只有MPI的一半到三分之二
: 左右。从Intel和AMD的CPU,到knights corner, knights landing都是这样子。要说是
: memory access的问题,但是multisock的CPU都是NUMA,而MIC还是UMA,按说更好才是
: 。最后不光是我们自己,去那些HPC的workshop,大家都是一样的说法。结果就是平常
: 那种常见的32核心的机器,通常都是跑4MPIx8OpenMP或者8MPIx4OpenMP

w***g
发帖数: 5958
27
你有benchmark吗? 你这么说我很涨见识. 我见过的几个, openblas有openmp或者
thread版,
opencv用tbb, fftw用openmp, 还没见过哪个单机跑的轮子用MPI的. 你没有用32MPI我
觉得
就是一个证据, 就是MPI还做不到底. 但是即使是4x8或8x4能把OpenMP干掉我觉得也很
牛.

【在 s******u 的大作中提到】
: OpenMP不如MPI确实是很奇怪,而且测试的程序是基本完全数据独立,不需要共享和加
: 锁的那种理想算法,横竖应该跟MPI差不多,但是实际上效率只有MPI的一半到三分之二
: 左右。从Intel和AMD的CPU,到knights corner, knights landing都是这样子。要说是
: memory access的问题,但是multisock的CPU都是NUMA,而MIC还是UMA,按说更好才是
: 。最后不光是我们自己,去那些HPC的workshop,大家都是一样的说法。结果就是平常
: 那种常见的32核心的机器,通常都是跑4MPIx8OpenMP或者8MPIx4OpenMP

L****8
发帖数: 3938
28
1.3GHz 72 core
是不是不如最新的 2块 xeon e5-2699 (每块22 core 2.30GHz ) ?
有16G作为L3 cache 是不是比普通的xeon 快呢?

【在 s******u 的大作中提到】
: 跟单线程运行比较,280个线程也就只有50-60x的speedup
s******u
发帖数: 501
29
72个核心,然后每个核心是4个线程,硬件上只有一个instruction dispatcher,但是
有四个data dispatcher,所以理论上对SIMD还是能有不错的并行度。这样子总共280个
线程,怎么的我也指望能有100-140x之间的speedup吧
我用来测试的是PIC算法里面的charge deposition,32核心的CPU,MPI可以到30x。
BlueGeneQ,20000个核心基本可以到80-90%的效率,差不多16000x的speedup

【在 m****0 的大作中提到】
: 又看了一遍,72核心,50-60x其实还行啊(是不是我要求太低了。。。)
: 我好奇的是你的MPI能scale到什么程度?

w***g
发帖数: 5958
30
你这么一说我突然想起来, openMPI用的是轮询, 只要一跑上, 不管有没有算东西,
CPU都是100%. openmpi比openmp快可能和这个有关.

【在 s******u 的大作中提到】
: MIC有各种的绑定方法,比方说先每个核心塞一个线程,塞满之后再往每个核心赛第二
: 个线程,或者是每个核心先塞满四个线程,再接着塞下一个核心等等。我说50-60x已经
: 是最好的情况下了

相关主题
懂deepmind得说说魏老师聊聊FPGA吧
deep learning就是数据太贵请问程序同时在多个cpu上运行需要怎么改程序?
C++ Software Engineer 工作求内推(Boston)学习C++是浪费你的生命
进入Programming版参与讨论
w***g
发帖数: 5958
31
我还见过一上来就把hyperthreading关掉的人. 我自己写的C++程序, 90%的情况
用perf进去看最慢的指令, 都是在等数据. 或者说能做的优化做完以后, 一般就
都变成内存瓶颈了.

【在 s******u 的大作中提到】
: 72个核心,然后每个核心是4个线程,硬件上只有一个instruction dispatcher,但是
: 有四个data dispatcher,所以理论上对SIMD还是能有不错的并行度。这样子总共280个
: 线程,怎么的我也指望能有100-140x之间的speedup吧
: 我用来测试的是PIC算法里面的charge deposition,32核心的CPU,MPI可以到30x。
: BlueGeneQ,20000个核心基本可以到80-90%的效率,差不多16000x的speedup

s******u
发帖数: 501
32
你可以去试一下,单机上跑fftw,MPI一点都不比OpenMP差,是不是更好我倒是忘记了
,很久以前跑的。有两个以上的node,比方说32x2或者32x4的话纯MPI就不行了,不过
这个也许跟MPI的实现和硬件有更大的关系。3d FFT的transpose要用到alltoall,如果
优化不好的话这个是最大的性能瓶颈
benchmark我找找看

【在 w***g 的大作中提到】
: 你有benchmark吗? 你这么说我很涨见识. 我见过的几个, openblas有openmp或者
: thread版,
: opencv用tbb, fftw用openmp, 还没见过哪个单机跑的轮子用MPI的. 你没有用32MPI我
: 觉得
: 就是一个证据, 就是MPI还做不到底. 但是即使是4x8或8x4能把OpenMP干掉我觉得也很
: 牛.

w***g
发帖数: 5958
33
fftw还真有MPI!

【在 s******u 的大作中提到】
: 你可以去试一下,单机上跑fftw,MPI一点都不比OpenMP差,是不是更好我倒是忘记了
: ,很久以前跑的。有两个以上的node,比方说32x2或者32x4的话纯MPI就不行了,不过
: 这个也许跟MPI的实现和硬件有更大的关系。3d FFT的transpose要用到alltoall,如果
: 优化不好的话这个是最大的性能瓶颈
: benchmark我找找看

s******u
发帖数: 501
34
而且MPI版本的fftw远远快过OpenMP,至少三年前我测的时候是这样子
虚线是MPI,实线是OpenMP,超过32的部分不用去管

【在 w***g 的大作中提到】
: fftw还真有MPI!
s******u
发帖数: 501
35
嗯,我记得是一次memory load然后做几十次到上百次运算的才能做到CPU bound?一般
哪有这么多,我见过的几乎都是memory bound的

【在 w***g 的大作中提到】
: 我还见过一上来就把hyperthreading关掉的人. 我自己写的C++程序, 90%的情况
: 用perf进去看最慢的指令, 都是在等数据. 或者说能做的优化做完以后, 一般就
: 都变成内存瓶颈了.

s******u
发帖数: 501
36
有一点knights landing比xeon强,就是他的AVX512,你的应用能用得上的话裸提速起
码4倍以上,这个倒是实打实,而且和硬件4线程是独立的,也就是说每个核心可以跑4
个硬件线程,乘以每线程8倍宽度的AVX,都算上还是挺恐怖的
xeon是2线程的hyperthreading加上4倍宽度的AVX,而且里面的AVX指令对除法运算虽然
是4倍宽度,但是2倍延迟,基本等效于2倍宽度的SSE了

【在 L****8 的大作中提到】
: 1.3GHz 72 core
: 是不是不如最新的 2块 xeon e5-2699 (每块22 core 2.30GHz ) ?
: 有16G作为L3 cache 是不是比普通的xeon 快呢?

L****8
发帖数: 3938
37
看了一下https://github.com/baidu-research/DeepBench/tree/master/results
矩阵乘法
KNL 比 titan /titan-pasca 稍快
卷积
KNL 比 titan /titan-pasca慢 花费大约2倍时间
我看KNL 用到deep learning 上 还是不错的
具体见附件

4

【在 s******u 的大作中提到】
: 有一点knights landing比xeon强,就是他的AVX512,你的应用能用得上的话裸提速起
: 码4倍以上,这个倒是实打实,而且和硬件4线程是独立的,也就是说每个核心可以跑4
: 个硬件线程,乘以每线程8倍宽度的AVX,都算上还是挺恐怖的
: xeon是2线程的hyperthreading加上4倍宽度的AVX,而且里面的AVX指令对除法运算虽然
: 是4倍宽度,但是2倍延迟,基本等效于2倍宽度的SSE了

w***g
发帖数: 5958
38
比deep learning 没太大意义啊. 第一价钱肯定比不过. 第二deep learning框架
都很成熟了, 根本不需要自己写gpu代码. 所有人都已经在GPU上搞了, 要回x86
反而有barrier.
手写新算法, x86要比GPU容易得多. 这个还是很有吸引力的.
GPU内存优化太啰嗦. 这个一般人搞不定 (其实是我自己搞不定, 推广到一般人了.)

【在 L****8 的大作中提到】
: 看了一下https://github.com/baidu-research/DeepBench/tree/master/results
: 矩阵乘法
: KNL 比 titan /titan-pasca 稍快
: 卷积
: KNL 比 titan /titan-pasca慢 花费大约2倍时间
: 我看KNL 用到deep learning 上 还是不错的
: 具体见附件
:
: 4

k****f
发帖数: 3794
39
intel买了altera,以后可以cpu嵌入fpga,用fpga优化矩阵乘法和卷积,比gpu会快不
少的。不过fpga程序可就难多了,需要有人造好轮子。

【在 w***g 的大作中提到】
: 比deep learning 没太大意义啊. 第一价钱肯定比不过. 第二deep learning框架
: 都很成熟了, 根本不需要自己写gpu代码. 所有人都已经在GPU上搞了, 要回x86
: 反而有barrier.
: 手写新算法, x86要比GPU容易得多. 这个还是很有吸引力的.
: GPU内存优化太啰嗦. 这个一般人搞不定 (其实是我自己搞不定, 推广到一般人了.)

r******y
发帖数: 3838
40
fpga用functional programming很简便。

【在 k****f 的大作中提到】
: intel买了altera,以后可以cpu嵌入fpga,用fpga优化矩阵乘法和卷积,比gpu会快不
: 少的。不过fpga程序可就难多了,需要有人造好轮子。

相关主题
学习C++是浪费你的生命MPI 编程可以再 (转载)
c++11 std::thread 和 openmp 那个额外开销少?哪位帮忙看一个极为简单的 MPI 程序,感谢拉!
如何查看一个程序/进程使用了哪些cpu?openMP or boost::thread (pthread) for multithreading ?
进入Programming版参与讨论
w***g
发帖数: 5958
41
说了好多年了. 我几年前写deep learning框架的时候就指着这个, 没有上GPU.
结果到现在还没有出来.

【在 k****f 的大作中提到】
: intel买了altera,以后可以cpu嵌入fpga,用fpga优化矩阵乘法和卷积,比gpu会快不
: 少的。不过fpga程序可就难多了,需要有人造好轮子。

s****a
发帖数: 238
42
你肯定搞的定,就是不值得花这个精力而已,非常distracting

【在 w***g 的大作中提到】
: 比deep learning 没太大意义啊. 第一价钱肯定比不过. 第二deep learning框架
: 都很成熟了, 根本不需要自己写gpu代码. 所有人都已经在GPU上搞了, 要回x86
: 反而有barrier.
: 手写新算法, x86要比GPU容易得多. 这个还是很有吸引力的.
: GPU内存优化太啰嗦. 这个一般人搞不定 (其实是我自己搞不定, 推广到一般人了.)

l*******m
发帖数: 1096
43
FPGA主频太低了,gpu的1/5 ~1/3. fpu和memory io都没优势。每个layer/opt做完后
, 基本要同步到主内存里,inference可能还有些优化可能,training太复杂了
FPGA就是省电,对个人用户没有任何意义。

【在 k****f 的大作中提到】
: intel买了altera,以后可以cpu嵌入fpga,用fpga优化矩阵乘法和卷积,比gpu会快不
: 少的。不过fpga程序可就难多了,需要有人造好轮子。

y**b
发帖数: 10166
44
超级计算机,几千上万个节点的,基本都关掉超线程,普遍认为超线程对科学计算没有
帮助。
就是工作站,超线程对一个job也没啥帮助,除非同时运行两个job,假设一个job指16
核工作站上的一个16线程任务。如果一个job采用32线程,性能反而下降。估计超级计
算机考虑到这个因素,刻意关掉超线程。
perf是指perfsuite吗?

【在 w***g 的大作中提到】
: 我还见过一上来就把hyperthreading关掉的人. 我自己写的C++程序, 90%的情况
: 用perf进去看最慢的指令, 都是在等数据. 或者说能做的优化做完以后, 一般就
: 都变成内存瓶颈了.

y**b
发帖数: 10166
45
这个CPU bound Vs memory bound 一般用什么软件测试?

【在 s******u 的大作中提到】
: 嗯,我记得是一次memory load然后做几十次到上百次运算的才能做到CPU bound?一般
: 哪有这么多,我见过的几乎都是memory bound的

y**b
发帖数: 10166
46
有啥解释吗?
是总体上跟以下因素有关?
mpi靠手工分块(分区)决定计算粒度,这个常常就是一种优化;
而openmp靠机器决定计算粒度,通常太细而overhead太大。
还是跟编译器和底层硬件更有关系?
我做的一种密集颗粒碰撞模拟,也是mpi明显优于openmp,原计划在几千个
节点上采用hybrid mpi/openmp模式,最后发现还是pure mpi模式快得多,
跨五个数量级的模拟都给出同样结论。当然我这个模拟跟那些专门的测试
有所区别,毕竟有其它因素影响:比如有小量代码不适合openmp化,有些
地方加锁,算法还可进一步改进等等。

【在 s******u 的大作中提到】
: OpenMP不如MPI确实是很奇怪,而且测试的程序是基本完全数据独立,不需要共享和加
: 锁的那种理想算法,横竖应该跟MPI差不多,但是实际上效率只有MPI的一半到三分之二
: 左右。从Intel和AMD的CPU,到knights corner, knights landing都是这样子。要说是
: memory access的问题,但是multisock的CPU都是NUMA,而MIC还是UMA,按说更好才是
: 。最后不光是我们自己,去那些HPC的workshop,大家都是一样的说法。结果就是平常
: 那种常见的32核心的机器,通常都是跑4MPIx8OpenMP或者8MPIx4OpenMP

s******u
发帖数: 501
47
好点的performance profiling tool,像allinea map,可以给出来一段时间内多少个
cycle是在等memory access,多少个cycle是在做运算等等

【在 y**b 的大作中提到】
: 这个CPU bound Vs memory bound 一般用什么软件测试?
w***g
发帖数: 5958
48
就是linux自带那个perf record perf report那个. 自从linux 3.x有了perf
就把oprofile扔掉了.

16

【在 y**b 的大作中提到】
: 超级计算机,几千上万个节点的,基本都关掉超线程,普遍认为超线程对科学计算没有
: 帮助。
: 就是工作站,超线程对一个job也没啥帮助,除非同时运行两个job,假设一个job指16
: 核工作站上的一个16线程任务。如果一个job采用32线程,性能反而下降。估计超级计
: 算机考虑到这个因素,刻意关掉超线程。
: perf是指perfsuite吗?

b*******s
发帖数: 5216
49
did you count in PCIe transfer?

【在 s******u 的大作中提到】
: OpenMP不如MPI确实是很奇怪,而且测试的程序是基本完全数据独立,不需要共享和加
: 锁的那种理想算法,横竖应该跟MPI差不多,但是实际上效率只有MPI的一半到三分之二
: 左右。从Intel和AMD的CPU,到knights corner, knights landing都是这样子。要说是
: memory access的问题,但是multisock的CPU都是NUMA,而MIC还是UMA,按说更好才是
: 。最后不光是我们自己,去那些HPC的workshop,大家都是一样的说法。结果就是平常
: 那种常见的32核心的机器,通常都是跑4MPIx8OpenMP或者8MPIx4OpenMP

b*******s
发帖数: 5216
50
agree. hyper threading is 2 virtual threads share the same execution unit
if they are all busy, it will slow down the performance

16

【在 y**b 的大作中提到】
: 超级计算机,几千上万个节点的,基本都关掉超线程,普遍认为超线程对科学计算没有
: 帮助。
: 就是工作站,超线程对一个job也没啥帮助,除非同时运行两个job,假设一个job指16
: 核工作站上的一个16线程任务。如果一个job采用32线程,性能反而下降。估计超级计
: 算机考虑到这个因素,刻意关掉超线程。
: perf是指perfsuite吗?

相关主题
谁给推荐本parallel programming的入门教材我写的C++ ParallelForLoop,感兴趣的来下载测试
请教Intel MPI基本常识看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
求救我写的CUDA屏保软件 (转载)
进入Programming版参与讨论
s******u
发帖数: 501
51
这个跟pcie有什么关系?

【在 b*******s 的大作中提到】
: did you count in PCIe transfer?
l*******m
发帖数: 1096
52
Intel 有新动作

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

m********5
发帖数: 17667
53
我更喜欢CPU
能做的事情比GPU多太多了,还能轻松扩展到集群,GPU限制则很大,好多库都不能用。
不过这玩意儿没用过,谁能搞个测评就好了。

【在 L****8 的大作中提到】
: 貌似不错啊 可以拼 GUP了
: 写 GPU code 太麻烦了

m********5
发帖数: 17667
54
我一铁哥们儿就专门搞这个的
除了特殊的信号处理领域,没啥太大意义,等你FPGA调好,CPU和GPU又不知道便宜了多
少。Intel是想搞个通用库,大家要用的时候它自动优化生成HDVL, 但按照我的经验来
说,这非常困难,FPGA之所以快,就是要针对特殊应用手工优化的。

【在 k****f 的大作中提到】
: intel买了altera,以后可以cpu嵌入fpga,用fpga优化矩阵乘法和卷积,比gpu会快不
: 少的。不过fpga程序可就难多了,需要有人造好轮子。

m********5
发帖数: 17667
55
单机是这样?!
太奇怪了,我没单独测试过fftw, 我自己的程序测出来都是MPI慢不少,可能我通讯多
了点。该不会是fftw实现的时候openMP有什么锁,而MPI是都有自己的数据拷贝,没有
锁导致的?

【在 s******u 的大作中提到】
: 而且MPI版本的fftw远远快过OpenMP,至少三年前我测的时候是这样子
: 虚线是MPI,实线是OpenMP,超过32的部分不用去管

1 (共1页)
进入Programming版参与讨论
相关主题
nv的显卡能战胜intel的CPU么c++11 std::thread 和 openmp 那个额外开销少?
没人讨论这个?如何查看一个程序/进程使用了哪些cpu?
懂deepmind得说说MPI 编程可以再 (转载)
deep learning就是数据太贵哪位帮忙看一个极为简单的 MPI 程序,感谢拉!
C++ Software Engineer 工作求内推(Boston)openMP or boost::thread (pthread) for multithreading ?
魏老师聊聊FPGA吧谁给推荐本parallel programming的入门教材
请问程序同时在多个cpu上运行需要怎么改程序?请教Intel MPI基本常识
学习C++是浪费你的生命求救
相关话题的讨论汇总
话题: mpi话题: cpu话题: openmp话题: gpu话题: 线程