Processing-using-Memory (PuM).
Many prior works propose various forms of compute-capable memory [1]}, [2]}, [3]}, [4]}, [5]}, [6]}, [7]}, [8]}, [9]}, [10]}, [11]}, [12]}, [13]}, [14]}, [15]}, [16]}, [17]}, [18]}, [19]}, [20]}, [21]}, [22]}, [23]}, [24]}, [25]}, [26]}, [27]}, [28]}, [29]}, [30]}, [31]}, [32]}, [33]}, [34]}, [35]}, [36]}, [37]}, [38]}, [39]}, [40]}, [41]}, [42]}, [43]}, [44]}, [45]}, [46]}, [47]}, [48]}, [49]}, [50]}, [51]}, [52]}, [53]}, [54]}, [55]}, [56]}, [57]}, [58]}, [59]}, [60]}, [61]}, [62]}, [63]}, [64]}, [65]}, [66]}, [67]}, [68]}, [69]}, [70]}, [71]}, [72]}, [73]}, [74]}, [75]}, [76]}, [77]}, [78]}, [79]}, [80]}, [81]}, [82]}, [83]}, [84]}, [85]}, [86]}.
All these approaches provide significant performance and energy improvements, but each focuses only on a reduced set of operations, e.g. data movement [23]}, [72]}, bulk bitwise operations [1]}, [75]}, [61]}, [82]} or acceleration of neural networks [28]}, [62]}, [25]}, [26]}.
By combining the in-memory pLUTo LUT Query with the fast and efficient bitwise logic and shifting operations enabled by these prior works, pLUTo achieves considerable performance improvements and enables the execution of workloads beyond what the cited PiM works have been able to address, e.g. cryptographic applications and image/video processing pipelines.
