2011秋高性能计算练习题

更新时间:2023-11-23 20:25:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《高性能计算》练习题

说明:

A组题中任选1题,在B组任选1题; 编写MPI程序,采用多进程协同完成练习题。 要求: (1) 并行环境正确运行;

(2)提交上机实验报告:

问题描述、算法设计、重点及难点、并行程序关键代码、计算结果分析等

A01. 从键盘输入一个无符号长整型数n,计算2~n之间完数的个数。所谓完数

是指,小于该数的所有因数之和恰好等于该数。例如6是一个完数,因为小于6的因数有1,2,3且1+2+3=6。

A02. 从键盘输入一个无符号长整型数n,产生一个长度为n,取值在[0,1]之间

的随机实数数组,计算其去掉一个最大值、去掉一个最小值,剩下n-2个值的平均值。

A03. 从键盘输入一个无符号长整型数n,产生一个长度为n,取值在[0,1]之间

的随机实数数组,计算其数学期望、方差。

A04. (仿环网络的多圈接力) 设0进程有变量x,初值为0,要求将x按进程号

的次序,将(圈数*进程号)累加到x上,完成m后,输出0进程中x的值。 A05. (仿完全连接网络的互致问候)所有进程间两两互致问候。具体要求,例

如:进程0传递字符串”greetings from process No.0.”到进程1。进程1则在收到字符串前添加字符”Process No.1 has received ”并输出。

A06. (仿二维网格Mesh通信)设创建P?m?n个进程(m,n为正整数),

要求各进程与其相邻的进程(按m?n网格结构)互致问候。具体要求,例如:若进程0传递字符串”greetings from process No.0.”到进程1。进程1则在收到字符串前添加字符”Process No.1 has received ”并输出。

A07. (仿二维环形网格2D-Torus Mesh通信)设创建P?m?n个进程(m,n为正整数),要求各进程与其相邻的进程(按2维m?n环形网格结构)互致问候。具体要求,例如:若进程0传递字符串”greetings from process No.0.”到进程m-1。进程m-1则在收到字符串前添加字符”Process No.m-1 has received ”并输出。

3572n?1xxxxn?1????x?x???????1??A08. 计算级数sin,要求精度??3!5!7!2n?1!1 2011年秋季学期

《高性能计算》练习题

10?8。

B01. 从键盘输入一个正整数n,由进程0产生一个n行5列的矩阵A,该矩阵的

第一行元素依次为-1,0,1,2,3;第分布到各进程。各进程输出收到的各行数据。

B02. 从键盘输入一个正整数n,由进程0产生一个n行5列的矩阵A,该矩阵的

第一行元素依次为-1,0,1,2,3;第

k

行元素依次为

(-1)k,0,1,2-k,3-k。用send和recv实现将矩阵A的各行按“周期分布(亦称为卷帘分布)”分布到各进程。各进程输出收到的各行数据。 B03. 在各进程上计算:1-5000中,凡是【进程号(myid)+1】的倍数的数的

倒数之和。并用gather收集各进程求解的和,并输出。

B04. 从键盘输入一个正整数n,由进程0产生n阶方阵A(元素为0~99之间的

随机值),并行计算矩阵A*A*A。

B05. (超立方体结构从高维到低维的广播算法)设创建P?2p个进程(p为正

整数),进程0从键盘接收一个整数n。请按照超立方体结构的边,从高维到低维,模仿超立方体结构的广播算法将n传递到其他所有进程(提示:该算法在p?log2P步内完成)。

B06. (归并排序)给定无符号长整型数N?2n(n为正整数)。产生长度为N取值在0~99之间的随机整数数组,用P?2p(p为正整数)个进程实现数组的归并排序。

B07. (邻域布雷数)给定两个正整数m,n,随机产生一个m?n阶矩阵A,

矩阵A的元素取0(表示该处未布地雷),或取1(表示该处布有地雷)。要求计算矩阵A各点邻域内的地雷数,形成一个m?n阶矩阵B,并输出矩阵B。

?1??0A?例如,若?1??1?0010011011000??1??0??3B??,则?31????30??2554354235422??3??。 2??1?k行元素依次为

(-1)k,0,1,2-k,3-k。用send和recv实现将矩阵A的各行按“块分布”

B08. (八皇后问题)在8*8格的棋盘上,放置8个皇后。要求每行每列放一个

皇后,而且每一条对角线和每一条反对角线上最多只能有一个皇后,即对同时放置在棋盘的任意两个皇后者

(i1,j1)(i2,j2)(i?i)?(j?j)1212或

和,不允许

(i?j)?(ij)112?2的情况出现。

2

2011年秋季学期

《高性能计算》练习题

3 2011年秋季学期

本文来源:https://www.bwwdw.com/article/n3ct.html

Top