बीजिंग विश्वविद्यालय के चेन मोहान के नेतृत्व में एक शोध समूह ने चीन में विकसित घनत्व कार्यात्मक सिद्धांत (DFT) के लिए ओपन-सोर्स पैकेज ABACUS को Huawei Kunpeng 920 प्रोसेसर की पूरी श्रृंखला के लिए अनुकूलित किया। इसके अलावा, टीम ने 19 विभिन्न प्रमुख ऑपरेटर वर्गों का अनुकूलन किया। इस बारे में Huawei Computing ने 31 अक्टूबर की एक प्रकाशन में बताया, जैसा कि IT Home द्वारा पता चला। कोड को परियोजना के GitHub रिपॉजिटरी में अपलोड कर दिया गया था।
घनत्व कार्यात्मक सिद्धांत (DFT) धातुओं और अर्धचालकों जैसी सामग्रियों के गुणों का अध्ययन करने के लिए एक मौलिक प्रथम-सिद्धांत विधि है। ABACUS को कई संस्थानों के सहयोग से विकसित किया गया था और सौ से अधिक संगठनों में एक सौ से अधिक उपयोगकर्ताओं के बीच उपयोग किया जाता है।
टीम के आंकड़ों के अनुसार, 28 कोर पर दोनों पक्षों को कॉन्फ़िगर करने और एक थ्रेड पर 28 प्रक्रियाओं को चलाने पर, SVE निर्देश सेट का उपयोग करने वाला Kunpeng 920 बिल्ड, GaAs, MoS2, BaTiO3, लोहा और सिलिकॉन सहित 10 सामग्री प्रणालियों के मानक सेट के साथ काम करते समय मानक x86 सीपीयू की तुलना में 1.3 से 3.9 गुना तेज गति प्रदर्शित करता है, जिसमें 8 से 216 परमाणु होते हैं। चिप के मैट्रिक्स कंप्यूटिंग ब्लॉक का उपयोग करते हुए, सभी नोड कोर पर काम करते समय त्वरण 10.7 गुना तक पहुंच गया। स्टोकेस्टिक DFT के मामलों में, टीम ने SVE के लिए 2.8 से 3.1 गुना और मैट्रिक्स ब्लॉक का उपयोग करने वाले बिल्ड के लिए 6.1 से 20.1 गुना गति वृद्धि दर्ज की।
पहला चरण पोर्टिंग था, क्योंकि Kunpeng 920 के विभिन्न मॉडल वेक्टर निर्देश NEON, SVE या SVE512, और एक समर्पित मैट्रिक्स ब्लॉक का समर्थन करते हैं, जो सामान्य कंपाइलर विकल्पों का उपयोग करते समय अप्रयुक्त रहते हैं। टीम ने अलग-अलग टूलचेन बनाए: NEON और SVE बिल्ड्स के लिए gcc का उपयोग OpenMPI और OpenBLAS के साथ किया गया, जबकि अन्य के लिए Huawei के HMPI और KBLAS के साथ clang का उपयोग किया गया, और Kunpeng गणित लाइब्रेरी को एकीकृत करने के लिए USE_KML विकल्प भी जोड़ा गया। सभी संकलित संस्करणों ने ABACUS के एकीकरण परीक्षण पास किए, जिसमें प्लानर वेव और LCAO Kohn-Sham, स्टोकेस्टिक DFT और DeePKS के लिए DFT शामिल थे, और परिणाम मुख्य कार्यान्वयनों के अनुरूप थे।
इसके बाद टीम ने अक्सर कॉल किए जाने वाले छोटे ऑपरेटरों को फिर से लिखा। सामान्य लैग्रेंज बहुपद की पुनरावर्ती प्रक्रिया को पुनरावृत्तीय पुनरावर्ती में बदलने से जटिलता को O(n) तक कम करने और इसे मिलियन टेस्ट में लगभग आठ गुना तेज बनाने में मदद मिली। इंटरपोलेशन खोज को बाइनरी सर्च में बदलने से 400 रिकॉर्ड के तालिका में औसत तुलनाओं की संख्या लगभग 200 से घटकर नौ हो गई। अन्य परिवर्तनों में त्रिकोणमितीय पुनरावृत्ति, चक्र अपरिवर्तनीयता बढ़ाना, मिश्रित सटीकता ट्यूनिंग और मेमोरी लेआउट शामिल थे, जिसमें प्रत्येक ऑपरेटर के संख्यात्मक परिणामों की दोबारा जांच की गई थी।
Huawei के DevKit में स्रोत कोड के स्वचालित अनुकूलन का उपयोग करते हुए, टीम ने नई Kunpeng 920 मॉडल पर 8 परमाणुओं वाले उच्च घनत्व वाले कार्बन मामले की प्रसंस्करण गति को 2.28 गुना और 512 परमाणुओं वाले सिलिकॉन मामले की प्रसंस्करण गति को 2.66 गुना बढ़ा दिया। Huawei ने उल्लेख किया कि प्राप्त ट्यूनिंग अनुभव को अन्य वैज्ञानिक सॉफ़्टवेयर पर लागू किया जा सकता है।



