Embodiments of the invention relate to providing transposable access to a synapse array using a recursive array layout. One embodiment comprises maintaining synaptic weights for multiple synapses connecting multiple axons and multiple neurons, wherein the synaptic weights are maintained based on a recursive array layout. The recursive array layout facilitates transposable access to the synaptic weights. A neuronal spike event between an axon and a neuron is communicated via a corresponding connecting synapse by accessing the synaptic weight of the corresponding connecting synapse in the recursive array layout.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: maintaining a weight matrix comprising a plurality of synaptic weights for a neural architecture including a plurality of synapses interconnecting a plurality of axons to a plurality of neurons; providing reciprocal access to the plurality of synaptic weights by controlling read accesses and write accesses of the weight matrix; and in response to an axon of the plurality of axons receiving a neuronal spike event: obtaining at least one synaptic weight from the weight matrix via at least one read access of the weight matrix; based on the at least one synaptic weight obtained, selectively communicating the neuronal spike event to a neuron of the plurality of neurons via a synapse of the plurality of synapses that interconnects the axon to the neuron; and updating at least one synaptic weight in the weight matrix via at least one write access of the weight matrix in response to the neuron spiking. 2. The method of claim 1, wherein providing reciprocal access to the plurality of synaptic weights reduces read accesses and write accesses of the weight matrix per neuronal spike event. 3. The method of claim 1, wherein providing reciprocal access to the plurality of synaptic weights conserves power and increases performance of the neural architecture. 4. The method of claim 1, wherein providing reciprocal access to the plurality of synaptic weights comprises using column aggregation. 5. The method of claim 4, wherein: the weight matrix includes N rows and N columns; the number of read accesses required to read one or more columns of the weight matrix is N; the number of write accesses required to write one or more columns of the weight matrix is N; the number of read memory accesses required to read one row of the weight matrix is one; and the number of write accesses required to write one row of the weight matrix is one. 6. The method of claim 1, wherein providing reciprocal access to the plurality of synaptic weights comprises organizing the weight matrix based on a recursive layout. 7. The method of claim 6, wherein: the weight matrix includes N rows and N columns; each read access or write access is sequenced over a pre-determined number of sub-steps within a time step; the pre-determined number of sub-steps is equal to the square root of N; a read access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a read access of a row of the weight matrix; and a write access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a write access of a row of the weight matrix. 8. A system comprising a computer processor, a computer-readable hardware storage device, and program code embodied with the computer-readable hardware storage device for execution by the computer processor to implement a method comprising: maintaining a weight matrix comprising a plurality of synaptic weights for a neural architecture including a plurality of synapses interconnecting a plurality of axons to a plurality of neurons; providing reciprocal access to the plurality of synaptic weights by controlling read accesses and write accesses of the weight matrix; and in response to an axon of the plurality of axons receiving a neuronal spike event: obtaining at least one synaptic weight from the weight matrix via at least one read access of the weight matrix; based on the at least one synaptic weight obtained, selectively communicating the neuronal spike event to a neuron of the plurality of neurons via a synapse of the plurality of synapses that interconnects the axon to the neuron; and updating at least one synaptic weight in the weight matrix via at least one write access of the weight matrix in response to the neuron spiking. 9. The system of claim 8, wherein providing reciprocal access to the plurality of synaptic weights reduces read accesses and write accesses of the weight matrix per neuronal spike event. 10. The system of claim 8, wherein providing reciprocal access to the plurality of synaptic weights conserves power and increases performance of the neural architecture. 11. The system of claim 8, wherein providing reciprocal access to the plurality of synaptic weights comprises using column aggregation. 12. The system of claim 11, wherein: the weight matrix includes N rows and N columns; the number of read accesses required to read one or more columns of the weight matrix is N; the number of write accesses required to write one or more columns of the weight matrix is N; the number of read memory accesses required to read one row of the weight matrix is one; and the number of write accesses required to write one row of the weight matrix is one. 13. The system of claim 8, wherein providing reciprocal access to the plurality of synaptic weights comprises organizing the weight matrix based on a recursive layout. 14. The system of claim 13, wherein: the weight matrix includes N rows and N columns; each read access or write access is sequenced over a pre-determined number of sub-steps within a time step; the pre-determined number of sub-steps is equal to the square root of N; a read access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a read access of a row of the weight matrix; and a write access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a write access of a row of the weight matrix. 15. A computer program product comprising a computer-readable hardware storage medium having program code embodied therewith, the program code being executable by a computer to implement a method comprising: maintaining a weight matrix comprising a plurality of synaptic weights for a neural architecture including a plurality of synapses interconnecting a plurality of axons to a plurality of neurons; providing reciprocal access to the plurality of synaptic weights by controlling read accesses and write accesses of the weight matrix; and in response to an axon of the plurality of axons receiving a neuronal spike event: obtaining at least one synaptic weight from the weight matrix via at least one read access of the weight matrix; based on the at least one synaptic weight obtained, selectively communicating the neuronal spike event to a neuron of the plurality of neurons via a synapse of the plurality of synapses that interconnects the axon to the neuron; and updating at least one synaptic weight in the weight matrix via at least one write access of the weight matrix in response to the neuron spiking. 16. The computer program product of claim 15, wherein providing reciprocal access to the plurality of synaptic weights reduces read accesses and write accesses of the weight matrix per neuronal spike event. 17. The computer program product of claim 15, wherein providing reciprocal access to the plurality of synaptic weights conserves power and increases performance of the neural architecture. 18. The computer program product of claim 15, wherein providing reciprocal access to the plurality of synaptic weights comprises using column aggregation. 19. The computer program product of claim 18, wherein: the weight matrix includes N rows and N columns; the number of read accesses required to read one or more columns of the weight matrix is N; the number of write accesses required to write one or more columns of the weight matrix is N; the number of read memory accesses required to read one row of the weight matrix is one; and the number of write accesses required to write one row of the weight matrix is one. 20. The computer program product of claim 15, wherein: providing reciprocal access to the plurality of synaptic weights comprises organizing the weight matrix based on a recursive layout; the weight matrix includes N rows and N columns; each read access or write access is sequenced over a pre-determined number of sub-steps within a time step; the pre-determined number of sub-steps is equal to the square root of N; a read access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a read access of a row of the weight matrix; and a write access of a column of the weight matrix is sequenced over the same number of sub-steps within a time step as a write access of a row of the weight matrix.