VeriGPU ပရောဂျက်သည် Verilog ဘာသာစကားဖြင့် ဖွင့်ထားသော GPU ကို တီထွင်သည်။

VeriGPU ပရောဂျက်သည် အီလက်ထရွန်နစ်စနစ်များကို ဖော်ပြရန်နှင့် မော်ဒယ်လ်များဖော်ပြရန်အတွက် Verilog ဘာသာစကားဖြင့် တီထွင်ထားသည့် ပွင့်လင်း GPU ကို ဖန်တီးရန် ရည်ရွယ်သည်။ ကနဦးတွင်၊ ပရောဂျက်ကို Verilog simulator အသုံးပြု၍ တီထွင်ထားသော်လည်း ပြီးသည်နှင့် အမှန်တကယ် ချစ်ပ်များထုတ်လုပ်ရန်အတွက် အသုံးပြုနိုင်သည်။ ပရောဂျက်၏တိုးတက်မှုများကို MIT လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

VeriGPU သည် စက်သင်ယူမှုစနစ်များနှင့် ဆက်စပ်သော တွက်ချက်မှုများကို အရှိန်မြှင့်ရန်အတွက် အပလီကေးရှင်း-သတ်သတ်မှတ်မှတ် ပရိုဆက်ဆာ (ASIC) အဖြစ် နေရာချထားပါသည်။ အစီအစဥ်များတွင် PyTorch နက်နဲသော စက်သင်ယူမှုဘောင်နှင့် လိုက်ဖက်ညီမှု နှင့် HIP (Heterogeneous-Compute Interface) API ကို အသုံးပြု၍ VeriGPU အတွက် အပလီကေးရှင်းများ တီထွင်နိုင်စွမ်း ပါဝင်သည်။ အနာဂတ်တွင်၊ SYCL နှင့် NVIDIA CUDA ကဲ့သို့သော အခြားသော API များအတွက် ပံ့ပိုးကူညီမှုကို ထည့်သွင်းနိုင်မည်ဖြစ်သည်။

GPU သည် RISC-V ညွှန်ကြားချက်အစုံမှ ဆင့်ကဲပြောင်းလဲလာသော်လည်း GPU ညွှန်ကြားချက်အစုံ၏အတွင်းပိုင်းဗိသုကာသည် RISC-V ISA နှင့် အားနည်းစွာသဟဇာတဖြစ်နေသောကြောင့် GPU ဒီဇိုင်းသည် RISC-V ကိုယ်စားပြုမှုနှင့် မကိုက်ညီသည့်အခြေအနေများတွင်၊ RISC-V လိုက်ဖက်ညီမှုကို ထိန်းသိမ်းရန် မရည်ရွယ်ပါ။ ဖွံ့ဖြိုးတိုးတက်မှုသည် စက်သင်ယူမှုစနစ်များအတွက် လိုအပ်သောစွမ်းရည်များကို အာရုံစိုက်ထားသောကြောင့် Chip matrix ၏အရွယ်အစားနှင့် ရှုပ်ထွေးမှုကို လျှော့ချရန်အတွက် BF16 floating point format ကိုသာအသုံးပြုပြီး machine learning အတွက်လိုအပ်သော floating point operations များဖြစ်သည့် exp၊ log၊ tanh နှင့် sqrt တို့ကို ရရှိနိုင်ပါသည်။

ရရှိပြီးသား အစိတ်အပိုင်းများထဲတွင် GPU ထိန်းချုပ်ကိရိယာ၊ ကိန်းပြည့်လည်ပတ်မှုများအတွက် APU (အရှိန်မြှင့်လုပ်ဆောင်ခြင်းယူနစ်) (“+”၊”-“၊”/၊”၊”*”) နှင့် ရေပေါ်အမှတ်လုပ်ဆောင်မှုများအတွက် ယူနစ် (“+၊” ,”*”) နှင့် အကိုင်းအခက်တစ်ခု။ အပလီကေးရှင်းများဖန်တီးရန်၊ ၎င်းသည် LLVM ကိုအခြေခံ၍ C++ ကုဒ်ကိုပြုစုရန်အတွက် တပ်ဆင်သူနှင့်ပံ့ပိုးမှုပေးသည်။ စီစဉ်ထားသော လုပ်ဆောင်နိုင်စွမ်းများထဲတွင်၊ ညွှန်ကြားချက်များကို အပြိုင်လုပ်ဆောင်ခြင်း၊ ဒေတာနှင့် ညွှန်ကြားချက်မှတ်ဉာဏ်ကို သိမ်းဆည်းခြင်း နှင့် SIMT (တစ်ခုတည်း ညွှန်ကြားချက်မျိုးစုံ အပ်ချည်များ) လုပ်ဆောင်ချက်များကို မီးမောင်းထိုးပြထားသည်။

VeriGPU ပရောဂျက်သည် Verilog ဘာသာစကားဖြင့် ဖွင့်ထားသော GPU ကို တီထွင်သည်။


source: opennet.ru

မှတ်ချက် Add