[发明专利]内存分配方法、系统、装置和计算机可读介质在审
申请号: | 202111291202.2 | 申请日: | 2021-11-03 |
公开(公告)号: | CN113722111A | 公开(公告)日: | 2021-11-30 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 北京壁仞科技开发有限公司;上海壁仞智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 万里晴 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分配 方法 系统 装置 计算机 可读 介质 | ||
1.一种内存分配方法,包括如下步骤:
响应于多个线程的各自的内存分配请求,将所述多个线程分组为多个线程束,其中,所述线程的内存分配请求包括所述线程的请求的内存量;
计算多个线程束中的相应线程束中的各个线程的请求的内存量的总和,作为所述相应线程束的请求的内存量;
选择所述相应线程束中的一个线程来请求分配所述相应线程束的内存空间,所述相应线程束的内存空间的量是所述相应线程束的请求的内存量;
为所述相应线程束分配内存空间;
根据所述相应线程束中的各个线程的请求的内存量,将被分配的所述相应线程束的内存空间划分给各个线程。
2.根据权利要求1所述的方法,其中,所述方法还包括如下步骤:
根据相应线程束中的各个线程的请求的内存量,计算各个线程的请求的内存量在相应线程束中的各自的前缀和,作为各个线程的内存地址偏移量;
其中,所述根据所述相应线程束中的各个线程的请求的内存量,将被分配的所述相应线程束的内存空间划分给各个线程的步骤包括:
按照所述各个线程的内存地址偏移量,在被分配的所述相应线程束的内存空间的量中、将偏移了相应内存地址偏移量的内存地址作为起始地址、按相应线程的请求的内存量划分给相应线程。
3.根据权利要求2所述的方法,其中,所述根据相应线程束中的各个线程的请求的内存量,计算各个线程的请求的内存量在相应线程束中的前缀和,作为各个线程的内存地址偏移量的步骤包括如下步骤:
将所述相应线程束中的第一线程的前缀和设置为0;
计算所述相应线程束中的后续线程的前缀和为所述后续线程的前一线程的前缀和加上所述后续线程的请求的内存量。
4.根据权利要求1所述的方法,其中所述每个线程束的大小被配置为预定量个线程,所述响应于多个线程的各自的内存分配请求,将所述多个线程分组为多个线程束的步骤包括:
将所述多个线程分配到所述多个线程束中并添加或不添加不需要执行的附加线程使得每个线程束中包括的线程的数量等于所述预定量。
5.根据权利要求1所述的方法,其中,所述方法还包括:
如果所述线程的请求的内存量小于内存分配的预定最小量,将所述线程的请求的内存量扩大为所述内存分配的预定最小量。
6.根据权利要求1所述的方法,其中,所述多个线程是在单指令多线程SIMT执行系统中用于执行单个指令的多个线程。
7.一种内存分配系统,包括如下装置:
线程束分组装置,被配置为响应于多个线程的各自的内存分配请求,将所述多个线程分组为多个线程束,其中,所述线程的内存分配请求包括所述线程的请求的内存量;
线程束请求装置,被配置为计算多个线程束中的相应线程束中的各个线程的请求的内存量的总和,作为所述相应线程束的请求的内存量,并选择所述相应线程束中的一个线程来请求分配所述相应线程束的内存空间,所述相应线程束的内存空间的量是所述相应线程束的请求的内存量;
内存分配装置,被配置为为所述相应线程束分配内存空间;
线程束内存划分装置,被配置为根据所述相应线程束中的各个线程的请求的内存量,将被分配的所述相应线程束的内存空间划分给各个线程。
8.一种内存分配装置,包括:
处理器;
存储器,存储了计算器可执行指令,其被处理器运行时进行如权利要求1-6中任一所述的方法。
9.一种计算机可读介质,存储有计算机可读指令,其中当所述计算机可读指令由处理器运行时,进行如权利要求1-6中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京壁仞科技开发有限公司;上海壁仞智能科技有限公司,未经北京壁仞科技开发有限公司;上海壁仞智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111291202.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:提示系统及方法
- 下一篇:图像采集方法、装置、电子设备及介质