大规模多线程Fiteng1000处理器上的高性能矩阵乘法
1. 引言
随着计算机技术的发展,单核心单线程性能因功耗、内存和指令级并行性(ILP)的限制而停滞不前,这促使芯片转向多核心架构。多核和众核处理器应运而生,多线程技术也变得更为普遍。例如,Fiteng1000(FT1000)处理器具有8个核心,可同时支持64个线程,这使得编程范式必须做出相应调整以充分利用其性能。
矩阵乘法是众多线性代数运算和应用的基础。由于硬件环境不断变化,开发矩阵乘法(Gemm)新方法的工作从未停止,且最有效的解决方案通常依赖于特定机器的技术。在传统串行和线程较少的多核架构中,Gemm的高性能实现已经有了深入的研究,但这些方法并不适用于像Fiteng1000这样的大规模多线程处理器。本文将探讨适用于此类处理器的并行算法,通过共享内存中的A或B矩阵来避免冗余数据打包,以提高性能。
2. Fiteng1000处理器架构
Fiteng1000处理器于2010年11月推出,是天河一号A超级计算机的部分处理器。它允许在单个系统中使用多个芯片级多线程(CMT)处理器。该处理器具有以下特点:
- 包含8个物理核心,通过高带宽交叉开关连接到8个共享的4MB L2缓存存储体。
- 每个核心可同时执行8个线程。
- 每个核心提供2个整数执行单元(EXU)、1个浮点和图形单元(FPU)以及1个用于加密加速的专用流处理单元(SPU)。
- 浮点和内存管道由所有8个线程共享。
- 8个线程被硬分区为两组,每组4个线程,组内的4个线程共享一个整数管道。
- 在任何给定时间,每个物理核心最多有2个线程处于活动状态,且这2个线程可以执行整数管道操作、整
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



