Linear compensation of drift and mitigation of drift variations in PCM arrays for highly accurate, energy efficient in-memory computing | Synapse