GPGPU Computing
Bogdan Oancea, Tudorel Andrei, Raluca Mariana Dragoescu

TL;DR
This paper reviews GPU computing evolution, focusing on CUDA, AMD Stream, and OpenCL, comparing their architectures and programming models to highlight their benefits and differences in heterogeneous computing.
Contribution
It provides a comparative analysis of CUDA, AMD Stream, and OpenCL, emphasizing their architectures, programming models, and the potential for unifying GPU computing approaches.
Findings
CUDA offers a specialized parallel computing architecture.
OpenCL aims to unify heterogeneous GPU and CPU computing.
CUDA and AMD Stream have distinct programming models.
Abstract
Since the first idea of using GPU to general purpose computing, things have evolved over the years and now there are several approaches to GPU programming. GPU computing practically began with the introduction of CUDA (Compute Unified Device Architecture) by NVIDIA and Stream by AMD. These are APIs designed by the GPU vendors to be used together with the hardware that they provide. A new emerging standard, OpenCL (Open Computing Language) tries to unify different GPU general computing API implementations and provides a framework for writing programs executed across heterogeneous platforms consisting of both CPUs and GPUs. OpenCL provides parallel computing using task-based and data-based parallelism. In this paper we will focus on the CUDA parallel computing architecture and programming model introduced by NVIDIA. We will present the benefits of the CUDA programming model. We will also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Cloud Computing and Resource Management
