多线程可重构粗粒度阵列中的线程间通信
硬件体系结构
2018-01-17 v1
摘要
传统冯·诺依曼通用图形处理器 (GPGPU) 仅允许线程以组对组方式通过内存通信。在该模型中,一组生产者线程将中间值写入内存,由一组消费者线程在屏障同步后读取。为缓解此方法带来的内存带宽压力,GPGPU 提供小块暂存存储器,防止中间值挤占 DRAM 带宽。本文为大规模多线程可重构粗粒度阵列 (CGRA) 引入直接线程间通信,其中中间值通过计算架构以点对面方式直接传递。该方法避免了将值写入内存,消除了对专用暂存器的需求,并避免了工作组全局屏障。本文介绍了编程模型 (CUDA) 与执行模型扩展,以及实现该通信的硬件原语。我们对运行于新系统上的 Rodinia 基准测试进行仿真,结果表明与等效 Nvidia GPGPU 相比,直接线程间通信平均加速 4.5 倍(最大 13.5 倍),系统功耗平均降低 7 倍(最大 33 倍)。
引用
@article{arxiv.1801.05178,
title = {Inter-thread Communication in Multithreaded, Reconfigurable Coarse-grain Arrays},
author = {Dani Voitsechov and Yoav Etsion},
journal= {arXiv preprint arXiv:1801.05178},
year = {2018}
}