并行程序设计导论作业

1 为课本1.3节求全局总和例子中的my_first_i和my_last_i推导一个公式。需要注意的是:在循环中,应该给各个核分配数目大致相同的计算元素。分n能被p整除和不能被整除两种情况。

quotient = n / p;
remainder = n % p;
if (my_rank < remainder) {
my_n_count = quotient + 1;
my_first_i = my_rank * my_n_count;
} else {
my_n_count = quotient;
my_first_i = my_rank * my_n_count + remainder;
}
my_last_i = my_first_i + my_n_count;

2 全局总和例子中的第一部分(每个核对分配给它的计算值求和),通常认为是数据并行的例子;而第一个求全局总和例子的第二个部分(各个核将他们计算出的部分和发送给master核,master核将这些部分再累加求和),认为是任务并行。第二个全局和例子中的第二部分(各个核使用树形结构累加他们的部分和),是数据并行的例子还是任务并行的例子?为什么?

该示例是任务和数据并行的组合。 在树结构全局求和的每个阶段,核心都在计算部分求和。 这可以看作是数据并行。 此外,在每个阶段,有两种类型的任务。 一些内核正在发送它们的总和,而一些内核正在接收另一个内核的部分总和。 这可以看作是任务并行。

3 假如系里老师要为学生举办一个聚会。

a. 在准备聚会的时候,如何分配各种任务给各个老师,以实现任务并行?设计一个方案使得各个任务能够同时进行。
b. 我们希望其中的一项任务是清理聚会场地,那么该如何分配清扫任务以实现数据并行?
c. 设计一个任务并行和数据并行结合的方案来准备聚会(如果教师的工作量太大,可以让助教来帮忙)

( a )为派对打扫场地,带来食物,安排布置,制作派对海报等。
( b ) 有几个地方需要清洁。 我们可以将它们分配给教员。
( c )例如,我们可以将准备食物和饮料的任务分配给一些学院。 那么,这个组可以根据食物的种类来划分:有些人可以负责开胃小菜,有些人负责三明治,有些人负责酒等。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
很抱歉,我无法提供具体的电子书链接或下载。但是,你可以通过各种资源网站、图书馆或在线书店搜索并行程序设计导论的PDF电子书。在该电子书中,你可以找到关于并行程序设计的基础知识、算法和技术的介绍。同时,你也可以找到关于并行程序设计中的任务并行和数据并行的概念和实践。参考资料和提到了一些与并行程序设计相关的内容,你可以在这些引用中找到更多相关的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [通过差分隐私进行隐私保护分类的安全两方协议(计算机硕士毕业论文英文参考资料).pdf](https://download.csdn.net/download/weixin_44609920/88240844)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [并行程序设计导论-一、为什么需要并行计算](https://blog.csdn.net/weixin_39572409/article/details/111728127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值