发明名称 |
一种基于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号 |