PIMLC: Logic Compiler for Bit-Serial Based PIM

Chenyu Tang,Chen Nie,Weikang Qian,Zhezhi He
DOI: https://doi.org/10.23919/date58400.2024.10546754
2024-01-01
Abstract:Recently, the bit-serial-based processing-in-memory (PIM) has evolved as a promising solution to enhance the computing performance of data-intensive applications, due to its high performance and programmability. However, it is absent that a compiler can automatically convert an arbitrary Boolean function (generic workload) into PIM instructions, with optimized scheduling w.r.t. the varying hardware resource and specification. To fill the gap, we develop a logic compiler for bit-serial-based PIM (PIMLC). In PIMLC, we propose a workload-resource-aware scheduling to minimize the execution latency of a given parallel workload. Thanks to PIMLC, PIM can achieve 15.55x and 19.03x speedup (geo-mean) for SRAM- and ReRAM-PIM respectively, compared to the naive scheduling of prior work. PIMLC is publicly available at: https://github.com/IntelligentComputing-Research-Group/PIMLC.
What problem does this paper attempt to address?