In this section, we present an algorithm to find data and computation decompositions that have neither pipelined communication nor data reorganization communication. This simplified problem illustrates the basic ideas of our decomposition model. The algorithm finds a single, static decomposition for each array and each loop nest, and only considers the parallelism available in forall loops.