1. A method for heterogeneous computing, the method comprising: receiving, with a processor, a pipeline topology of an execution model that defines a data processing algorithm in a platform-independent manner; generating, with the processor, instructions that indicate a platform-dependent manner in which the pipeline topology of the execution model is to be implemented on a graphics processing unit (GPU), wherein the platform-dependent manner in which the pipeline topology of the execution model is to be implemented on the GPU is based on a platform of the GPU, wherein the pipeline topology identifies producer kernels that produce data that is to be consumed by consumer kernels, wherein the instructions are based on an amplification factor, and wherein a maximum amount of data that is to be produced by the producer kernels is based on the amplification factor and an amount of data that the producer kernels will receive; and transmitting, with the processor, the instructions to the GPU.