Parallel execution of gated activation unit operations
AssigneeDeepMind Technologies Limited
InventorErich Konrad Elsen
Life of this patent
Estimating the term…
Loading patent…
AssigneeDeepMind Technologies Limited
InventorErich Konrad Elsen
Estimating the term…
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for interleaving matrix operations of a gated activation unit. One of the methods includes receiving a plurality of weight matrices of a gated activation unit of the neural network, the gated activation unit having two or more layers, each layer defining operations comprising: (i) a matrix operation between a weight matrix for the layer and concatenated input vectors and (ii) a nonlinear activation operation using a result of the matrix operation. Rows of the plurality of weight matrices are interleaved by assigning groups of corresponding rows to respective thread blocks, each thread block being a computation unit for execution by an independent processing unit of a plurality of independent processing units of a parallel processing device.
A method implementing a neural network on a parallel processing device, the method comprising:
The method of any preceding claim, wherein the gated activation unit is a gated recurrent unit or a long short term memory unit of the neural network.
The method of any preceding claim, wherein generating, by each thread block, a portion of the current state vector comprises generating, by a plurality of thread blocks, multiple portions of the current state vector at least partially in parallel.
The method of any preceding claim, wherein the operations of a layer comprise a bias addition operation between a result of a matrix operation for the layer and a bias vector for the layer, and further comprising:
The method of any preceding claim, further comprising interleaving rows of the plurality of weight matrices by warps such that all warps receive some rows from every weight matrix and corresponding rows from every weight matrix are assigned to the same warp.
The method of any preceding claim, further comprising interleaving values of the plurality of weight matrices by threads such that all threads receive some values from every weight matrix and corresponding values from every weight matrix are assigned to the same thread.
A system configured to implement a neural network on a parallel processing device, the neural network comprising:
Dependencies are inferred from the claim text.