没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
例 1 SIMD-SM 上求最大值算法
Begin
for k=m-1 to 0 do
for j=2
k
to 2
k+1
-1 par-do
A[j]=max{A[2j], A[2j+1]}
end for
end for
end
时间分析
t(n)=m×O(1)=O(logn)
p(n)=n/2
c(n)=O(nlogn) 非成本最优
例 2 令 n=2
k
(k>=0),求 n 个数和的并行算法
算法运行时间:t(n)=O(logn)
总运算量: W(n)=W
(1)
(n)+W
(2)
(n)+W
(3)
(n)=n+∑n/2
h
+1=O(n)
由 Brent 定理知: t(n)=O(n/p+logn)
例
例
3
3
设
设
A
A
为矩阵,有如下串行程序段:
为矩阵,有如下串行程序段:
for i=1 to n do
for i=1 to n do
for j=1 to n do
for j=1 to n do
a[3i,2j] = a[3i-2,2j-1]
a[3i,2j] = a[3i-2,2j-1]
endfor
endfor
endfor
endfor
其相关方向向量为,可知行和列间同时存在数据相关。在此我们可以试用行划分、列划分
其相关方向向量为,可知行和列间同时存在数据相关。在此我们可以试用行划分、列划分
和方块划分
和方块划分
.
.
在行划分的情况下令
在行划分的情况下令
m=
m=┌n/p┐
,
,
例
例
1
1
的串行程序段可以转化为如下的并行程
的串行程序段可以转化为如下的并行程
序段:
序段:
for k=1 to P Par-do
for k=1 to P Par-do
for i1=1 to m do
for i1=1 to m do
for j=1 to n do
for j=1 to n do
a[3(k-1)m+3i1,2j]=a[ 3(k-1)m+3i1-2 ,2j-1]
a[3(k-1)m+3i1,2j]=a[ 3(k-1)m+3i1-2 ,2j-1]
endfor
endfor
endfor
endfor
endfor
endfor
例
例 4
设
设
A
A
为一个
为一个
n
n
阶方阵,有如下串行程序段:
阶方阵,有如下串行程序段:
for i=1 to n do
for i=1 to n do
for j=1 to n do
for j=1 to n do
a[i,j] = a[i-1,j]
a[i,j] = a[i-1,j]
endfor
endfor
endfor
endfor
分析矩阵
分析矩阵
A
A
的元素下标
的元素下标
i
i
和
和
j
j
,则
,则
i
i
和
和
j
j
的相关方向向量为,各列之间数据无任何相关关系
的相关方向向量为,各列之间数据无任何相关关系
。
。
因此对矩阵
因此对矩阵
A
A
可按列划分。
可按列划分。
串行程序段可转化为如下并行程序段:
串行程序段可转化为如下并行程序段:
for k=1 to P Par-do
for k=1 to P Par-do
for j1=1 to m do
for j1=1 to m do
for i=1 to n do
for i=1 to n do
a[i,(k-1)m+j1]=a[i-1,(k-1)m+j1]
a[i,(k-1)m+j1]=a[i-1,(k-1)m+j1]
endfor
endfor
endfor
endfor
endfor
endfor
例 5
剩余7页未读,继续阅读
资源评论
Stupid-Tyro
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功