  In a number of machine learning models, an input query is searched across the
trained class vectors to find the closest feature class vector in cosine
similarity metric. However, performing the cosine similarities between the
vectors in Von-Neumann machines involves a large number of multiplications,
Euclidean normalizations and division operations, thus incurring heavy hardware
energy and latency overheads. Moreover, due to the memory wall problem that
presents in the conventional architecture, frequent cosine similarity-based
searches (CSSs) over the class vectors requires a lot of data movements,
limiting the throughput and efficiency of the system. To overcome the
aforementioned challenges, this paper introduces COSIME, an general in-memory
associative memory (AM) engine based on the ferroelectric FET (FeFET) device
for efficient CSS. By leveraging the one-transistor AND gate function of FeFET
devices, current-based translinear analog circuit and winner-take-all (WTA)
circuitry, COSIME can realize parallel in-memory CSS across all the entries in
a memory block, and output the closest word to the input query in cosine
similarity metric. Evaluation results at the array level suggest that the
proposed COSIME design achieves 333X and 90.5X latency and energy improvements,
respectively, and realizes better classification accuracy when compared with an
AM design implementing approximated CSS. The proposed in-memory computing
fabric is evaluated for an HDC problem, showcasing that COSIME can achieve on
average 47.1X and 98.5X speedup and energy efficiency improvements compared
with an GPU implementation.
