Page 77 - 《软件学报》2024年第6期
P. 77
方燕飞 等: 申威众核处理器访存与通信融合编译优化 2653
字__thread_ldm 声明, 下文称作 LDM 变量; 线程共享 SPM 空间可以被共享范围内的所有线程访问, 该空间的变量
使用存储关键字__thread_sdm 声明, 下文称作 SDM 变量.
Parallel C 程序
...
进 进 进 进 进 进 进 进
程 进 程 进 程 进 程 进
程 进 程 进 程 进 程 进
程 程 程 程
程 程 程 程
...
线 线 线 线 线 线 线 线
程 线 线 程 线 线 程 线 线 程 线 线
程 程 程 程 程 程 程
线程共享主存空间
程 程 程 程 程
图 5 Parallel C 两级并行执行模型示意
线程组 线程组
...
进程 线程 线程
线程
指令 数据
Cache Cache 指令 SPM/ Cache SPM SPM Cache
Cache Dcache
二级 Cache
私有主存 ... 私有主存
主存
共享主存
ld/st 访问 rld/rst 访问 gld/gst 访问 RMA 访问 DMA 访问
图 6 Parallel C 存储模型示意
表 2 Parallel C 存储空间类型
视角 空间类型 存储位置 关键字
进程私有主存空间 主存 缺省
进程视角
节点共享主存空间 主存 __node_shared
线程私有主存空间 主存 __thread
主存 缺省
线程视角 线程私有SPM空间 SPM __thread_ldm
线程共享SPM空间 SPM __thread_sdm
节点共享主存空间 主存 __node_shared
3 多层次存储访存融合优化设计
软件管理的私有和共享 SPM、DMA 批量数据传输和 RMA 通信机制给程序优化提供了很大的灵活性, 但程
序实现过程比较复杂, 本文结合处理器存储层次结构特征和应用常见数据访问模式, 在 Parallel C 中设计了面向多
级存储层次的访存通信融合的编译优化技术. 下面将具体阐述该优化技术的设计方法.