From 760bc5b485d52fc2bc788f37ec29e951a9cb5ece Mon Sep 17 00:00:00 2001 From: Tiziano Zito Date: Tue, 13 Aug 2024 13:23:31 +0200 Subject: [PATCH] add primer on computer architecture --- architecture/GPUvsCPU-architecture.png | Bin 0 -> 93850 bytes architecture/NAND-gate.svg | 67 ++++++++++++ architecture/README.md | 102 ++++++++++++++++++ architecture/comp_architecture_schematics.svg | 1 + architecture/topology.png | Bin 0 -> 31325 bytes 5 files changed, 170 insertions(+) create mode 100644 architecture/GPUvsCPU-architecture.png create mode 100644 architecture/NAND-gate.svg create mode 100644 architecture/README.md create mode 100644 architecture/comp_architecture_schematics.svg create mode 100644 architecture/topology.png diff --git a/architecture/GPUvsCPU-architecture.png b/architecture/GPUvsCPU-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..1370d89903e3e4a8a1697b24722b095bd59fe3c6 GIT binary patch literal 93850 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%0DUE|?|-fqp&ke>!GS3=h?v=fAo) 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 O6dtKQERi+&^Zx*ysqmlx literal 0 HcmV?d00001 diff --git a/architecture/NAND-gate.svg b/architecture/NAND-gate.svg new file mode 100644 index 0000000..64f3987 --- /dev/null +++ b/architecture/NAND-gate.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vcc + GND + R1 + R2 + VT1 + VT2 + A + B + Q + + diff --git a/architecture/README.md b/architecture/README.md new file mode 100644 index 0000000..2b8cd20 --- /dev/null +++ b/architecture/README.md @@ -0,0 +1,102 @@ +# A Primer on computer architecture + +## Binary representation of common data types +- **integers** + - int32 ➔ 32b (bits) = 4B (bytes) + - 1 bit for sign, 31 bit for magnitude + - min = -2^31 = -2,147,483,648 + - max = 2^31-1 = 2,147,483,647 + - [visualization](https://manderc.com/apps/umrechner/index_eng.php) + - In Python: + - `bin(14)` ➔ `'0b1110'` + - `np.iinfo(np.int32)` ➔ `iinfo(min=-2147483648, max=2147483647, dtype=int32)` + - Python integers, as opposed to numpy integer types, are represented with a flexible number of bits: `sys.int_info` ➔ `bits_per_digit=30, sizeof_digit=4, default_max_str_digits=4300, str_digits_check_threshold=640` + - they are called "long" or "sperlong" integers, because they can have arbitrary size. Low level implementation explained: + - [Arpit Bhayani's blog](https://arpitbhayani.me/blogs/long-integers-python/) + - [Artem Golubin's blog](https://rushter.com/blog/python-integer-implementation/) + +- **real numbers**, a.k.a. floating point numbers (IEEE-754 standard): + - float64 ➔ 64b (bits) = 8B (bytes) + - 1 bit for sign, 51 bits for mantissa, 11 bits for exponent + - min, max ≈ ± 1.8 × 10^308 + - smallest ≈ 2.2 x 10^-308 + - example in Python: + - `np.finfo(np.float64)` ➔ `finfo(resolution=1e-15, min=-1.7976931348623157e+308, max=1.7976931348623157e+308, dtype=float64)` + - `sys.float_info` ➔ `max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1` + - next floating point number after `1.` in the direction of `2.`: `np.nextafter(1., 2.)` ➔ `1.0000000000000002` + - watch out for equality between floating point numbers: + - `1.1 + 2.2 == 3.3` ➔ `False` + - `(1.1+2.2).hex()` ➔ `0x1.a666666666667p+1` and `(3.3).hex()` ➔ `0x1.a666666666666p+1` + - visualization: + - [`float32`](https://www.h-schmidt.net/FloatConverter/IEEE754.html) + - [all types](https://float.exposed/) with [explanation](https://ciechanow.ski/exposing-floating-point/) + - Docs with more details: [What Every Programmer Should Know About Floating-Point Arithmetic or Why don’t my numbers add up?](https://floating-point-gui.de) + - Docs with the gory details, a.k.a. the floating point bible: [What every computer scientist should know about floating-point arithmetic](https://doi.org/10.1145/103162.103163) + +- **strings**: + - UTF8 encoded, flexible width from 1B (byte) to 4B (bytes): 1,112,064 Unicode characters (code points) + - ASCII: 7 bits (fits in one byte), 127 characters ➔ [ASCII table](https://upload.wikimedia.org/wikipedia/commons/2/26/ASCII_Table_%28suitable_for_printing%29.svg) + - [visualization](https://sonarsource.github.io/utf8-visualizer/) + +- **hexadecimal notation**: + - base16 ➔ '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f' + - a compact way of representating binary data: 8 bits = 1 byte = 2 hexadecimal digits + - Example: `254` (decimal) ➔ `1111 1110` (binary) ➔ `fe` (hex) + +## CPU architecture +![CPU schematics](comp_architecture_schematics.svg) + - Primer on CPU (x86_64) architecture and the memory hierarchy: + - CPU registers ≈ 160 (plus another ~500 model specific), latency: 0 cycles, capacity: 8 bytes + - x86-64 instruction set, with ≈ 2000 instructions with mnemonic (plus an unknown number of "undocumented" instructions ~ 10k) + - (single instruction, mutiple data [8 or 16 data units]) SIMD CPUs + - L-Caches: L1/L2/L3, with cache lines of 128B, latencies: 1-40 cycles, capacity: ~KB and ~MB + - Main memory: RAM pages 4KB or 64KB, latency: 50~100 cycles, capacity ~GBs + - Storage (local disks): disk transfer blocks 4KB to 64MB, latency: 0.1ms (300k cycles), capacity: ~TBs + - Remote Storage (network): typically limited by ethernet connection (1-10 GB/s), latency: 10~100 ms, capacity: ∞ + - Understand the trade-offs involved: + - **capacity** measured in T/G/M/K/B + - **latency** ≈ (time-when-data-available-on-output-pins – time-when-data-requested) ➔ measured in nanoseconds or in (CPU) cycles + - **bandwidth** ≈ clock frequency × data-transfer/tick × bus-width (in bytes) ➔ measured in T/G/M/K/B per second (this is what is usually advertised as the **speed**) + - data **volatility** vs. **persistence** + - cost + - physical limits (heat dissipation, density, size, lifetime) + - temporal and spacial locality of data + - The gory details about the memory hierarchy: [What Every Programmer Should Know About Memory](https://www.akkadia.org/drepper/cpumemory.pdf) by the notorious Ulrich Drepper + +# …and what about the GPU? +![GPU vs CPU architecture](GPUvsCPU-architecture.png) + - A GPU has many (in the order of hundreds) SIMT (single instruction, multiple thread) cores, so called SMs (Streaming Multiprocessors), each one with local L1 and shared L2 caches, and shared RAM (due to to the high parallelism, with huge bandwidth, in the order of ~1TB/s + - The SMs are specialized on data types. In order of abundance, the following data types are supported: int8, int32, int64, float16, float32, float64 + - Performance depends on: + - memory bandwidth: usually higher than CPU's RAM + - "math" bandwidth: usually higher than CPU's, but much more limited in capability; for example branches (if/else) are expensive + - latency: usually much higher than CPU's ➔ the more parallel threads are run the less the price of high latency is paid (latency "hiding") + - spatial locality is extremely critical + - A portion of the GPU-RAM is accessible to the CPU ➔ the GPU performs the copies + - The PCI-Bus bottleneck: data needs to flow from main (CPU) memory to GPU memory and back! + - Problems on a cluster: the GPU does not really support simultanous multiple users payloads! + +# Computer Architecture (a concrete example) +My Laptop: +![Graphical representation](topology.png) + - Lenovo - T14 Gen 4 + - CPU i7-1365U: + - 2× "performance cores" (Intel Core) max 5.20 GHz (0.19 ns/cycle) with Hyper-Threading + - 8× "efficient cores" (Intel Atom) max 3.90 GHz (0.26 ns/cycle) + - L1 (data) cache P-Core 48 KB + - L1 (data) cache E-Core 32 KB + - L2 cache P-Core 1280 KB + - L2 cache E-Core 2048 KB (shared x4) + - L3 cache 12 MB (shared P+E-Cores) + - RAM DDR5-5200: 32GB (16GB soldered + 16GB bank): + - Data rate 5200 MT/s, Transfer time 0.192 ns/cycle + - Command rate (bus clock) 2600 MHz, Cycle time 0.385 ns + - Internal clock 650 MHz, 1.54 ns + - CAS Latency 34 cycles, Total latency = CAS latency x cycle = 13.09 ns, Throughput 40.6 GB/s + - DMI (Direct Media Interface): 8×16 GT/s (≈128 GB/s) + - PCI Express bridges: + - Graphics: 16 GT/s (≈ 8 GB/s) + - 2× Thunderbolt: 2.5 GT/s (≈ 1 GB/s) and 16 GT/s (≈ 8 GB/s) + - GPU Intel Iris, Internal clock 300 Mhz-1.30 GHz, memory 4 GB/2.1 GHz with a bandwidth of 68 GB/s + + diff --git a/architecture/comp_architecture_schematics.svg b/architecture/comp_architecture_schematics.svg new file mode 100644 index 0000000..a6ba132 --- /dev/null +++ b/architecture/comp_architecture_schematics.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/architecture/topology.png b/architecture/topology.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac05a9670e3b7c189c314cfa0f8c15361ff8c1b GIT binary patch literal 31325 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