LLVM qhov project tau qhia HPVM 1.0, ib qho compiler rau CPU, GPU, FPGA thiab accelerators

Cov neeg tsim tawm ntawm LLVM qhov project tau tshaj tawm qhov kev tso tawm ntawm HPVM 1.0 (Heterogeneous Parallel Virtual Machine) compiler, tsom rau kev ua kom yooj yim rau cov txheej txheem sib txawv thiab muab cov cuab yeej tsim cov cai rau CPUs, GPUs, FPGAs thiab domain-specific hardware accelerators (txhawb rau FGPAs thiab accelerators tsis suav nrog hauv 1.0 tso tawm). Txoj haujlwm code raug faib raws li Apache 2.0 daim ntawv tso cai.

Lub tswv yim tseem ceeb ntawm HPVM yog los muab ib qho kev sib koom ua ke ntawm cov kev pabcuam thaum uas tig mus-executable thaum muab tso ua ke, uas tuaj yeem siv rau kev ua tiav siv ntau hom kev kho vajtse uas txhawb nqa kev sib txuas, suav nrog GPUs, cov lus qhia vector, multi-core processors, FPGAs thiab ntau yam tshwj xeeb accelerator chips. Tsis zoo li lwm lub tshuab, HPVM tau sim ua ke peb lub peev xwm los teeb tsa cov kev suav sib txawv: hom lus- thiab kho vajtse-kev ywj pheej ntawm tus sawv cev nruab nrab, kev qhia ntawv virtual (ISA), thiab sijhawm teem sijhawm.

HPVM lub hom phiaj-kev ywj pheej nruab nrab ntawm tus sawv cev (IR) tsim los ntawm LLVM 9.0 kev qhia nruab nrab ntawm cov neeg sawv cev thiab txuas nws nrog cov ntaub ntawv hierarchical flow graph kom ntes cov hauj lwm-, cov ntaub ntawv-, thiab cov kav dej-theem parallelism. HPVM tus sawv cev nruab nrab kuj suav nrog cov lus qhia vector thiab kev nco sib koom. Lub hom phiaj tseem ceeb ntawm kev siv ib qho kev sawv cev nruab nrab yog kev tsim cov cai tsim tau zoo thiab kev ua kom zoo rau cov txheej txheem heterogeneous.

Cov txheej txheem kev qhia virtual (ISA) tso cai rau kev txav mus los ntawm ntau hom kev sib txuas ntawm cov khoom siv sib txuas thiab ua rau nws tsis tuaj yeem poob kev ua haujlwm thaum siv cov khoom sib txawv ntawm cov txheej txheem sib txawv. Virtual ISA tseem tuaj yeem siv los xa cov txheej txheem kev ua haujlwm thoob ntiaj teb uas tuaj yeem khiav siv CPUs, GPUs, FPGAs, thiab ntau yam accelerators.

Nyob rau theem tam sim no ntawm txoj kev loj hlob, HPVM muaj cov lej tsim hluav taws xob muaj peev xwm los txhais cov ntawv thov nodes txhais tau siv lub virtual ISA rau kev ua tiav siv NVIDIA GPUs (cuDNN thiab OpenCL), Intel AVX vector cov lus qhia thiab multi-core x86 CPUs. Thaum lub sijhawm ua haujlwm, HPVM siv cov txheej txheem kev teeb tsa cov txheej txheem hloov tau yooj yim, tau siv ob qho tib si raws li cov ntaub ntawv qhia txog kev ua haujlwm (daim duab qauv) thiab los ntawm kev sau cov kev pab cuam ntawm ib tus neeg rau kev ua tiav ntawm ib qho ntawm cov phiaj xwm kev lag luam muaj nyob hauv qhov system.

Nws tau raug sau tseg tias kev siv HPVM tuaj yeem ua tiav qhov kev tsim tau zoo. Qhov kev ua tau zoo ntawm HPVM cov neeg txhais lus yog piv rau tes sau OpenCL code rau GPUs thiab vector xam cov khoom siv.

Piv rau thawj qhov kev tso tawm ua ntej, HPVM 1.0 suav nrog kev txhawb nqa rau kev ua haujlwm algebra tensor, frontends rau Pytorch thiab Keras, convolution operator approximations, thiab approximation tuning moj khaum uas tau xaiv qhov kev kwv yees zoo tshaj plaws rau kev ua haujlwm tensor tshwj xeeb thiab xaiv cov kev teeb tsa uas muab kev ua haujlwm zoo.

Tau qhov twg los: opennet.ru

Ntxiv ib saib