“…Many previous works investigate how to provide new functionality using compute-capable memories based on conventional (e.g., [1,2,36,40,43,72,99,108,110]) and emerging memory technologies (e.g., [9,27,56,59,68,73,101,111,116,117,119,121,139,144]) to help solve the data movement overheads in today's systems. These works propose new functionality in at least three major categories: (1) support for logical operations (e.g., [26,73,86,110,119,121,139,144]), (2) support for complex operations, functions, and applications (e.g., [1,36,72,89,111,112,116,117,143]), and (3) programming and system support for the integration and adoption of such accelerators (e.g., [2,3,9,19,27,55,…”