  The precise programming of crossbar arrays of unit-cells is crucial for
obtaining high matrix-vector-multiplication (MVM) accuracy in analog in-memory
computing (AIMC) cores. We propose a radically different approach based on
directly minimizing the MVM error using gradient descent with synthetic random
input data. Our method significantly reduces the MVM error compared with
conventional unit-cell by unit-cell iterative programming. It also eliminates
the need for high-resolution analog-to-digital converters (ADCs) to read the
small unit-cell conductance during programming. Our method improves the
experimental inference accuracy of ResNet-9 implemented on two phase-change
memory (PCM)-based AIMC cores by 1.26%.
