Skip to content

Commit 3a7c43e

Browse files
filled in intro::basic_concepts section
1 parent 888b18d commit 3a7c43e

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

docs/docfiles/user_guides/manual/intro.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,30 @@ and native extension developers should refer to the programmer's guide.
2828

2929
Basic Concepts
3030
--------------
31+
32+
Every program starts by running on a **host**, and most of the lines
33+
of code in a program, in particular lines of code implementing the
34+
Python interpreter itself, are usually for the host. Hosts are
35+
customarily CPUs.
36+
37+
Host connected to one or more **devices** (XPUs) programmable with a
38+
specific driver is referred to as a **platform**. These devices can
39+
have different architectures (CPUs, GPUs, FPGA, ASICs, DSP), but can
40+
be programmed using the same unified programming model, `oneAPI`_ .
41+
42+
Note that the same physical hardware (say, a GPU) may be reflected as two
43+
separate devices if they can be programmed by more than one driver,
44+
e.g. one can encounter an OpenCL GPU device and a Level-Zero GPU
45+
device. Heterogeneous computing refers to using multiple devices in a
46+
program.
47+
48+
**Context** holds run-time information needed to operate on a device
49+
or a group of devices, and a **queue** holds command groups to be
50+
executed on the associated device.
51+
52+
Data parallelism enables access to parallel resources in a modern
53+
heterogeous system.
54+
3155
.. todo::
3256

3357
#. Introduce the basic concepts of Platforms, Devices, Contexts, Queues,

0 commit comments

Comments
 (0)