正在加载图片...
算法是否有足够的并行度,计算和访存的比例是否合 综上所述,当判断一个应用是否适合众核设计时 适,是否强调单线程速度。如果应用算法本身难于进首先要考虑算法是否可并行化、计算访存比、是否强 行并行划分,或者非常强调单线程速度,那就不适合调单线程性能,如果这些条件满足,可以结合特定众 在众核设计上进行并行化,而更适于在指令集并行性核结构分析算法可并行化的并行粒度和非规则属性 开发更好的超标量处理器上执行;如果应用算法对计最终判断算法是否可以在特定众核结构上得到很好的 算能力的需求不高,而数据处理量很大,那也不适合加速。 在众核上进行加速,因为目前众核设计最大的限制就 是访存带宽。假如应用算法在这三个方面都是适合的 四、计算所在众核设计上开展了哪些工作? 那就应该考虑用众核设计来加速此应用。 我所非常重视众核设计的研究工作。前瞻研究中 接下来,就要结合众核处理器的结构特点来确心努力将众核设计同生物计算等应用研究相结合,体 定是否与应用匹配,主要考虑两个方面。一方面是现交叉学科优势,已经取得了一定成效。系统结构重 结构上是否支持高效的片上同步和高效的线程管理机点实验室也将多核和众核设计规划为未来五年的研究 制,这决定着此众核设计能开发何种粒度的并行性。重点,努力同编译技术、操作系统研究、高可靠性和 如果线程管理的开销很小,而同步效率很高,在不同可测试性硏究等工作相结合,在系统上取得群体优势。 处理器核上运行的程序段很容易在片上进行信息的共众核研究在项目上也得到了有力支持,李国杰所长负 享与交换,那么就能开发程序中的细粒度并行,这是责的973重大专项项目和刘志勇研究员负责的基金重 众核设计真正的优势,否则如果同步操作都需要经过点项目都是围绕多核和众多核研究的项目,同时我所 内存,那么同传统的SMP设计无异,只适合粗粒度在此研究领域上还获得了一些863探索、基金面上项 并行。比如, NVIDIA的G8800GTX设计,虽然拥有目和国际合作项目的支持。 5888 GFlops的单精度浮点峰值处理能力,但片上各 目前,我们所在众核研究上已经取得了一定的 节点间不能进行通讯,如果通讯必须通过内存,这就进展。在理论方面,在存储模型一致性上证明了新的 使应用范围受到了限制,若程序间有较多的相关,就结论;在结构方面,设计了更高效的流处理众核设计 无法得到良好加速效果。 和更灵活的 Godson众核设计,在片上同步机制、数 另一方面是结构上是否足够灵活以支持复杂算法据共享和分配策略、可配置属性上都采用了新的结构 的编程实现,如果结构上只支持统一控制的向量运算,设计方法;在运行时系统软件上,结合处理器结构 那么此结构只适合于规则的运算,例如 GRAPE-DR设计了 GudRun运行时海量线程管理系统,并将学术 这样的设计,但这样的设计方式可以最大限度地提高界很有影响的CILK运行时系统移植到了我们的众核 处理能力,而且设计相对简单;如果结构上具有灵活平台上;在应用方面,结合计算所在应用研究上的积 性,可以支持非规则计算的计算特征,那么应用范围累,探索了将生物计算和传统高性能科学计算算法在 就更广泛,但需要尽量消除因增加灵活性而带来的开众核设计上的尝试;在实验方法上,已经完成大规模 销。举例来说,像动态规划和介度中心计算,由于其FPGA系统的构建,并完成了可扩展FPGA众核模拟 依赖关系距离随着计算不断变化,其计算访存都不规系统的方案设计和专利提炼。相信在未来两年经过踏 整,因此只有在众核结构上支持类似线程管理、跳转实工作,会取得更有显效的成果。 执行、快速同步等机制后才能得到较好的加速效果 如果设计采用的是集中控制的方式,甚至片上存储采 技术变革带来了创新的机会,但众核设计的技术 用的是显示编址的存储方式,那么算法在这样的结构路线仍不明朗,有很多方法需要尝试,有很多设计思 上虽然可以做到性能可控,但编程的难度会相当大,想有待验证,但我们只有始终秉承着“求实、求实 导致设计的应用推广受限,如IBM的cell和 Cyclops求实、创新”的龙芯精神,坚持努力,才能在技术变 设计 革中抓住机会,有所作为 国糾字能补算技研定20年B月(双月刊·总第2期)10 算法是否有足够的并行度,计算和访存的比例是否合 适,是否强调单线程速度。如果应用算法本身难于进 行并行划分,或者非常强调单线程速度,那就不适合 在众核设计上进行并行化,而更适于在指令集并行性 开发更好的超标量处理器上执行;如果应用算法对计 算能力的需求不高,而数据处理量很大,那也不适合 在众核上进行加速,因为目前众核设计最大的限制就 是访存带宽。假如应用算法在这三个方面都是适合的, 那就应该考虑用众核设计来加速此应用。 接下来,就要结合众核处理器的结构特点来确 定是否与应用匹配,主要考虑两个方面。一方面是 结构上是否支持高效的片上同步和高效的线程管理机 制,这决定着此众核设计能开发何种粒度的并行性。 如果线程管理的开销很小,而同步效率很高,在不同 处理器核上运行的程序段很容易在片上进行信息的共 享与交换,那么就能开发程序中的细粒度并行,这是 众核设计真正的优势,否则如果同步操作都需要经过 内存,那么同传统的 SMP 设计无异,只适合粗粒度 并行。比如,NVIDIA 的 G8800 GTX 设计,虽然拥有 588.8GFlops 的单精度浮点峰值处理能力,但片上各 节点间不能进行通讯,如果通讯必须通过内存,这就 使应用范围受到了限制,若程序间有较多的相关,就 无法得到良好加速效果。 另一方面是结构上是否足够灵活以支持复杂算法 的编程实现,如果结构上只支持统一控制的向量运算, 那么此结构只适合于规则的运算,例如 GRAPE-DR 这样的设计,但这样的设计方式可以最大限度地提高 处理能力,而且设计相对简单;如果结构上具有灵活 性,可以支持非规则计算的计算特征,那么应用范围 就更广泛,但需要尽量消除因增加灵活性而带来的开 销。举例来说,像动态规划和介度中心计算,由于其 依赖关系距离随着计算不断变化,其计算访存都不规 整,因此只有在众核结构上支持类似线程管理、跳转 执行、快速同步等机制后才能得到较好的加速效果。 如果设计采用的是集中控制的方式,甚至片上存储采 用的是显示编址的存储方式,那么算法在这样的结构 上虽然可以做到性能可控,但编程的难度会相当大, 导致设计的应用推广受限,如 IBM 的 Cell 和 Cyclops 设计。 综上所述,当判断一个应用是否适合众核设计时, 首先要考虑算法是否可并行化、计算访存比、是否强 调单线程性能,如果这些条件满足,可以结合特定众 核结构分析算法可并行化的并行粒度和非规则属性, 最终判断算法是否可以在特定众核结构上得到很好的 加速。 四、计算所在众核设计上开展了哪些工作? 我所非常重视众核设计的研究工作。前瞻研究中 心努力将众核设计同生物计算等应用研究相结合,体 现交叉学科优势,已经取得了一定成效。系统结构重 点实验室也将多核和众核设计规划为未来五年的研究 重点,努力同编译技术、操作系统研究、高可靠性和 可测试性研究等工作相结合,在系统上取得群体优势。 众核研究在项目上也得到了有力支持,李国杰所长负 责的 973 重大专项项目和刘志勇研究员负责的基金重 点项目都是围绕多核和众多核研究的项目,同时我所 在此研究领域上还获得了一些 863 探索、基金面上项 目和国际合作项目的支持。 目前,我们所在众核研究上已经取得了一定的 进展。在理论方面,在存储模型一致性上证明了新的 结论;在结构方面,设计了更高效的流处理众核设计 和更灵活的 GodsonT 众核设计,在片上同步机制、数 据共享和分配策略、可配置属性上都采用了新的结构 设计方法; 在运行时系统软件上,结合处理器结构 设计了 GodRun 运行时海量线程管理系统,并将学术 界很有影响的 CILK 运行时系统移植到了我们的众核 平台上;在应用方面,结合计算所在应用研究上的积 累,探索了将生物计算和传统高性能科学计算算法在 众核设计上的尝试;在实验方法上,已经完成大规模 FPGA 系统的构建,并完成了可扩展 FPGA 众核模拟 系统的方案设计和专利提炼。相信在未来两年经过踏 实工作,会取得更有显效的成果。 技术变革带来了创新的机会,但众核设计的技术 路线仍不明朗,有很多方法需要尝试,有很多设计思 想有待验证,但我们只有始终秉承着“求实、求实、 求实、创新”的龙芯精神,坚持努力,才能在技术变 革中抓住机会,有所作为。 【专家视点】
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有