Optimizing Memory Access in EDA Algorithms, AI Accelerators and PIM Architectures