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  中设计了面向多
                 级存储层次的访存通信融合的编译优化技术. 下面将具体阐述该优化技术的设计方法.
   72   73   74   75   76   77   78   79   80   81   82