In an earlier study, we inserted prefetches by hand into MP3D, LU, and PTHOR . In the case of PTHOR, the access patterns are irregular and difficult to prefetch even by hand-we will discuss that case later in Section . In contrast, the other two cases (MP3D and LU) have regular and predictable access patterns. Therefore inserting prefetches by hand was relatively easy, and we saw large performance gains. Our compiler algorithm is also successful at prefetching these two cases, which we examine in more detail in this subsection.