EFFICIENT AND PRODUCTIVE GPU PROGRAMMING