TY - JOUR T1 - Code Generation and Data Layout Transformation Techniques for Processing-in-Memory AU - Lee, Hayun AU - Kim, Gyungmo AU - Shin, Dongkun JO - Journal of KIISE, JOK PY - 2023 DA - 2023/1/14 DO - 10.5626/JOK.2023.50.8.639 KW - Processing-in-Memory (PIM) KW - deep learning KW - compiler KW - code generation AB - Processing-in-Memory (PIM) capitalizes on internal parallelism and bandwidth within memory systems, thereby achieving superior performance to CPUs or GPUs in memory-intensive operations. Although many PIM architectures were proposed, the compiler issues for PIM are not currently well-studied. To generate efficient program codes for PIM devices, the PIM compiler must optimize operation schedules and data layouts. Additionally, the register reuse of PIM processing units must be maximized to reduce data movement traffic between host and PIM devices. We propose a PIM compiler, which can support various PIM architectures. It achieves up to 2.49 times performance improvement in GEMV operations through register reuse optimization.