By managing network resources at compile time, the compiled communication technique greatly improves the communication performance for communication patterns that are known at compile time. In order to support compiled communication, the compiler must estimate the runtime physical connection requirement (physical communication) of a program and partition the program into phases such that the underlying network can support the communications within each phase. Traditional communication analysis techniques represent the communication requirement in logical forms (logical communication) and are insufficient for compiled communication. In this paper, we describe the compiler algorithms that derive physical communications from logical communications and present a communication phase analysis algorithm that partitions a program into phases. These algorithms are implemented and evaluated in our E
Xin Yuan, Rajiv Gupta, Rami G. Melhem