zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

《高性能科学与工程计算》——1.7 习题

计算高性能 工程 科学 习题 1.7
2023-09-11 14:18:20 时间

本节书摘来自华章计算机《高性能科学与工程计算》一书中的第1章,第1.7节,作者:(德)Georg Hager Gerhard Wellein 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.7 习题

1.1 除法的速度。写一段代码对下列函数积分:


ee2e0c98829bb94b7476be0c1c44bb2f77b5b6ac

x从0~1,结果应该是π的近似值。用一个简单的矩形积分就可以实现,即矩形宽为xi,步长Δx,高为f(xi),对面积累加:

 a href=https://yqfile.alicdn.com/11ffab67a981a59cd14a151369a5f6e148d4e87a.png"

完成程序段,选择合适的Δx,判断结果是不是π的近似值,并计算性能,结果单位为MFlop/s。假设浮点除法不能被流水线运行,试估计延迟为多少时间周期。
1.2 数据依赖。在1.2.3节我们讨论了流水线,请看以下代码:

cf18f880067e10089a39551779cae7dde8ec23d9

s是一个非零的双精度浮点标量,ofs是一个正整数,A是一个长度为N的双精度数组。如果N足够小,能使数组A的元素在L1 cache中都能命中,对于不同的ofs,请预计循环的性能。
1.3 硬件预取。预取是一个有效利用内存接口的重要操作。x86设计的硬件预取通常一次取满整内存页数据。试说明这可能对程序性能产生的负面效应。
1.4 点积和预取。考虑双精度浮点数的点积操作:

 a href=https://yqfile.alicdn.com/25e3361b8572c5b691ce0f1ddcb946c54b36d54d.png"

N非常大。CPU(时间周期为1ns)能在一个周期内做一次读取(或者存储),一次乘法和一次加法(假设循环计数和分支不产生时间消耗)。存储总线的传输速率为3.2GB/s。假设从存储读取一个cache行的延迟为100个CPU周期,一个cache行的长度为4个双精度浮点数。在以下情况下:
(a)如果没有指令预取,循环的性能怎样?
(b)假设CPU有预取的能力,为了使代码有效利用带宽(隐藏延迟),需要CPU能容忍预取多少条指令?
(c)如果cache行的长度变为以前的2倍、4倍,(b)中算出的数值会怎样变化?
(d)如果我们假设指令预取能隐藏所有的延迟,循环的性能怎样?
王怀民院士:图灵计算模型仍是最深刻的理论基础,是新科学基础的基点 下文为国防科大王怀民院士在第 24 届全国高校计算机学科系主任 / 院长论坛上的主旨报告《人机物融合智能化时代,计算机学科专业创新人才培养》。机器之心做了不改变原意的整理。 在计算无处不在的当下,计算机学科专业却大有泯然众生之态。新时代的计算机学科专业创新人才该如何培养?王怀民院士以 120 年的时间跨度回顾计算机学科专业的发源和发展历程,不同的历史阶段有着不同的发展模式,在时代的激流中什么改变了,什么是不变的?计算机科学和技术的发展具有国家战略意义,在人机物融合的新时代,如何理解从而实现科技创新?
《模式识别原理及工程应用》——2.2 贝叶斯决策理论 本节书摘来自华章计算机《模式识别原理及工程应用》一书中的第2章,第2.2节,作者 周丽芳 李伟生 黄颖,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
《高性能科学与工程计算》—— 导读 当1941年构建世界上第一台全自动可编程并具备二进制浮点运算能力的计算机时[H129],Konrad Zuse成功地预见了这种革命性设备不仅只应用于科学和工程领域,还将对生活的各个方面产生深远影响[H130]。