Scientific GPU Programming with Data-Flow Languages
The University of Manchester
Multi-Core and Reconfigurable Super Computing Conference, 2011
@article{goodman2011scientific,
title={Scientific GPU Programming with Data-Flow Languages},
author={Goodman, D. and Lujan, M.},
year={2011}
}
Graphical Processing Units or GPUs are processors used primarily to render images from computer models for domains ranging from gaming to design engineering. As the generation of very accurate images often in real time is extremely computationally intensive, they have developed into extremely powerful processors. To achieve this they have relied on being able to specialise to this particular set of problems, specifically taking advantage of the fact that each pixel can be calculated independently. This has resulted in a processor with a high level of parallelism, and on which large numbers of threads run in small groups to compute independent results. These groups of threads take inputs and produce outputs, but there is no communication between groups. This lack of communication means that computations on GPUs are fundamentally controlled by the flow of data through pipelines as transferring control information between threads is not possible.
November 17, 2011 by hgpu