A method for executing a neural network by a processor system comprising a shared memory unit, a set of primary memory units, a set of processing units, a direct memory access core, and a broadcast subsystem, the method comprising:
- storing, in the shared memory unit:
- an input tensor at a first source address, the input tensor characterized by a first set of dimensions;
- and
- a weight tensor at a second source address, the weight tensor:
- comprising a set of weight tensor partitions;
- and
- characterized by a second set of dimensions smaller than the first set of dimensions;
- via the broadcast subsystem, broadcasting the input tensor from the first source address to a relative destination address in a target set of primary memory units from the set of primary memory units;
- and
- for each primary memory unit in the target set of primary memory units:
- transferring a weight tensor partition in the set of weight tensor partitions from the second source address to a destination address in the primary memory unit;
- and
- via a processing unit corresponding to the primary memory unit, generating an output tensor partition of an output tensor based on the input tensor and the weight tensor partition.