中文

利用高级编程抽象发挥微核架构中分层存储优势

分布式、并行与集群计算 2020-10-06 v1 编程语言

摘要

微核架构将许多低存储、低功耗的计算核集成于单一封装中。这些架构作为加速器颇具吸引力,但由于片上存储有限且存在多级存储层次,程序员将内核卸载的方式需仔细考量。本文以 Python 为工具,探索高级编程语言的语义与抽象,以支持将计算内核卸载至此类设备。通过转向引用传递模型并利用存储类型(memory kinds),我们展示了轻松且高效利用存储层次中多级的能力,即便是微核无法直接访问的层级。使用一个机器学习基准,我们在基于 Epiphany-III 和 MicroBlaze 的微核上进行了实验,展示了以任意大数据集进行计算的能力。为提供结果背景,我们探究了这些技术的性能与功耗效率,表明尽管这两种微核技术在其嵌入式硬件类别内具竞争力,但距达到 HPC 级 GPU 仍有差距。

关键词

引用

@article{arxiv.2010.01548,
  title  = {High level programming abstractions for leveraging hierarchical memories with micro-core architectures},
  author = {Maurice Jamieson and Nick Brown},
  journal= {arXiv preprint arXiv:2010.01548},
  year   = {2020}
}

备注

Accepted manuscript of paper in Journal of Parallel and Distributed Computing 138