Twin peaks: a software platform for heterogeneous computing on general-purpose and graphics processors
LLVM: a compilation framework for lifelong program analysis & transformation