AMD की CDNA 3 कंप्यूट आर्किटेक्चर
- GPU कंप्यूट मार्केट शेयर बढ़ाने के लिए AMD का लंबा इतिहास रहा है.
- Nvidia की Tesla आर्किटेक्चर के बाद से AMD लगातार उसका पीछा कर रहा है.
- Terascale 3 ने VLIW5 से VLIW4 में बदलाव करके कंप्यूट वर्कलोड में execution unit utilization को बेहतर किया.
- GCN ने Terascale की जगह ली और GPGPU तथा graphics applications दोनों के लिए एकसमान performance पर ज़ोर दिया.
- AMD ने GPU आर्किटेक्चर विकास को compute और graphics के लिए अलग-अलग CDNA और RDNA लाइनों में विभाजित किया.
- CDNA 2 ने AMD को उल्लेखनीय सफलता दिलाई. MI250X और MI210 GPU ने कई supercomputer contracts हासिल किए.
- CDNA 3 AMD की पूरी क्षमता के साथ अंतर को कम करता है. MI300X अपने परिष्कृत chiplet configuration के ज़रिए उन्नत packaging technology दिखाता है.
- मेमोरी के लिहाज़ से RDNA लाइन की Infinity Cache को CDNA दुनिया में लाया गया है ताकि bandwidth समस्याओं को कम किया जा सके.
- CDNA 3 की compute architecture को throughput और utilization बढ़ाने के लिए महत्वपूर्ण पीढ़ीगत सुधार मिले हैं.
GPU लेआउट
- Ryzen और Epyc CPU में cores की संख्या को कम लागत पर बढ़ाने के लिए chiplet इस्तेमाल करने की AMD की परंपरा रही है.
- MI300X इसी तरह की रणनीति अपनाता है और compute को XCD नामक Accelerator Complex Dies में विभाजित करता है.
- हर XCD में core set और shared cache शामिल हैं, और MI300X में कुल 8 XCD हैं जो 304 Compute Units प्रदान करते हैं.
- Nvidia के H100 में 132 Streaming Multiprocessors(SMs) हैं, और इसे programmers के सामने एक बड़े एकीकृत GPU के रूप में पेश किया जाता है.
- Intel का Ponte Vecchio(PVC) Compute Tiles और Base Tile का उपयोग करके समान कार्यक्षमता देता है, लेकिन EMIB bridge की bandwidth सीमाओं के कारण एक integrated GPU के रूप में चुनौतियाँ हैं.
bandwidth समस्या का समाधान
- compute कई दशकों से memory से आगे रहा है, और GPU इससे निपटने के लिए लगातार अधिक परिष्कृत caching strategies अपनाते गए हैं.
- CDNA 2 ने 8 MB L2 cache का उपयोग किया और HBM2e पर निर्भर रहा, लेकिन AMD ने RDNA(2) में इस्तेमाल की गई "Infinity Cache" जोड़ी.
- Infinity Cache एक memory-side cache है, और सारा memory traffic Infinity Cache से होकर गुजरता है.
- CDNA 3 की Infinity Cache को bandwidth optimization के लिए डिज़ाइन किया गया है, और यह 128 slices से मिलकर बनी है जो कुल 17.2 TB/s bandwidth प्रदान करती है.
Cross-Die bandwidth की संभावित चुनौतियाँ
- MI300X की Infinity Fabric में 4 IO dies शामिल हैं, जिनमें से हर एक दो HBM stacks और संबंधित cache partitions से जुड़ा है.
- dies के बीच कनेक्शन की bandwidth, single logical GPU के रूप में काम करते समय सैद्धांतिक Infinity Cache bandwidth तक पहुँचने को सीमित कर सकती है.
Cross-XCD coherence
- Infinity Cache को coherence की चिंता नहीं करनी पड़ती, लेकिन L2 cache को पड़ती है.
- AMD, MI300X को एक बड़े single GPU के रूप में expose करने के लिए Infinity Fabric के Coherent Masters(CMs) और Coherent Slaves(CS) का उपयोग करता है.
L2 cache
- हर MI300X XCD में 4 MB L2 cache शामिल है, जो एक पारंपरिक GPU cache के रूप में महत्वपूर्ण भूमिका निभाता है.
L1 cache
- CDNA 3, L1 cache के throughput को दोगुना करता है और उसकी capacity को 16 KB से बढ़ाकर 32 KB कर देता है.
scheduling और execution units
- जटिल chiplet configuration और संशोधित cache hierarchy के ज़रिए AMD, MI300X को एक single GPU के रूप में पेश करता है.
- CDNA 3, CDNA 2 की core Compute Unit architecture में क्रमिक सुधार करता है, जिसे FP32 units के utilization में कठिनाई होती थी.
matrix operations
- matrix multiplication, machine learning के बढ़ने के साथ लगातार अधिक महत्वपूर्ण होती जा रही है.
- MI300X, प्रति CU matrix throughput को दोगुना करता है, जिससे पिछली CDNA पीढ़ी की तुलना में performance बेहतर होती है.
instruction cache
- CDNA 3 instruction cache capacity को 64 KB तक बढ़ाता है, और associativity को 4-way से बढ़ाकर 8-way कर देता है.
अंतिम बात
- CDNA 3 में सबसे बड़ा पीढ़ीगत बदलाव memory hierarchy में है, और Infinity Cache का जुड़ना इसका प्रमुख सुधार है.
- AMD ने MI300 को एक बड़ा unified accelerator बनाने के लिए dies के बीच bandwidth को काफ़ी बढ़ाया है.
GN⁺ की राय
- CDNA 3 architecture, GPU computing क्षेत्र में AMD की प्रतिस्पर्धात्मकता को मज़बूत करने वाली एक महत्वपूर्ण प्रगति को दर्शाती है.
- Infinity Cache की शुरुआत memory bandwidth समस्याओं को हल करने का एक नवोन्मेषी तरीका है, जो विशेष रूप से बड़े data sets को संभालने वाले high-performance computing applications के लिए महत्वपूर्ण है.
- MI300X को single GPU के रूप में पेश करने की AMD की रणनीति programming की जटिलता को कम करती है और developers को resources का अधिक कुशल उपयोग करने देती है, जिससे AMD की GPU product line व्यापक बाज़ार के लिए अधिक आकर्षक बन सकती है.
1 टिप्पणियां
Hacker News की राय