Slide 1

Slide 1 text

Взгляд в кремний

Slide 2

Slide 2 text

МФТИ - ФОПФ’19, ФПМИ’21 tech-проекты, Аргентина, РФ фин.сектор Преподавание: МФТИ, (ВШЭ, Иннополис) - CPython Internals - classic ML (sems) CPython music

Slide 3

Slide 3 text

Из последнего

Slide 4

Slide 4 text

October: ● Finland ● Sweden December: Indonesia September: Ghana November: Ireland

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

автор tg: @PyotrAndreev 6 Marketing Internals Each year: faster: 20% energy: less consumption

Slide 7

Slide 7 text

автор tg: @PyotrAndreev 7 Transistor Internals silicon wafer / crystal manufacturing SMT / SIMD GPU +industry +future Что сегодня на обед ? >>> print('Hello World!') Hello World! +ecosystem

Slide 8

Slide 8 text

автор tg: @PyotrAndreev 8 Transistor Internals more visualization & explanation short overview the next 20 slides

Slide 9

Slide 9 text

автор tg: @PyotrAndreev 9 Transistor Internals silicon wafer / crystal manufacturing / sand -> wafer / time / crystalline silicon to Instagram: ● Time: days-month ● 1420°C ● 265kg ≈ 300mm x 2m

Slide 10

Slide 10 text

автор tg: @PyotrAndreev 10 Transistor Internals silicon wafer / crystal manufacturing / sand -> wafer

Slide 11

Slide 11 text

автор tg: @PyotrAndreev 11 Transistor Silicon wafer: ● ultra clean, выращенная ● 30 sm ● ≈$100 buy here Internals making micro-chip

Slide 12

Slide 12 text

автор tg: @PyotrAndreev 12 Photo-lithograph Internals making micro-chip / videos: TSMC, ASML, Carl Zeiss SMT TSMC Netherlands Germany Taiwan $170M <- ASML: EUV-сканеры <- Carl Zeiss SMT: оптика

Slide 13

Slide 13 text

автор tg: @PyotrAndreev 13 Photo-lithograph Internals ASML videos / EUV explanation Вы не захотите это потрогать ! x40 of surface sun temperature ≈220,000°C олово Как порождается EUV ? ≈25kW - light energy (initial)

Slide 14

Slide 14 text

автор tg: @PyotrAndreev 14 Photo-lithograph Internals ASML videos / EUV explanation Давайте посмотрим на этот процесс

Slide 15

Slide 15 text

автор tg: @PyotrAndreev 15 Photo-lithograph Internals making micro-chip / chip manufacturing ● 13.5nm – EUV ● $300th – photo mask cost ● 8nm resolution ● 0.5–2% EUV dropped into wafer chips on 300mm wafer: (in the end) ● or ≈100 GPUs ● or ≈200 CPUs ● or ≈1000 DRAM

Slide 16

Slide 16 text

автор tg: @PyotrAndreev 16 Photo-lithograph Internals making micro-chip / chip manufacturing / more about the process super precision If EUV mirror is size of Russia, then the largest unevenness < 4.8mm high

Slide 17

Slide 17 text

автор tg: @PyotrAndreev 17 Photo-lithograph Internals Посмотрим на процесс

Slide 18

Slide 18 text

автор tg: @PyotrAndreev 18 Photo-lithograph Internals

Slide 19

Slide 19 text

автор tg: @PyotrAndreev 19 Photo-lithograph Internals Посмотрим ближе

Slide 20

Slide 20 text

автор tg: @PyotrAndreev 20 Photo-lithograph Internals ≈ 100$ ≈ 150 000$ wafer 125 gram ≈ gold gram x10 ≈ 1kg of gold PRICE: 3 months ≈1000steps ≈200 CPUs 1 CPU: ≈26B transistors monthly: 50th wafers ≈ $7.5B

Slide 21

Slide 21 text

автор tg: @PyotrAndreev 21 Transistor Internals silicon wafer / crystal manufacturing

Slide 22

Slide 22 text

22 Look at the industry автор tg: @PyotrAndreev

Slide 23

Slide 23 text

автор tg: @PyotrAndreev 23 TSMC In time infestor report / A14 process / specialty technology / 3D fabric Technology: ● tech-process И куда мы движемся?

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

автор tg: @PyotrAndreev 25 Transistor Future

Slide 26

Slide 26 text

автор tg: @PyotrAndreev 26 TSMC History TSMC Tech Symposium Produce chips ≥ min тех.процесс Страшный график:

Slide 27

Slide 27 text

автор tg: @PyotrAndreev 27 TSMC RoadMap TSMC Tech Symposium Source маркетинга: Each year: faster: 20% energy: less consumption

Slide 28

Slide 28 text

28 Transistor under a microscope автор tg: @PyotrAndreev

Slide 29

Slide 29 text

автор tg: @PyotrAndreev 29 Transistor Internals silicon wafer / crystal manufacturing SMT / SIMD GPU +industry +future >>> print('Hello World!') Hello World! +ecosystem

Slide 30

Slide 30 text

автор tg: @PyotrAndreev 30 Transistor Sizes image Вафля, что в чипе? Когда вы купили свой компьютер?

Slide 31

Slide 31 text

автор tg: @PyotrAndreev 31 Transistor Sizes CPU inners Transisor vs. daily objects

Slide 32

Slide 32 text

автор tg: @PyotrAndreev 32 Transistor Sizes CPU inners Transisor vs. daily objects

Slide 33

Slide 33 text

автор tg: @PyotrAndreev 33 Transistor Sizes CPU inners Transisor vs. daily objects

Slide 34

Slide 34 text

автор tg: @PyotrAndreev 34 Transistor Principles transistors in CPU How it works?

Slide 35

Slide 35 text

автор tg: @PyotrAndreev 35 Transistor Principles transistors in CPU

Slide 36

Slide 36 text

автор tg: @PyotrAndreev 36 Transistor Architectures transistor evolution / GAA FET types / <10nm / CFET

Slide 37

Slide 37 text

Logic Gates: transistor combinations автор tg: @PyotrAndreev 37 Transistor Architectures transistors in CPU / simple CPU Transistors: Chip: elementary Math: sum, mul, … Units: logic gate combinations IP Core: unit combinations Core: IP Core combinations Всё для чего?

Slide 38

Slide 38 text

автор tg: @PyotrAndreev 38 Marketing Internals Each year: faster: 20% energy: less consumption Простой слайд:

Slide 39

Slide 39 text

автор tg: @PyotrAndreev 39 processing units Internals ● ≤ 128 ядер – решение общих задача ● сильные ядра + предсказание ветвлений, большие кеши ● параллельность: ядра + векторизация + … ● лучше для: одной большой задачи за раз CPU architecture / CPU works / G/CPU schemes ● ~ 100 спец.ядер: ● оптимизация: пропускная способность ● параллельность: ~ 10th потоков ● лучше для: many the same independent simple tasks GPU: много, просто, одновременно CPU: мало, сложно, быстро

Slide 40

Slide 40 text

автор tg: @PyotrAndreev 40 CPU Internals elementary Math: sum, mul, … Units: logic gate combinations IP Core: unit combinations Core: IP Core combinations $ python3 -c 'print(1+1)' 2 $ python3 -m timeit -s 'int(1000)' 50000000 loops, best of 5: 5.31 nsec per loop Byte-codes ISA Instruction Set Architecture = CPU language micro-ops CPU decodes ISA to µ-ops C compiled CPython for CPU

Slide 41

Slide 41 text

автор tg: @PyotrAndreev 41 CPU SMT/Hyper-Threading in core 1 core – many logical cores. Each logical has independent: ● счётчики команд, физ.регистры но общие: ● исполнительные блоки, кэши, буферы Площадь кристалла ограничена: -дублирование и межъядерная инфра энергопотребление/выделение тепла в рамках logical cores is 10–40% compute power: ● L2/L3-miss, TLB-miss, mispredict, … Оба лог.ядра конкурируют за общие ресурсы. два аппаратных контекста и общий исполнительный тракт SMT ● прячет латентности ● физически реализованная многопоточность внутри одного ядра logic core SP: указатель стека IP: счётчик команд GPR, флаги/статус, контекст предсказателя, … core logic core SP: указатель стека IP: счётчик команд GPR, флаги/статус, контекст предсказателя, … scheduler, branch predictor, TLB, блоки исполнения, кэши, шины, частота, термобюджет, Load/Store Unit, SIMD* cache-miss

Slide 42

Slide 42 text

автор tg: @PyotrAndreev 42 CPU: SIMD AVX/SVE Сколько «чисел» влезает в вектор (примерно, зависит от выбранного формата) ● 128 бит (NEON/XMM): 16×int8, 8×int16, 4×float32, 2×float64 ● 256 бит (YMM): 32×int8, 16×int16, 8×float32, 4×float64 ● 512 бит (ZMM): 64×int8, 32×int16, 16×float32, 8×float64 ● SVE 2048 бит: 256×int8 или 32×float64. где SIMD упирается в память и когда стоит идти в кластер/шардинг применение одной и той же операции ко множеству элементов векторного регистра и возвращает вектор результата

Slide 43

Slide 43 text

автор tg: @PyotrAndreev 43 GPU Internals

Slide 44

Slide 44 text

автор tg: @PyotrAndreev 44 Benchmarks maths out = sin(a*b + c) + sqrt(|a-b|) pure_python.py 0.043s / N=2*105 / float32 numba_simd.py 0.012s / N=107 / float32

Slide 45

Slide 45 text

автор tg: @PyotrAndreev 45 CuPy High performance with GPU doc: cupy.dev out = sin(a*b + c) + sqrt(|a-b|)

Slide 46

Slide 46 text

автор tg: @PyotrAndreev 46 PyCuda Internals 1. от сообщества: А.Клекнер 2. питонячая обёртка над CUDA -> верхнеуровневый доступ к API CUDA pycuda: github / doc

Slide 47

Slide 47 text

автор tg: @PyotrAndreev 47 t.me/py_up Python Powers