  Recent work has studied the benefits of caching in the interference channel,
particularly by placing caches at the transmitters. In this paper, we study the
two-user Gaussian interference channel in which caches are placed at both the
transmitters and the receivers. We propose a separation strategy that divides
the physical and network layers. While a natural separation approach might be
to abstract the physical layer into several independent bit pipes at the
network layer, we argue that this is inefficient. Instead, the separation
approach we propose exposes interacting bit pipes at the network layer, so that
the receivers observe related (yet not identical) quantities. We find the
optimal strategy within this layered architecture, and we compute the
degrees-of-freedom it achieves. Finally, we show that separation is optimal in
regimes where the receiver caches are large.
