b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

计算机芯片的发展历程,以及所有架构的未来趋势(9)

电脑杂谈  发布时间:2019-04-27 20:29:13  来源:网络整理

本文采用多线程测试程序包parsec[13]中的13组测试程序作为工作负载对csfp的性能进行评估,输入集规模为medium.采用magic break指令[12]跳过应用程序初始化阶段后,对cache进行一定指令数目的warm-up(约500 m条指令,视不同应用程序访存密集程度有所差异)才开始收集性能统计信息,每个应用程序约统计2 billion条指令.对于不足2 billion条指令的应用程序,则当多线程应用程序从并行阶段roi跳出时即停止收集统计数据. 和fsb机制[11]类似,csfp在进行set分类和压力更新时采用20 m条指令周期间隔.此外,压力阈值调整参数a默认设置为0.3.。非x86服务器:包括大型机、小型机和unix服务器,它们是使用risc(精简指令集)或epic(并行指令代码) 处理器,并且主要采用unix和其它专用操作系统的服务器,精简指令集处理器主要有ibm公司的power和powerpc处理器,sun与富士通公司合作研发的sparc处理器、epic处理器主要是intel研发的安腾处理器等。

第二,DSA 可以更有效地利用内存层次结构。如 Horowitz 所述,内存访问要比算数计算的成本高出很多。例如,访问 32 千字节缓存需要的能量相当于做 32 位加法的大约 200 倍。这种巨大的差异使得优化存储器访问对于实现高能效来说至关重要。通用处理器的运行代码,其中的存储器访问通常表现出空间和时间局部性,但在编译时不是非常可预测的。因此,CPU 使用多级高速缓存来增加带宽,并隐藏相对较慢的芯片外 DRAM 延迟。这些多级高速缓存通常消耗大约一半的处理器能量,但几乎忽略了所有片外 DRAM 访问,这些访问需要大约 10 倍于最后一级高速缓存访问的能量。

缓存有两大缺点:

当数据集非常大的时候,时间空间位置较低时缓存的工作效率很低;

当缓存工作效率高的时候,位置非常高,这意味着同时根据定义,大多数缓存在大多数时间都处于空闲状态。

在那些编译时可以很好地定义和发现内存访问模式的应用程序中——这对于典型的 DSL 来说是常见的——程序员和编译器可以比动态分配的缓存更好地优化内存的使用。因此,DSA 通常使用由软件明确控制运动的存储器层次,类似于矢量处理器的操作。对于合适的应用,用户控制的存储器可以比高速缓存使用更少的能量。

第三,DSA 在可接受时可以使用较低的精度。适用于通用任务的 CPU 通常支持 32 和 64 位整型数和浮点数数据。对于很多机器学习和图像应用来说,这种准确率有点浪费了。例如在深度神经网络中(DNN),推理通常使用 4、8 或 16 位整型数,从而提高数据和计算吞吐量。同样,对于 DNN 训练程序,浮点数很有意义,但 32 位就够了,16 为经常也能用。

最后,DSA 受益于以特定领域语言(DSL)编写的目标程序,这些程序可以实现更高的并行性,更好的内存结构访问和表示,并使应用程序更有效地映射到特定域的处理器。

特定领域的语言

DSA 要求将高级运算定位到体系架构中,但一般尝试从 Python、Java、C 或 Fortran 等通用语言抽取结构和信息实在太难了。因此特定领域的语言(DSL)特别支持这一过程,并尽可能高效地编程 DSA。例如 DSL 可以令向量、密集型矩阵和稀疏性矩阵运算变得显式化,并允许 DSL 编译器高效地将运算映射到处理器中。DSL 有很多常见的例子,例如专注矩阵运算的语言 Matlab、专注 DNN 编程的数据流语言 TensorFlow,以及专注编程 SDN 的语言 P4 和专注图像处理中高级转换的 Halide 等。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-94568-9.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...