Recent reports from various organizations have identified multiple challenges on the road to Exascale computing systems. These challenges include the unrelenting issues of performance, scalability, and productivity in the face of ever-increasing complexity; they also include the relatively new priorities of energy-efficiency and resiliency. Not coincidentally, recently announced HPC architectures, such as RoadRunner, Tianhe, Tsubame, Titan, Dash, and Nebulae, illustrate that emerging technologies, such as graphics processors and non-volatile memory can provide innovative solutions to address these challenges. Our Keeneland project is deploying a GPU based system for the NSF user community. Early experiences on these systems have demonstrated performance and power benefits; however, these systems have multiple challenges: low programmer productivity, low portability, and very sensitive performance stability. Taken together, these issues are impeding the adoption of these innovative architectures by the broader community. We can lower these barriers by ensuring existing applications run on these systems, and by developing novel software that make users more productive.