Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ LLVM Π² GPU ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ /Π‘ΡΠ°Π½Π΄Π°ΡΡΡ Π‘++ (ΡΠ°ΡΡΡ 2) ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ Π²ΡΠΏΡΡΠΊΠ° Β«ΠΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΎΠΊΒ» ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Ρ 20-Π»Π΅ΡΠ½ΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° C/C++, ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ GPU. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ°ΡΡΡΠΆΠ΄Π°Π΅Ρ ΠΎ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²Π΅ΡΠ°Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ C++ ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡ. Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ CPU ΠΈ GPU? Π ΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π³Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ? ΠΠΎΡΠ΅ΠΌΡ MLIR Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ ? ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ LLVM Π΄Π»Ρ GPU-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π΅Π³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ? ΠΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠ°Π΅Ρ SSA? ΠΠΎΡΠ΅ΠΌΡ Π½Π°Π»ΠΈΡΠΈΠ΅ undefined behaviour β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ? Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² C++26? ΠΡΠ²Π΅ΡΡ Π½Π° ΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΈΠ· Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΏΠΈΠ·ΠΎΠ΄Π°. ΠΠ΅ΡΠ²ΡΡ ΡΠ°ΡΡΡ Π²ΡΠΏΡΡΠΊΠ° c ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ΠΎΠΌ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² GCC ΠΈ LLVM, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°ΠΌ ΠΊ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: Β Β Β β’Β LLVMΒ ΠΈΒ GCCΒ /Β RegisterΒ allocationΒ /Β IT-ΠΎΠ±ΡΠ°...Β Β π ΠΠ°Π½Π°Π» ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½Π°: Β Β Β /Β @tilirΒ Β β ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π» ΠΏΠΎΠ΄ΠΊΠ°ΡΡΠ°: https://t.me/+pAvCjs9-8qE1OWZi πΉ Π‘ΡΠ°Π½Ρ ΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ YADRO! https://careers.yadro.com π§ Π‘Π»ΡΡΠ°ΡΡ Β«ΠΠΈΡΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΒ» Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ : Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠ°: https://music.yandex.com/album/26508178 Apple Podcasts: https://podcasts.apple.com/ru/podcast... ΠΡΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ: https://engineer.yadro.com/podcasts/c... 00:00:00 β Π’ΠΈΠ·Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ 00:00:29 β ΠΡΠ»ΠΈΡΠΈΡ CPU ΠΈ GPU 00:02:03 β ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ GPU 00:04:01 β Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ LLVM Π΄Π»Ρ GPU-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² 00:06:13 β SpillβΡ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ°Ρ Β 00:10:15 β Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π³Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ 00:11:18 β ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² 00:13:27 β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ LLVM Π² GPU-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ 00:18:56 β MLIR ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΒ 00:21:13 β ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠΎΠ² Π΄Π»Ρ GPU 00:26:07 β Backend Π² GPU-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ 00:26:41 β ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π±Π°Π³ 00:32:26 β Π‘ΡΠΎΠΈΡ Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ 00:33:47 β ΠΠΎΡΠ΅ΠΌΡ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ C++ 00:36:10 β ΠΡΠΈΠ±ΠΊΠ° Π² Linux 00:38:55 β ΠΠΎΠ»ΡΠ·Π° undefined behaviour 00:45:33 β ΠΠΎΠ²ΡΠ΅ΡΡΠ²Π° Π² C++23 ΠΈ C++26 00:55:37 β Π£ΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² C++ 01:00:59 β ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ #gpu #llvm #cpp #opencl