Altifigence Academy

18 / 24 · अवधारणा

टाइल, हैलो और आंशिक योग

Th=Tw=2,Tc=1,Tm=2,3×3 कर्नेल,स्ट्राइड दो,डाइलेशन एक में एकल बफ़र के इनपुट/वज़न/32-बिट योग/बायस बाइट निकालें।

भंडारण में समाने के लिए टेंसर बाँटें

एक टाइल की आउटपुट ऊँचाई Th,चौड़ाई Tw,इनपुट चैनल Tc और आउटपुट चैनल Tm चुनें। इनपुट हैलो आउटपुट टाइल के बाहर फैलता है। स्ट्राइड S,डाइलेशन D,कर्नेल R में जरूरी इनपुट ऊँचाई (Th−1)S+(R−1)D+1 है; चौड़ाई में क्षैतिज रूप लें। सीमा पैडिंग लाने के बजाय बना सकते हैं।

इनपुट चैनल बाँटने पर हर आउटपुट आंशिक योग सभी चैनल टाइलों में रखना चाहिए। हर टाइल जल्दी राउंड करने से ऑपरेशन बदलता है। पहली चैनल टाइल में बायस एक बार जोड़ें, फिर उसी योग को जारी रखें। आउटपुट चैनल टाइल बदलने पर वज़न और बायस भी बदलते हैं।

भंडारण बजट उदाहरण

3×3,इकाई स्ट्राइड/डाइलेशन में Th=Tw=2,Tc=2,Tm=2 लें। हैलो 4×4, 32 int8 इनपुट बाइट। वज़न 2×2×3×3=36 बाइट। आठ 32-बिट आंशिक योग 32 बाइट और दो 32-बिट बायस आठ। कुल 108 बाइट। स्केल,पते,वैधता और नियंत्रण शामिल नहीं; अलग छूट चाहिए।

इनपुट और वज़न डबल बफ़र करने में 2×(32+36)+32+8=176 बाइट, 128-बाइट बजट से ज्यादा। Tc एक करने पर इनपुट सोलह और वज़न अठारह बाइट। डबल बफ़र 2×34+32+8=108 बाइट। दो इनपुट-चैनल टाइलों में आंशिक योग रखें। बफ़र समाना स्थानांतरण और गणना के ओवरलैप का प्रमाण नहीं; समयक्रम अलग जाँचें।

स्ट्राइड दो में इसी 2×2 आउटपुट टाइल का इनपुट 5×5 तक बढ़ता है। पड़ोसी टाइल हैलो साझा कर सकती हैं, लेकिन स्वतंत्र पुनः लोड ट्रैफ़िक दोहराते हैं। अद्वितीय टेंसर बाइट, जो निचली सीमा हैं, को वास्तविक टाइल स्थानांतरण से अलग रखें।

M=5 और Tm=2 में अंतिम टाइल एक वैध आउटपुट चैनल है। अतिरिक्त वज़न और आउटपुट पहुँच मास्क करें। अंतिम स्थानिक और इनपुट-चैनल टाइलों पर समान मास्क दें। NVIDIA CUTLASS दस्तावेज़ वास्तविक implicit-GEMM तरीका बताता है जो पूरे विस्तारित मैट्रिक्स बिना टाइल बनाता है। यहाँ भंडारण और आंशिक योग निकालते हैं, CUDA कार्यान्वयन नहीं चलाते।

खुद आज़माएँ

Th=Tw=2,Tc=1,Tm=2,3×3 कर्नेल,स्ट्राइड दो,डाइलेशन एक में एकल बफ़र के इनपुट/वज़न/32-बिट योग/बायस बाइट निकालें।

व्याख्या पढ़ें

5×5 इनपुट 25 बाइट। अठारह वज़न,32 योग और आठ बायस जोड़ें:83 बाइट, नियंत्रण और स्केल छोड़कर।

आपका चयन इस ब्राउज़र पर लागू होता है। फ़ुटर से कभी भी बदलें।