CN111814971A - 一种神经网络的内存分配方法 - Google Patents
一种神经网络的内存分配方法 Download PDFInfo
- Publication number
- CN111814971A CN111814971A CN202010618681.3A CN202010618681A CN111814971A CN 111814971 A CN111814971 A CN 111814971A CN 202010618681 A CN202010618681 A CN 202010618681A CN 111814971 A CN111814971 A CN 111814971A
- Authority
- CN
- China
- Prior art keywords
- memory
- tensor
- reusable
- model
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 230000006978 adaptation Effects 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 abstract description 5
- 239000012634 fragment Substances 0.000 abstract description 4
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种神经网络的内存分配方法。传统的动态内存分配方法存有较大浪费,而手动分配内存方法需要花费较多人工时间。本发明方法首先获取计算图中的计算单元,并按计算顺序对每个计算单元依次编号;然后获取模型中所有计算单元的内存可重用张量的计算编号集合;确定内存可重用张量的最终内存分配方式,并获取模型所需可重用内存的总大小和每个内存可重用张量的分配出来的内存地址。本发明方法可以有效减少神经网络模型申请和释放内存时产生的内存碎片,降低神经网络模型所需的总内存大小,可以方便地在实际工程中使用。
Description
技术领域
本发明属于计算机技术领域,尤其是人工智能技术领域,具体涉及一种神经网络的内存分配方法。
背景技术
人工智能这几年来迅猛发展,而深度学习和神经网络正是人工智能发展的基础。由于神经网络往往层数较多且张量大小较大,会消耗较多内存。并且,近年来把神经网络部署到嵌入式设备上的需求越来越强烈。因此对内存分配的优化至关重要。
一种内存优化的方法是采用传统的动态内存分配方法,如C语言标准库中malloc函数的内存分配。但这种动态分配方法未从更全局的角度去分配内存,容易产生较多的内存碎片,导致实际分配的内存有较多浪费。
另一种内存优化的方法是采用手动分配内存,由软件工程师手动分配每个操作单元的内存地址。这种方式可以较好地提高内存使用率,但是会花费很多人工时间,不适合在实际工程中使用。
发明内容
本发明的目的就是提供了一种神经网络的内存分配方法,可以有效地减少内存分配和释放过程中产生的内存碎片,从而降低神经网络模型运行时所需的内存大小。
本发明方法包括如下步骤:
S1.获取计算图中的计算单元,并按计算顺序对每个计算单元依次编号;
S2.获取模型中所有计算单元的内存可重用张量的计算编号集合;
S3.确定内存可重用张量的最终内存分配方式;
S4.获取模型所需可重用内存的总大小和每个内存可重用张量的分配出来的内存地址。
进一步,步骤S1具体是:
S11.遍历神经网络计算图,去除输入张量和输出张量在内存中数据存储完全一致的操作单元,得到实际需要计算的计算单元;
S12.对所有的计算单元的按照计算顺序进行排序,使前面计算单元的输入张量不依赖于后面计算单元的输出张量;
S13.按排序后的计算单元依次编号,K个计算单元的编号依次为1,2,…,K。
进一步,步骤S2具体是:
S21.确定模型中的内存可重用张量:
模型中的张量包括模型输入张量、模型输出张量、模型权重张量、模型数据张量;其中,模型输入张量和模型数据张量的内存可重复使用,即为内存可重用张量;
S22.确定计算单元的内存可重用张量:
每个计算单元的张量包括单元输入张量和单元输出张量;对于计算单元,单元输入张量可能为模型输入张量、模型权重张量或模型数据张量,单元输出张量可能为模型输出张量或模型数据张量;
如果单元输入张量为模型输入张量或模型数据张量,则该单元输入张量为计算单元的内存可重用张量;
如果单元输出张量为模型数据张量,则该单元输出张量为计算单元的内存可重用张量;
S23.建立模型中所有计算单元的内存可重用张量的集合R={R1,R2,…,RN},Rn为第n个内存可重用张量,n=1,2,…,N,N为所有计算单元的内存可重用张量的总数;
S24.每个内存可重用张量为某个计算单元的单元输入张量或单元输出张量,建立每个内存可重用张量所在的计算单元编号集合S′={S1,S2,…,SM},Sm为计算单元的编号,m=1,2,…,M;
S25.取每个内存可重用张量编号集合中的最小编号Smin和最大编号Smax,并在最小编号Smin到最大编号Smax之间填充所有编号,作为每个内存可重用张量最终的编号集合S={Smin,Smin+1,…,Smax-1,Smax},S即为该内存可重用张量的计算编号集合。
进一步,步骤S3具体是:
S31.初始化所有计算单元的编号对应的可用内存为0-∞;
S32.对所有的内存可重用张量按使用内存大小从大到小进行排序;
S33.依次为为模型中所有的内存可重用张量分配内存,每个可重用张量分配到的内存大小满足在该可重用张量在计算编号集合中所有的计算编号点上均能够分配出内存;
分配次数L由用户可接受的内存分配时间T′决定,满足T′≤T,L≥1,T为总分配内存时间,tl为第l次内存分配时间;分配方式包括:最佳适应(Best Fit)方式、首次适应(First Fit)方式、混合方式;
所述的最佳适应方式,是指内存分配时,优先选择能够满足所需内存大小的内存大小最小的空闲内存;
所述的首次适应方式,是指内存分配时,优先选择能够满足所需内存大小的内存地址最低的空闲内存;
所述的混合方式,是指混合使用最佳适应方式和首次适应方式,即对部分计算单元采用最佳适应方式,对部分计算单元采用首次适应方式;对于采用最佳适应方式以及首次适应方式对应的计算单元不同的分配方式,视为不同的混合方式;
每次分配内存可重用张量采用不同的分配方式。
S34.分配出来的所有内存可重用张量的内存,内存结束地址最大的值即为模型所需的内存可重用张量的内存总大小,取内存可重用张量的内存总大小最小的分配方式作为最终分配方式。
进一步,步骤S4具体是:
S41.根据内存最终分配方式,确定内存可重用张量的内存总大小。
S42.根据内存最终分配方式,为每个内存可重用张量分配的内存所在地址作为最终的分配地址。
本发明一方面,可以有效减少神经网络模型申请和释放内存时产生的内存碎片,从而降低神经网络模型所需的总内存大小;另一方面,本发明实现了神经网络内存分配的完全自动化,无需人工参与,可以方便地在实际工程中使用。
附图说明
图1是本发明的流程简图;
图2是本发明的使用一种或多种可重用内存分配方式分配内存的流程图;
图3是本发明中在分配某个内存可重用张量前内存在各个计算编号上的状态示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。需要注意,附图仅用于示例说明,不能理解为对本专利的限制。同时,可以以各种形式实现本发明,而不应被这里阐述的实施方式所限制。提供以下实施方式是让本发明更容易被理解,更完整地展示给本领域相关技术人员。
如图1所示一种神经网络内存分配方法,具体是:
S1.获取计算图中的计算单元,并按计算顺序对每个计算单元依次编号;具体如下:
S11.遍历神经网络计算图,去除输入张量和输出张量在内存中数据存储完全一致的操作单元,得到实际需要计算的计算单元;
例如,某神经网络计算图中操作单元集合为{O1,O2,…,Oj},去除输入和输出张量在内存中数据存储完全一致的操作单元(如Reshape操作)后,得到计算单元集合为{C1,C2,…,Ck},其中,k≤j。
S12.对所有的计算单元的按照计算顺序进行排序,使前面计算单元的输入张量不依赖于后面计算单元的输出张量;
例如,按计算顺序排序后计算单元有序集合为{D1,D2,…,Dk}。
S13.按排序后的计算单元依次编号,K个计算单元的编号依次为1,2,…,K。
S2.获取模型中所有计算单元的内存可重用张量的计算编号集合;具体如下:
S21.确定模型中的内存可重用张量:
模型中的张量包括模型输入张量、模型输出张量、模型权重张量、模型数据张量;其中,模型输入张量和模型数据张量的内存可重复使用,即为内存可重用张量;
例如,模型中的所有张量集合为{T1,T2,…,Tg},去除输出张量和权重张量后,剩余的张量为内存可重用张量,集合为{R1,R2,…,Rq},其中q<g。
S22.确定计算单元的内存可重用张量:
每个计算单元的张量包括单元输入张量和单元输出张量;对于计算单元,单元输入张量可能为模型输入张量、模型权重张量或模型数据张量,单元输出张量可能为模型输出张量或模型数据张量;
如果单元输入张量为模型输入张量或模型数据张量,则该单元输入张量为计算单元的内存可重用张量;
如果单元输出张量为模型数据张量,则该单元输出张量为计算单元的内存可重用张量;
S23.建立模型中所有计算单元的内存可重用张量的集合R={R1,R2,…,RN},Rn为第n个内存可重用张量,n=1,2,…,N,N为所有计算单元的内存可重用张量的总数;
S24.每个内存可重用张量为某个计算单元的单元输入张量或单元输出张量,建立每个内存可重用张量所在的计算单元编号集合S′={S1,S2,…,SM},Sm为计算单元的编号,m=1,2,…,M;
例如,计算单元U1的内存可重用张量为R1和R2,计算单元U2的内存可重用张量为R3和R4,计算单元U3的内存可重用张量为R2、R4和R5,则内存可重用张量R1的编号集合为{1},R2的编号集合为{1,3},R3的编号集合为{2},R4的编号集合为{2,3},R5的编号集合为{3}。
S25.取每个内存可重用张量编号集合中的最小编号Smin和最大编号Smax,并在最小编号Smin到最大编号Smax之间填充所有编号,作为每个内存可重用张量最终的编号集合S={Smin,Smin+1,…,Smax-1,Smax},S即为该内存可重用张量的计算编号集合。
例如,内存可重用张量R2原先的计算编号集合为{1,3},其最小编号Smin为1,最大编号Smax为3,则其最终的计算编号集合为{1,2,3}。
S3.确定内存可重用张量的最终内存分配方式;具体如下:
S31.初始化所有计算单元的编号对应的可用内存为0-∞;
例如,对S13生成的计算单元编号集合{1,2,…,K}中的每个单元进行内存初始化为0-∞。
S32.对所有的内存可重用张量按使用内存大小从大到小进行排序;
例如,对S21产生的张量集合{R1,R2,…,Rq}按内存从大到小排序后,新集合为:{P1,P2,…,Pq}。
S33.依次为为模型中所有的内存可重用张量分配内存,每个可重用张量分配到的内存大小满足在该可重用张量在计算编号集合中所有的计算编号点上均能够分配出内存;
分配次数L由用户可接受的内存分配时间T′决定,满足T′≤T,L≥1,T为总分配内存时间,tl为第l次内存分配时间;分配方式包括:最佳适应(Best Fit)方式、首次适应(First Fit)方式、混合方式;
最佳适应方式是指内存分配时,优先选择能够满足所需内存大小的内存大小最小的空闲内存;
首次适应方式是指内存分配时,优先选择能够满足所需内存大小的内存地址最低的空闲内存;
混合方式是指混合使用最佳适应方式和首次适应方式,即对部分计算单元采用最佳适应方式,对部分计算单元采用首次适应方式;对于采用最佳适应方式以及首次适应方式对应的计算单元不同的分配方式,视为不同的混合方式;
每次分配内存可重用张量采用不同的分配方式。
例如,内存可重用分配方式1采用最佳适应分配方式,方式2采用首次适应分配;
又例如,如图3,张量Px在分配前内存在各个计算编号上的状态图,假设Px的编号集合为{4,5,6},则这3个编号都空闲的内存为:m0-m2,m7-m8,m11-∞,假设Px所需内存为2,以上3段内存空间均能满足分配要求,如采用最佳适应分配,则分配出来的内存地址为m7-m8,如采用首次适应分配,则分配出来的内存地址为m0-m1;
S34.分配出来的所有内存可重用张量的内存,内存结束地址最大的值即为模型所需的内存可重用张量的内存总大小,取内存可重用张量的内存总大小最小的分配方式作为最终分配方式。
图2为S33、S34步骤的流程示意图。
例如,采用分配方式1得到模型总共所需的可重用内存大小为M1,方式2得到模型总共所需的可重用内存大小为M2,如M1<M2,采用方式1作为最终的分配方式。
S4.获取模型所需可重用内存的总大小和每个内存可重用张量的分配出来的内存地址。
具体如下:
S41.根据内存最终分配方式,确定内存可重用张量的内存总大小。
例如,S34中方式1得到的总大小M1即为最终的内存可重用张量的内存总大小。
S42.根据内存最终分配方式,为每个内存可重用张量分配的内存所在地址作为最终的分配地址。
例如,S34中方式1分配过程中每个张量分配到的内存地址,即为最终的每个内存可重用张量的内存地址。
Claims (5)
1.一种神经网络的内存分配方法,其特征在于,该方法包括:
S1.获取计算图中的计算单元,并按计算顺序对每个计算单元依次编号;
S2.获取模型中所有计算单元的内存可重用张量的计算编号集合;
S3.确定内存可重用张量的最终内存分配方式;
S4.获取模型所需可重用内存的总大小和每个内存可重用张量的分配出来的内存地址。
2.如权利要求1所述的一种神经网络的内存分配方法,其特征在于,步骤S1具体是:
S11.遍历神经网络计算图,去除输入张量和输出张量在内存中数据存储完全一致的操作单元,得到实际需要计算的计算单元;
S12.对所有的计算单元的按照计算顺序进行排序,使前面计算单元的输入张量不依赖于后面计算单元的输出张量;
S13.按排序后的计算单元依次编号,K个计算单元的编号依次为1,2,…,K。
3.如权利要求1所述的一种神经网络的内存分配方法,其特征在于,步骤S2具体是:
S21.确定模型中的内存可重用张量:
模型中的张量包括模型输入张量、模型输出张量、模型权重张量、模型数据张量;其中,模型输入张量和模型数据张量的内存可重复使用,即为内存可重用张量;
S22.确定计算单元的内存可重用张量:
每个计算单元的张量包括单元输入张量和单元输出张量;
如果单元输入张量为模型输入张量或模型数据张量,则该单元输入张量为计算单元的内存可重用张量;
如果单元输出张量为模型数据张量,则该单元输出张量为计算单元的内存可重用张量;
S23.建立模型中所有计算单元的内存可重用张量的集合R={R1,R2,…,RN},Rn为第n个内存可重用张量,n=1,2,…,N,N为所有计算单元的内存可重用张量的总数;
S24.每个内存可重用张量为某个计算单元的单元输入张量或单元输出张量,建立每个内存可重用张量所在的计算单元编号集合S′={S1,S2,…,SM},Sm为计算单元的编号,m=1,2,…,M;
S25.取每个内存可重用张量编号集合中的最小编号Smin和最大编号Smax,并在最小编号Smin到最大编号Smax之间填充所有编号,作为每个内存可重用张量最终的编号集合S={Smin,Smin+1,…,Smax-1,Smax},S即为该内存可重用张量的计算编号集合。
4.如权利要求1所述的一种神经网络的内存分配方法,其特征在于,步骤S3具体是:
S31.初始化所有计算单元的编号对应的可用内存为0-∞;
S32.对所有的内存可重用张量按使用内存大小从大到小进行排序;
S33.依次为为模型中所有的内存可重用张量分配内存,每个可重用张量分配到的内存大小满足在该可重用张量在计算编号集合中所有的计算编号点上均能够分配出内存;
分配次数L由用户可接受的内存分配时间T′决定,满足T′≤T,L≥1,T为总分配内存时间,tl为第l次内存分配时间;分配方式包括:最佳适应(Best Fit)方式、首次适应(First Fit)方式、混合方式;
所述的最佳适应方式,是指内存分配时,优先选择能够满足所需内存大小的内存大小最小的空闲内存;
所述的首次适应方式,是指内存分配时,优先选择能够满足所需内存大小的内存地址最低的空闲内存;
所述的混合方式,是指混合使用最佳适应方式和首次适应方式,即对部分计算单元采用最佳适应方式,对部分计算单元采用首次适应方式;对于采用最佳适应方式以及首次适应方式对应的计算单元不同的分配方式,视为不同的混合方式;
每次分配内存可重用张量采用不同的分配方式;
S34.分配出来的所有内存可重用张量的内存,内存结束地址最大的值即为模型所需的内存可重用张量的内存总大小,取内存可重用张量的内存总大小最小的分配方式作为最终分配方式。
5.如权利要求1所述的一种神经网络的内存分配方法,其特征在于,步骤S4具体是:
S41.根据内存最终分配方式,确定内存可重用张量的内存总大小;
S42.根据内存最终分配方式,为每个内存可重用张量分配的内存所在地址作为最终的分配地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618681.3A CN111814971B (zh) | 2020-06-30 | 2020-06-30 | 一种神经网络的内存分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618681.3A CN111814971B (zh) | 2020-06-30 | 2020-06-30 | 一种神经网络的内存分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814971A true CN111814971A (zh) | 2020-10-23 |
CN111814971B CN111814971B (zh) | 2022-08-05 |
Family
ID=72856647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010618681.3A Active CN111814971B (zh) | 2020-06-30 | 2020-06-30 | 一种神经网络的内存分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814971B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256441A (zh) * | 2020-12-23 | 2021-01-22 | 上海齐感电子信息科技有限公司 | 神经网络推理的内存分配方法及装置 |
CN112346877A (zh) * | 2021-01-11 | 2021-02-09 | 瀚博半导体(上海)有限公司 | 一种有效加速深度学习计算的内存分配方法及系统 |
CN112669852A (zh) * | 2020-12-15 | 2021-04-16 | 北京百度网讯科技有限公司 | 内存分配方法、装置及电子设备 |
CN112965663A (zh) * | 2021-03-05 | 2021-06-15 | 上海寒武纪信息科技有限公司 | 对数据块的存储空间进行复用的方法和相关产品 |
WO2022198636A1 (zh) * | 2021-03-26 | 2022-09-29 | 珠海全志科技股份有限公司 | Ai处理器的内存分配方法、计算机装置及计算机可读存储介质 |
WO2023045879A1 (zh) * | 2021-09-22 | 2023-03-30 | 维沃移动通信有限公司 | 内存分配方法、内存分配装置、电子设备和可读存储介质 |
WO2024065865A1 (zh) * | 2022-09-27 | 2024-04-04 | 之江实验室 | 一种面向神经网络计算的内存优化方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976903A (zh) * | 2019-02-22 | 2019-07-05 | 华中科技大学 | 一种基于层宽内存分配的深度学习异构计算方法和系统 |
CN110162338A (zh) * | 2019-05-31 | 2019-08-23 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
US10452444B1 (en) * | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
CN110489246A (zh) * | 2019-08-12 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 数据传输与内存管理方法、装置以及相关产品 |
CN110597616A (zh) * | 2018-06-13 | 2019-12-20 | 华为技术有限公司 | 一种神经网络的内存分配方法及装置 |
US20200082264A1 (en) * | 2017-05-23 | 2020-03-12 | Intel Corporation | Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs |
US20200192715A1 (en) * | 2020-02-24 | 2020-06-18 | Intel Corporation | Workload scheduler for memory allocation |
-
2020
- 2020-06-30 CN CN202010618681.3A patent/CN111814971B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082264A1 (en) * | 2017-05-23 | 2020-03-12 | Intel Corporation | Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs |
US10452444B1 (en) * | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
CN110597616A (zh) * | 2018-06-13 | 2019-12-20 | 华为技术有限公司 | 一种神经网络的内存分配方法及装置 |
CN109976903A (zh) * | 2019-02-22 | 2019-07-05 | 华中科技大学 | 一种基于层宽内存分配的深度学习异构计算方法和系统 |
CN110162338A (zh) * | 2019-05-31 | 2019-08-23 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN110489246A (zh) * | 2019-08-12 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 数据传输与内存管理方法、装置以及相关产品 |
US20200192715A1 (en) * | 2020-02-24 | 2020-06-18 | Intel Corporation | Workload scheduler for memory allocation |
Non-Patent Citations (1)
Title |
---|
ARUN ABRAHAM.ET AL: ""Efficient Memory Pool Allocation Algorithm for CNN Inference"", 《IEEE》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669852A (zh) * | 2020-12-15 | 2021-04-16 | 北京百度网讯科技有限公司 | 内存分配方法、装置及电子设备 |
CN112669852B (zh) * | 2020-12-15 | 2023-01-31 | 北京百度网讯科技有限公司 | 内存分配方法、装置及电子设备 |
CN112256441A (zh) * | 2020-12-23 | 2021-01-22 | 上海齐感电子信息科技有限公司 | 神经网络推理的内存分配方法及装置 |
CN112346877A (zh) * | 2021-01-11 | 2021-02-09 | 瀚博半导体(上海)有限公司 | 一种有效加速深度学习计算的内存分配方法及系统 |
CN112346877B (zh) * | 2021-01-11 | 2021-04-16 | 瀚博半导体(上海)有限公司 | 一种有效加速深度学习计算的内存分配方法及系统 |
CN112965663A (zh) * | 2021-03-05 | 2021-06-15 | 上海寒武纪信息科技有限公司 | 对数据块的存储空间进行复用的方法和相关产品 |
WO2022198636A1 (zh) * | 2021-03-26 | 2022-09-29 | 珠海全志科技股份有限公司 | Ai处理器的内存分配方法、计算机装置及计算机可读存储介质 |
WO2023045879A1 (zh) * | 2021-09-22 | 2023-03-30 | 维沃移动通信有限公司 | 内存分配方法、内存分配装置、电子设备和可读存储介质 |
WO2024065865A1 (zh) * | 2022-09-27 | 2024-04-04 | 之江实验室 | 一种面向神经网络计算的内存优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111814971B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814971B (zh) | 一种神经网络的内存分配方法 | |
CN115248728B (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
US11487698B2 (en) | Parameter server and method for sharing distributed deep learning parameter using the same | |
TWI547817B (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
US20210191765A1 (en) | Method for static scheduling of artificial neural networks for a processor | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN114968521A (zh) | 分布式渲染方法及设备 | |
CN110795226B (zh) | 利用计算机系统处理任务的方法、电子设备和存储介质 | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
US11222258B2 (en) | Load balancing for memory channel controllers | |
CN116681127B (zh) | 一种神经网络模型训练方法、装置及电子设备和存储介质 | |
CN113723443A (zh) | 一种视觉大模型分布式训练方法及系统 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN107704322A (zh) | 请求分配方法及装置 | |
CN113918507B (zh) | 一种深度学习框架适配ai加速芯片的方法和装置 | |
CN113645076A (zh) | 基于超图匹配算法的虚拟网络资源分配方法 | |
CN116501828B (zh) | 基于非结构化数据集的服务器无感知向量查询方法和系统 | |
CN117032954B (zh) | 针对终端训练模型的内存优化方法、系统、设备及介质 | |
CN1658560A (zh) | 一种基于预测的快速数据复制方法 | |
CN110750363A (zh) | 计算机存储管理方法和装置、电子设备和存储介质 | |
CN108897619B (zh) | 一种用于超级计算机的多层级资源柔性配置方法 | |
CN108809699B (zh) | 一种实现大规模虚拟网络节点重复映射的方法 | |
CN107577439B (zh) | 分配处理资源的方法、装置、设备及计算机可读存储介质 | |
TWI826137B (zh) | 電腦系統、應用於電腦系統的資源分配方法及執行資源分配方法的電腦程式產品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Guoxin Microelectronics Co.,Ltd. Country or region after: China Address before: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU NATIONALCHIP SCIENCE & TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |