A circuit for performing neural network computations for a neural network comprising a plurality of neural network layers, the circuit comprising: a matrix computation unit comprising a plurality of crossbar arrays (210, 230) formed in a common substrate configured in a vertical stack of crossbar arrays, wherein each crossbar array of the plurality of crossbar arrays (210, 230) in the vertical stack corresponds to operations of a different neural network layer of the plurality of neural network layers, and the plurality of neural network layers of the neural network are allocated to one vertical stack of crossbar arrays, wherein the plurality of crossbar arrays has at least three crossbar arrays, each crossbar array comprising: a set of crosspoint devices, wherein a respective electrical property of each of the crosspoint devices is adjustable to represent a weight value that is stored for each respective crosspoint device; a first set of nanowires, each nanowire of the first set of nanowires being configured to receive an activation input; and a second set of nanowires, each nanowire of the second set of nanowires being connected to each nanowire of the first set of nanowires by a respective crosspoint device of the set of crosspoint devices, wherein each nanowire of the second set of nanowires is configured to output a value that is a function of signals received from each nanowire of the first set of nanowires and the respective electrical properties of the respective crosspoint devices; and a processing unit configured to adjust the respective electrical properties of each of the crosspoint devices by pre-loading each of the crosspoint devices with a tuning signal that corresponds to a weight value, wherein a value of the tuning signal for each crosspoint device is a function of the weight value represented by each respective crosspoint device, and wherein the computation unit is configured to perform a plurality of computations using the pre-loaded weight values without reloading the weight values to the crosspoint devices. a matrix computation unit comprising a plurality of crossbar arrays (210, 230) formed in a common substrate configured in a vertical stack of crossbar arrays, wherein each crossbar array of the plurality of crossbar arrays (210, 230) in the vertical stack corresponds to operations of a different neural network layer of the plurality of neural network layers, and the plurality of neural network layers of the neural network are allocated to one vertical stack of crossbar arrays, wherein the plurality of crossbar arrays has at least three crossbar arrays, each crossbar array comprising: a set of crosspoint devices, wherein a respective electrical property of each of the crosspoint devices is adjustable to represent a weight value that is stored for each respective crosspoint device; a first set of nanowires, each nanowire of the first set of nanowires being configured to receive an activation input; and a second set of nanowires, each nanowire of the second set of nanowires being connected to each nanowire of the first set of nanowires by a respective crosspoint device of the set of crosspoint devices, wherein each nanowire of the second set of nanowires is configured to output a value that is a function of signals received from each nanowire of the first set of nanowires and the respective electrical properties of the respective crosspoint devices; and a set of crosspoint devices, wherein a respective electrical property of each of the crosspoint devices is adjustable to represent a weight value that is stored for each respective crosspoint device; a first set of nanowires, each nanowire of the first set of nanowires being configured to receive an activation input; and a second set of nanowires, each nanowire of the second set of nanowires being connected to each nanowire of the first set of nanowires by a respective crosspoint device of the set of crosspoint devices, wherein each nanowire of the second set of nanowires is configured to output a value that is a function of signals received from each nanowire of the first set of nanowires and the respective electrical properties of the respective crosspoint devices; and a processing unit configured to adjust the respective electrical properties of each of the crosspoint devices by pre-loading each of the crosspoint devices with a tuning signal that corresponds to a weight value, wherein a value of the tuning signal for each crosspoint device is a function of the weight value represented by each respective crosspoint device, and wherein the computation unit is configured to perform a plurality of computations using the pre-loaded weight values without reloading the weight values to the crosspoint devices.