  We propose and analyze a compact and non-volatile nanomagnetic (all-spin)
non-binary matrix multiplier performing the multiply-and-accumulate (MAC)
operation using two magnetic tunnel junctions - one activated by strain to act
as the multiplier, and the other activated by spin-orbit torque pulses to act
as a domain wall synapse that performs the operation of the accumulator. It has
two advantages over the usual crossbar-based electronic non-binary matrix
multiplier. First, while the crossbar architecture requires N3 devices to
multiply two matrices, we require only 2N2 devices. Second, our matrix
multiplier is non-volatile and retains the information about the product matrix
after being powered off. Here, we present an example where each MAC operation
can be performed in ~5 ns and the maximum energy dissipated per operation is
~60Nmax aJ, where Nmax is the largest matrix size. This provides a very useful
hardware accelerator for machine learning and artificial intelligence tasks
which involve the multiplication of large matrices. The non-volatility allows
the matrix multiplier to be embedded in powerful non-von-Neumann architectures,
including processor-in-memory. It also allows much of the computing to be done
at the edge (of internet-of-things) while reducing the need to access the
cloud, thereby making artificial intelligence more resilient against
cyberattacks.
