–The simple bifurcated memory hierarchy of the 1950s has evolved into a much more complex hierarchy while interfaces have remained relatively fixed.
–At the same time, computer architectures have evolved from single nodes to large parallel systems.
–Update the interface to support a prescriptive (directive based) approach.
–Manage dynamic placement & movement with a smart distributed runtime system
–Enable domain scientist to focus on their specialty rather than requiring them to become experts on memory architectures.
–Enable target independent programmability & target independent performance.