skill-tree:k:1:2:b
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
skill-tree:k:1:2:b [2020/06/24 17:15] – [Outcomes] kai_h | skill-tree:k:1:2:b [2025/03/10 19:24] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | # K1.2-B Hardware Architectures | + | # K1.2 Overview |
- | # Background | + | |
HPC computer architectures are parallel computer architectures. A parallel computer is built out of | HPC computer architectures are parallel computer architectures. A parallel computer is built out of | ||
- | * compute | + | * Compute |
- | * main memory, | + | * Main memory. |
- | * and a high speed network. | + | * A high-speed network. |
- | # Aim | + | ## Learning Outcomes |
- | * To provide knowledge about parallel computer | + | * elementary processing elements like CPUs, GPUs, many-core |
+ | * vector systems, and FPGAs | ||
+ | * the NUMA architecture used for symmetric multiprocessing systems where the memory | ||
+ | * network demands for HPC systems | ||
+ | * typical network architectures used for HPC systems, like fast Ethernet (1 or 10 Gbit) or InfiniBand | ||
- | # Outcomes | + | * Comprehend that in traditional **CPUs** - although CPU stands for Central Processing Unit - there is no central, i.e. single, processing unit any more because today all CPUs have multiple compute cores which all have the same functionality |
- | | + | * Comprehend that **GPUs** (Graphical Processing Units) or **GPGPUs** (General Purpose Graphical Processing Units) were originally used for image processing and displaying images on screens before people started to utilize the computing power of GPUs for other purposes |
- | * | + | * Comprehend that **FPGAs** (Field-Programmable Gate Arrays) are devices that have configurable hardware |
- | * the NUMA architecture used for symmetric multiprocessing systems where the memory access | + | * Comprehend that **FPGAs** are interesting if one uses them to implement hardware features that are not available in CPUs or GPUs (e.g. low precision arithmetic that needs only a few bits) |
- | * | + | * Comprehend that **Vector units** are successors of vector computers (i.e. the first generation of supercomputers) and that they are supposed to provide higher memory bandwidth than CPUs |
- | * typical network architectures used for HPC systems, like fast Ethernet (1 or 10 Gbit) or InfiniBand | + | * Comprehend that at an abstract level the high-speed network connects compute units and main memory |
- | * | + | * **Shared Memory** where all compute units can directly |
+ | * **Distributed memory** where individual computers are connected with a network | ||
+ | * **NUMA** (Non-Uniform Memory Access) combines properties from shared and distributed memory systems, because at the hardware level a NUMA system resembles a distributed memory | ||
+ | * Comprehend that in general, the effort | ||
+ | * parallelization techniques at the instruction level of a processing element | ||
+ | * advanced instruction sets that improve parallelization (e.g., AVX-512) | ||
+ | * hybrid approaches, e.g. combining CPUs with GPUs or FPGAs | ||
+ | * typical network | ||
+ | * special or application-specific hardware (e.g. TPUs) | ||
- | # Subskills | + | ## Subskills |
skill-tree/k/1/2/b.1593011744.txt.gz · Last modified: 2020/06/24 17:15 by kai_h