Why 2 GPUs ≠ 2× Performance | PCIe, NVLink & GPU Topology — #2
Momen Walied - مؤمن وليد
0:00 / 0:00
Why 2 GPUs ≠ 2× Performance | PCIe, NVLink & GPU Topology — #2
141 просмотр · 10 дней назад
Momen Walied - مؤمن وليد
762 подписчика
141 просмотр · 10 дней назад
في الفيديو التاني من سلسلة How to Build Distributed AI Systems هنبدأ بتجربة حقيقية على Kaggle باستخدام 2 GPUs، وهنسأل سؤال بسيط:
ليه لما نزود عدد الـGPUs من 1 ل 2، الأداء مش بيتضاعف؟
عشان نفهم الإجابة، هننزل تحت مستوى PyTorch ونبص جوه ال Multi-GPU system نفسه.
هنفهم إزاي torchrun بيشغّل multiple processes، وإيه الفرق بين RANK وLOCAL_RANK وWORLD_SIZE، وإزاي كل process بتترابط مع GPU مختلفة.
بعد كده هندخل لل hardware layer ونفهم:
PCIe وPCIe lanes وGen4 x16
PCIe Controller وRoot Complex
إزاي ال data بتتحول ل PCIe transactions وTLPs
الفرق بين PCIe وNVLink
GPU Topology وقراءة nvidia-smi topo -m
معنى PHB / PIX / PXB / NODE / SYS / NVLink
NUMA Domains وليه مكان الـGPU جوه السيرفر بيفرق
ليه ال physical topology ممكن تبقى bottleneck في distributed training
وفي الآخر هنرجع لنفس السؤال:
لو ال hardware مجرد paths بتنقل الـdata... مين بينظم فعليًا الـcommunication بين الـGPUs؟
وده اللي هندخل فيه في الفيديو الجاي: NCCL.
#DistributedAI #distributedsystems #pytorch #gpu #nncl #deeplearning #machinelearning #aiinfrastructure #pcie #nvlink #ddp