Implementing a neural network can include receiving a macro instruction for implementing the neural network within a control unit of a neural network processor. The macro instruction can indicate a first data set, a second data set, a macro operation for the neural network, and a mode of operation for performing the macro operation. The macro operation can be automatically initiated using a processing unit of the neural network processor by applying the second data set to the first data set based on the mode of operation.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: receiving a macro instruction for implementing a neural network within a control unit of a neural network processor; wherein the macro instruction indicates a first data set, a second data set, a macro operation for the neural network, and a mode of operation for performing the macro operation; and automatically initiating the macro operation using a processing unit of the neural network processor by applying the second data set to the first data set based on the mode of operation. 2. The method of claim 1, wherein the macro operation comprises convolution and the mode of operation is selected from the group consisting of a scatter mode of operation and a gather mode of operation. 3. The method of claim 1, wherein the macro operation is selected from the group consisting of convolution and vector products. 4. The method of claim 3, wherein the macro operation comprises convolution, the first data set is a selected region of a selected feature map, and the second data set is a plurality of weights of a selected kernel. 5. The method of claim 3, wherein the macro operation comprises vector products, the first data set is a plurality of feature classification values, and the second data set is a plurality of weights for a feature classification layer of the neural network. 6. The method of claim 1, wherein the macro operation comprises evaluating a gate of a Long Short Term Memory (LSTM) cell. 7. The method of claim 1, wherein the macro operation comprises applying an activation function to accumulated data and the mode of operation indicates the activation function selected from a plurality of activation functions. 8. The method of claim 1, wherein the processing unit is configured to perform the macro operation in log domain. 9. The method of claim 1, wherein the mode of operation indicates a selected numerical precision from a plurality of different numerical precisions used by the processing unit in performing the macro operation. 10. The method of claim 9, wherein the macro operation applies a selected portion of each item in the second data set to the first data set based on the selected numerical precision. 11. An apparatus, comprising: a control unit configured to receive a macro instruction; wherein the macro instruction indicates a first data set, a second data set, a macro operation for the neural network, and a mode of operation for performing the macro operation; and a memory unit coupled to the control unit and configured to store the data sets; and a processing unit coupled to the memory unit and configured to automatically initiate the macro operation by applying the second data set to the first data set based on the mode of operation. 12. The apparatus of claim 11, wherein the processing unit comprises: an arithmetic accumulate array configured to perform convolution, wherein the mode of operation is selected from the group consisting of a scatter mode of operation and a gather mode of operation. 13. The apparatus of claim 11, wherein the processing unit comprises: an arithmetic accumulate array configured to perform the macro operation, wherein the macro operation is selected from the group consisting of convolution and vector products. 14. The apparatus of claim 11, wherein the macro operation comprises evaluating a gate of a Long Short Term Memory (LSTM) cell. 15. The apparatus of claim 11, wherein the processing unit comprises: an activation function unit configured to apply an activation function to accumulated data and the mode of operation indicates the activation function selected from a plurality of activation functions. 16. The apparatus of claim 11, wherein the processing unit is configured to perform the macro operation in log domain. 17. The apparatus of claim 11, wherein the mode of operation indicates a selected numerical precision from a plurality of different numerical precisions for the processing unit used in performing the macro operation. 18. The apparatus of claim 17, wherein the macro operation applies a selected portion of each item in the second data set to the first data set based on the selected numerical precision. 19. A computer program product comprising a computer readable storage medium having program code stored thereon, the program code executable by a processor to: receive a macro instruction for implementing a neural network; wherein the macro instruction indicates a first data set, a second data set, a macro operation for the neural network, and a mode of operation for performing the macro operation; and automatically initiate the macro operation by applying the second data set to the first data set based on the mode of operation. 20. The computer program product of claim 19, wherein the macro operation comprises convolution and the mode of operation is selected from the group consisting of a scatter mode of operation and a gather mode of operation.