发明名称 一种基于GPU访存特性的异构多核架构缓存管理方法
摘要 本发明公开一种基于GPU访存特性的异构多核架构缓存管理方法,首先进行消息的区分,对来自CPU和GPU核心L1 Cache的不同消息进行不同的处理;如果GPU L1 Cache请求的数据块在L2 Cache中,直接读取该数据块返回给GPU L1 Cache;如果请求的数据块不在L2 Cache中,但L2 Cache中有空闲,则从MEMORY中读取数据写入到L2 Cache中,并将数据返回给GPU L1 Cache;如果请求的数据块不在L2 Cache中,且L2 Cache中没有空闲,则直接发送请求消息给MEMORY,从MEMORY中读取消息,返回给GPU L1 Cache,并将该数据写入相应L1 Cache。本发明的方法减少了GPU应用程序所需数据在L2 Cache中的替换,将多余的空间留给CPU程序使用,提升了CPU应用程序的性能,从而提升异构多核系统的整体性能。
申请公布号 CN106250348A 申请公布日期 2016.12.21
申请号 CN201610567040.3 申请日期 2016.07.19
申请人 北京工业大学 发明人 方娟;郝晓婷;范清文;刘士建
分类号 G06F15/167(2006.01)I;G06F12/0806(2016.01)I 主分类号 G06F15/167(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 张慧
主权项 一种基于GPU访存特性的异构多核架构缓存管理方法,其特征在于,异构多核架构由若干个CPU和GPU内核组成,所述CPU和GPU拥有各自的L1 Cache,共同访问L2 Cache,L1 Cache由L1 Cache Controller来控制,L2 Cache由L2 Cache Controller来控制,该方法包括如下步骤:步骤1、区分GPU核心和CPU核心的L1 Cache Controller;步骤2、跟踪消息传递过程,在每个消息上添加标志位来标记该消息的来源;步骤3、在L2 Cache Controller上进行消息类型判断,对来自CPU和GPU的L1Cache请求做不同处理;步骤4、在Directory Controller中判断,如果是该消息请求者,类型为L1 Cache,则触发事件执行,赋其消息请求者为L1 Cache,读取内存数据;步骤5、在Directory Controller的内存消息响应队列中判断,如果消息原始请求者类型为L1 Cache,则触发相应事件,将该数据发送给L1 Cache Controller;步骤6、在L1 Cache Controller中接收到Directory Controller发回的数据时,将该数据块写入L1Cache,并将数据发送给需要该数据的GPU核心;步骤7、当L1 Cache Controller进行替换或写回时,如果该数据块在L2 Cache中,直接替换,并进行数据状态及shares的改变,但如果不在L2 Cache中时,则将其发送给Directory Controller,进行数据替换及相应操作。
地址 100124 北京市朝阳区平乐园100号