Computing is an endless frontier in which we have an unending supply of new problems to confront in the search for new solutions. Among many other considerations, a compiler writer will need to determine how data input or initial state is established for the computing unit in question. The compiler needs to consider how data will be represented and how it will be advantageously transferred to other, heterogeneous computing components in the system. In some sense, these are old questions demanding new answers in a more heterogeneous computing environment.