04homework
学号:2019301110060 姓名:刘振平 院系:植物科学技术学院
1.计算不同CUP数下Pi的并行效率
统一定义num_step=1000000000
PAD模式下的并行效率与加速比
线程数
时间
加速比
并行效
1
81s
1
1
2
45s
1.8
0.9
4
10s
8.1
2.025
6
6
13.5
2.25
8
5
16.2
2.0
并行域
线程数
时间
加速比
并行效
1
34
1
1
2
35
0.97
0.485
4
39
0.87
0.22
6
40
0.85
0.142
8
32
1.06
0.13
critical 制导
线程数
时间
加速比
并行效
1
34
1
1
2
17
2
1
4
8.8
3.86
0.96
6
6
5.66
0.94
8
4.4
7.7
0.96
reduction制导
线程数
时间
加速比
并行效
1
15.5
1
1
2
7.8
1.98
0.99
4
3.9
3.97
0.99
6
2.6
5.96
0.99
8
2.0
7.75
0.97
lastprivate制导
线程数
时间
加速比
并行效
1
14.9
1
1
2
7.7
1.94
0.97
4
3.9
3.82
0.95
6
2.6
5.7
0.955
8
2.0
7.45
0.93
2.数列累加
定义N的范围N=10000000
两者之间的差别
PAD方法
虽然使用了二维数组,防止了数据写入时的阻塞;但在求终止结果时使用了For循环
lastprivate制导
对局部sum变量进行了深度拷贝,在退出for循环时,将结果存在各自的sum变量中,各个线程分别对全局变量K做累加
PAD模式
线程数
时间
加速比
并行效
1
0.29
1
1
2
0.15
1.93
0.97
4
0.08
3.625
0.906
6
0.06
4.832
0.805
8
0.049
5.91
0.739
lastprivate制导方法
线程数
时间
加速比
并行效
1
0.05
1
1
2
0.03
1.67
0.83
4
0.021
2.38
0.59
6
0.017
2.94
0.49
8
0.014
3.57
0.446
4.二维矩阵运算
矩阵为1000 x 1000
的二维矩阵
4.1矩阵加法
线程数 | 时间 | 加速比 | 并行效 |
1 | 2.8 | 1 | 1 |
2 | 2.6 | 1.07 | 0.53 |
4 | 2.4 | 1.16 | 0.29 |
6 | 2.4 | 1.16 | 0.19 |
8 | 2.18 | 1.28 | 0.16 |
4.2矩阵乘法
矩阵为1000 x 1000
的二维矩阵
线程数 | 时间 | 加速比 | 并行效 |
1 | 5.6 | 1 | 1 |
2 | 3.0 | 1.86 | 0.93 |
4 | 1.7 | 3.29 | 0.82 |
6 | 1.2 | 4.67 | 0.77 |
8 | 0.81 | 6.9 | 0.86 |
Last updated