1. A method for unifying Graphics Processing Unit (GPU) computation languages comprising: identifying a GPU on a computing device; accessing a plurality of macros representing a difference in source code between a first GPU computation language and a second GPU computation language; expanding each macro in the plurality of macros based on the identified GPU; and executing a kernel on the computing device using the expanded macro.