rsnt_translations
56,563
edits
(Marked this version for translation) |
No edit summary |
||
Line 3: | Line 3: | ||
[[Category:Software]] | [[Category:Software]] | ||
=Introduction= <!--T:1--> | =Introduction= <!--T:1--> | ||
This tutorial introduces the | This tutorial introduces the graphics processing unit (GPU) as a massively parallel computing device; the CUDA parallel programming language; and some of the CUDA numerical libraries for high performance computing. | ||
{{Prerequisites | {{Prerequisites | ||
|title=Prerequisites | |title=Prerequisites | ||
|content= | |content= | ||
This tutorial uses CUDA to accelerate C or C++ code | This tutorial uses CUDA to accelerate C or C++ code; a working knowledge of one of these languages is therefore required to gain the most benefit. Even though Fortran is also supported by CUDA, for the purpose of this tutorial we only cover CUDA C/C++. From here on, we use term CUDA C to refer "CUDA C and C++". CUDA C is essentially a C/C++ that allow one to execute function on both GPUs and CPUs. | ||
}} | }} | ||
{{Objectives | {{Objectives | ||
|title=Learning objectives | |title=Learning objectives | ||
|content= | |content= | ||
* | * Understand the architecture of a GPU | ||
* | * Understand the workflow of a CUDA program | ||
* | * Manage and understand the various types of GPU memories | ||
* | * Write and compile an example of CUDA code | ||
}} | }} | ||
=What is a GPU?= | =What is a GPU?= | ||
GPU, or a graphics processing unit, is a single-chip processor that performs rapid mathematical calculations | GPU, or a graphics processing unit, is a single-chip processor that performs rapid mathematical calculations for the purpose of rendering images. | ||
However, in the recent years, such capability | However, in the recent years, such capability has been harnessed more broadly to accelerate computational workloads of cutting-edge scientific research. | ||
=What is CUDA?= <!--T:23--> | =What is CUDA?= <!--T:23--> | ||
CUDA stands for ''compute unified device architecture''. It is a scalable parallel programming model and software environment for parallel computing which | |||
provides access to instructions and memory of massively parallel elements in GPUs. | |||
Another definition: CUDA is a | Another definition: CUDA is a . | ||
=CUDA GPU Architecture = <!--T:24--> | =CUDA GPU Architecture = <!--T:24--> |