Software Synthesis for High Productivity ExaScale Computing