This document discusses using source-to-source compilers to address high performance computing challenges. It presents a source-to-source approach using the ROSE compiler infrastructure to generate programming models for heterogeneous computing via directives, enable performance optimization through autotuning, and improve resilience by adding source-level redundancy. Preliminary results are shown for accelerating common kernels like AXPY, matrix multiplication, and Jacobi iteration using a prototype source-to-source OpenMP compiler called HOMP to target GPUs.