http://www.cray.com/about_cray/news_events/articles/HPCwire_AdaptiveSC.pdf
Adaptive supercomputing combines multiple processing architectures into a
single scalable system. From the user's point of view, one has the application
program, which uses libraries, tools, compilers, scheduling system management
and a runtime system. Then comes the adaptive software, a compiler, which
knows what types of processors are available on the heterogeneous system and
targets code to the most appropriate processor. In certain cases, at run-time, the
system will determine the most appropriate processor for running a piece of
code, and direct the execution accordingly. As Scott said: "Adapt the system to
the application - not the application to the system."