Pekin universiteti boshligidagi Chen Mohan nazoratidagi tadqiqotchilar guruhining Xitoyda ishlab chiqilgan funksional zichlik nazariyasi (DFT) uchun ochiq kodli ABACUS paketini Huawei Kunpeng 920 protsessorlarining toʻliq liniyasiga moslashtirdi. Bundan tashqari, jamoa 19 xil asosiy operatorlarning turli sinflarini optimallashtirdi. Bu haqida Huawei Computing 31-oktabr sanidagi nashrda maʼlum qildi, bu esa IT Home nashri tomonidan eʼlon qilindi. Kod loyiha repozitoriyasiga GitHub orqali yuklandi.
Funksional zichlik nazariyasi (DFT) metallar va yarimoʻtkazgichlar kabi materiallarning xususiyatlarini oʻrganish uchun asosiy birinchi prinsip usulidir. ABACUS bir nechta muassasalar tomonidan birgalikda ishlab chiqilgan boʻlib, oʻn stagina ortiq tashkilotlar orasida minglab foydalanuvchilarga ega.
Jamoaning maʼlumotlariga koʻra, ikkala tomonni 28 yadrolarga sozlash va har bir yoʻnalish boʻyicha 28 jarayonni bajarish bilan, SVE instruktsiya toʻplamini ishlatadigan Kunpeng 920 yigʻindisi, standart 10 ta material tizimi bilan ishlaganda, ular 8 dan 216 atomgacha boʻlgan hajmdagi GaAs, MoS2, BaTiO3, temir va kremniy kabi tizimlarni oʻz ichiga oladi, standart x86 protsessoriga nisbatan 1,3 dan 3,9 martagacha yuqori tezlikni namoyish etdi. Chipning matritsaviy hisoblash blokidan foydalanganda, bitta tugunning barcha yadrolari ishlayotganda tezlashuv 10,7 martagacha yetdi. Stokastik DFT holatlarida jamoa SVE uchun 2,8 dan 3,1 martagacha, matritsaviy blokdan foydalanilgan yigʻindi uchun esa 6,1 dan 20,1 martagacha tezlik oshishini qayd etdi.
Birinchi bosqich portlash boʻldi, chunki Kunpeng 920 ning turli modellarida vektor instruktsiyalari NEON, SVE yoki SVE512, shuningdek, ajratilgan matritsaviy blok mavjud, ammo umumiy kompilyator opsiyalari ishlatilganda ular ishlatilmaydi. Jamoa alohida vositalar zanjirlarini yaratdi: NEON va SVE yigʻindilari uchun gcc OpenMPI va OpenBLAS bilan, qolganlari uchun esa Huawei tomonidan taqdim etilgan clang HMPI va KBLAS bilan, shuningdek, Kunpeng Matematika kutubxonasini integratsiya qilish uchun USE_KML opsiyasi qoʻshildi. Yigʻilgan barcha versiyalar rejali toʻlqinlar va LCAO Kohn-Sham boʻyicha DFT, stokastik DFT va DeePKSni qamrab oluvchi ABACUS integratsiya testlaridan oʻtdi, natijalar asosiy amalga oshirishlar bilan mos keldi.
Keyin jamoa tez-tez chaqiriladigan kichik operatorlarni qayta yozdi. Umumlashtirilgan Lagerr polinomining rekursiv protsedurasini iterativ rekursivga almashtirish murakkablikni O(n) ga kamaytirdi va uni millionlik testda taxminan sakkiz baravar tezroq qildi. Interpolatsiya qidiruvini ikkilamchi qidiruvga oʻtkazish 400 yozuvli jadvalda oʻrtacha solishtirish sonini taxminan 200 dan toʻqqizgacha kamaytirdi. Boshqa oʻzgarishlarga trigonometrik rekursiyalar, tsikl invariantlarini koʻtarish, aralash aniqlikni sozlash va xotira joylashuvi kiradi, bunda har bir operatorning raqamli natijalari qayta tekshirildi.
Huawei DevKitdagi avtomatik kod optimallashtirishdan foydalangan holda, jamoa shuningdek, 8 atomli yuqori zichlikdagi uglerod holati uchun ishlov berish tezligini 2,28 baravar, 512 atomli kremniy holati uchun esa yangiroq Kunpeng 920 modelida 2,66 baravar oshirdi. Huawei taʼkidlaydiki, erishilgan sozlash tajribasi boshqa ilmiy dasturiy taʼminotga ham qoʻllanilishi mumkin.



