เปเบเบเบเบฒเบ LLVM เปเบเปเบเปเบฒเบชเบฐเปเบซเบเบตเบเบฒเบเปเบเบตเบเบเบปเบงเบเบญเบ HPVM 2.0 (Heterogeneous Parallel Virtual Machine) compiler, เปเบเบทเปเบญเปเบเปเบชเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเปเบฒเปเบเบตเบเปเบเบเบเบฒเบเบเปเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ heterogeneous เปเบฅเบฐเบชเบฐเบซเบเบญเบเปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบ CPUs, GPUs, FPGAs, เปเบฅเบฐ domain-specific hardware accelerators. เบฅเบฐเบซเบฑเบเปเบเบเบเบฒเบเปเบกเปเบเปเบเบเบขเบฒเบเบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบ Apache 2.0.
เบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฐเบซเบเบฒเบ heterogeneous เปเบกเปเบเบชเบฑเบเบชเบปเบเปเบเบทเปเบญเบเบเบฒเบเบกเบตเบขเบนเปเปเบเบฅเบฐเบเบปเบเบซเบเบถเปเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบเปเบเบปเบงเปเบเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเบเบฑเบเบฅเบธเบเบงเบฒเบกเบเบฐเบซเบเบฒเบ (CPU cores, เบเปเบฒเปเบเบฐเบเปเบฒ vector, GPUs, เปเบฅเบฐเบญเบทเปเบเป), เบเบธเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบฅเบฐเบฅเปเบฒเบเบฑเบเบเบฑเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเปเบฅเบฐเบฅเบฐเบเบปเบเปเบเปเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเบเบปเบเปเบญเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเป. เปเบเบงเบเบงเบฒเบกเบเบดเบเบเบปเปเบเบเปเบเบญเบเปเบเบเบเบฒเบ HPVM เปเบกเปเบเปเบเบทเปเบญเบเปเบฒเปเบเปเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบเบฑเบเบเบฒเปเบเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบเปเบฒเบเปเบเบญเบเบฎเบฒเบเปเบงเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบฐเบซเบเบฒเบ, เบฅเบงเบกเบเบฑเบ GPUs, เบเปเบฒเปเบเบฐเบเปเบฒ vector, เปเบเปเบเบเปเบเบต multi-core, FPGAs, เปเบฅเบฐเบเบดเปเบชเบเบเปเบฒเบเป. เบเบดเบเปเบฅเบฑเปเบ.
เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบเบฅเบฐเบเบปเบเบญเบทเปเบเป, HPVM เบเบฐเบเบฒเบเบฒเบกเบฅเบงเบกเปเบญเบปเบฒเบชเบฒเบกเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบฅเบฐเบเบปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบตเปเบซเบผเบฒเบเบซเบผเบฒเบเบเบฐเบเบดเบ - เบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ (IR), เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบธเบเบเปเบฒเปเบเบฐเบเปเบฒ virtual (V-ISA), เปเบฅเบฐเบเบฒเบเบเปเบฒเบเบปเบเปเบงเบฅเบฒเปเบฅเปเบ, เปเบญเบเบฐเบฅเบฒเบเบเบญเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเปเบฅเบฐเบญเบธเบเบฐเบเบญเบ:
- เบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ HPVM เบเบฐเบซเบเบฒเบเบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบเบญเบเบเปเบฒเปเบเบฐเบเปเบฒ LLVM เปเบเบเปเบเปเปเบชเบฑเปเบเบชเบฐเปเบเบเบเปเปเบกเบนเบเบเบฒเบเปเบซเบผเปเบเบปเปเบฒเบเบญเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเปเบเบทเปเบญเปเบเบฑเบเบเปเบฒเบเบงเบฒเบกเบเบฐเบซเบเบฒเบเปเบเบฅเบฐเบเบฑเบเบเบญเบเบงเบฝเบเบเบฒเบ, เบเปเปเบกเบนเบ, เปเบฅเบฐเบเปเปเบเบญเบกเบเบดเบงเปเบเบตเป. เบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ HPVM เบเบฑเบเบเบฐเบเบญเบเบกเบตเบเปเบฒเปเบเบฐเบเปเบฒ vector เปเบฅเบฐเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเปเบเปเบฎเปเบงเบกเบเบฑเบ. เบเบธเบเบเบฐเบชเบปเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบเบปเบงเบเบฒเบเบซเบเปเบฒเบฅเบฐเบเบฑเบเบเบฒเบเปเบกเปเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฅเบฐเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ heterogeneous.
- Virtual Instruction Set Architecture (V-ISA) abstracts เบฎเบฒเบเปเบงเบฅเบฐเบเบฑเบเบเปเปเบฒ เปเบฅเบฐเบเบฐเบเบญเบเบฎเบนเบเปเบเบเบเปเบฒเบเปเบเบญเบเบเบฐเปเบฒเบ เปเบฅเบฐเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณเปเปเบงเบเบเบงเบฒเบกเบเบณเปเบเบเปเบเปเบเบฝเบเบเบปเบงเปเบเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ, Data Flow Graph. V-ISA เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฑเบเบฅเบธเบเบฒเบเปเบเบทเปเบญเบเบเบตเปเบฅเบฐเบซเบงเปเบฒเบเบเบฐเปเบเบเบเปเบฒเบเปเบเบญเบเบฎเบฒเบเปเบงเบชเปเบฒเบฅเบฑเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบฐเบซเบเบฒเบเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเปเบชเบนเบเปเบชเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเปเบเปเบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบญเบเบฅเบฐเบเบปเบ heterogeneous. Virtual ISA เบเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเบปเปเบเบฅเบฐเบซเบฑเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเบเบปเปเบงเปเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฝเบงเบเบฑเบ CPUs, GPUs, FPGAs, เปเบฅเบฐเปเบเบทเปเบญเบเปเบฅเบฑเปเบเบเปเบฒเบเป.
- เบเบฐเปเบเบเบฒเบเบเบฒเบเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบญเบกเบเบดเบงเปเบเบตเปเปเบเบเบเบทเบเบซเบเบธเปเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเปเปเบเปเบงเบฅเบฒเปเบฅเปเบเปเบฅเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบฑเบเบเบปเบเบเบทเปเบเบเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเปเบเปเบเบก (เปเบเบเบชเปเบฒเบเบเบฒเบ) เปเบฅเบฐเปเบเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบเบญเบเปเบเปเบฅเบฐเปเบเบฅเปเบเบฅเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบญเบธเบเบฐเบเบญเบเบเบญเบกเบเบดเบงเปเบเบตเปเปเบเบปเปเบฒเบซเบกเบฒเบเปเบเปเบเบตเปเบกเบตเบขเบนเปเปเบเบฅเบฐเบเบปเบ.
เปเบเบทเปเบญเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบกเปเบเบชเบฒเบกเบฒเบเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเปเบฒเบเบปเบเปเบเบเปเบเป virtual ISA เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบเปเบเป NVIDIA GPUs (cuDNN เปเบฅเบฐ OpenCL), Intel AVX vector เบเปเบฒเปเบเบฐเบเปเบฒ, FPGAs, เปเบฅเบฐ multi-core x86 CPUs. เบกเบฑเบเปเบเปเบเบทเบเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบปเบงเปเบ HPVM เปเบกเปเบเบเบฝเบเบเบฑเบเบฅเบฐเบซเบฑเบ OpenCL เบเบตเปเบเบฝเบเบเปเบงเบเบเบปเบเปเบญเบเบชเปเบฒเบฅเบฑเบ GPUs เปเบฅเบฐเบญเบธเบเบฐเบเบญเบเบเบญเบกเบเบดเบงเปเบเบตเป vector.
เบเบฐเบงเบฑเบเบเบฐเบเปเบฒเบซเบผเบฑเบเบเบญเบ HPVM 2.0:
- เบเบฒเบเปเปเบฒเบเบญเบเบเบฒเบชเบฒ Hetero-C++ เปเบเปเบเบทเบเบชเบฐเปเปเบต, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฐเปเบฒเบเบเบฑเบเบเปเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ C/C++ เบชเบณเบฅเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบ HPVM. Hetero-C++ เบเบณเบเบปเบเบชเปเบงเบเบเบฐเบซเบเบฒเบเบชเบณเบฅเบฑเบเบเบงเบฒเบกเบเบฐเปเบฒเบเบฅเบฐเบเบฑเบเบเปเปเบกเบนเบ เปเบฅเบฐเปเปเบฒเบงเบฝเบเบเบฒเบกเบฅเบณเบเบฑเบเบเบตเปเบชเปเบฒเบเปเบเบเบเบตเปเปเบชเปเบเบฃเบฒเบเบเบฐเบเบนเป HPVM.
- backend FPGA เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบทเปเบญเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบเปเบ Intel FPGA. เปเบเบทเปเบญเบเบฑเบเบเบฑเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, Intel FPGA SDK เบชเปเบฒเบฅเบฑเบ OpenCL เบเบทเบเบเปเบฒเปเบเป.
- เบเบญเบ DSE (Design Space Exploration) เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒ, เปเบเบดเปเบเบฅเบงเบกเบกเบตเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบปเบเปเบเบเบฒเบเบเบญเบเบเบปเปเบเบซเบฒเบเปเบเบงเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเบฅเบฐเบเบฐเบเบญเบกเบฎเบฒเบเปเบง. เบเบญเบเบกเบตเบฎเบนเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเบฝเบกเบเปเบญเบกเบชเปเบฒเบฅเบฑเบ FPGA เบเบฒเบ Intel เปเบฅเบฐเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเบเบเปเบเบตเบเบญเบเบเปเบฒเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบเปเบเปเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบ HPVM. เบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเปเบเบฑเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบเบฃเบฒเบ HPVM dataflow เปเบฅเบฐเปเบเบฅเบฐเบเบฑเบ LLVM.
- เบญเบปเบเบเบฐเบเบญเบ LLVM เปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเปเบเบฑเบเปเบงเบตเบเบฑเบ 13.0.
- เบฅเบฐเบซเบฑเบเปเบเปเบเบทเบเบเบฑเบเบฅเบฝเบเปเบซเบกเปเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบฒเบเบเปเปเบเบฒเบเบเปเบฒเบเบฒเบเบเปเบฒเบ codebase, เบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เปเบฅเบฐเบเบปเบเบเบฐเปเบซเบเบ.
- เปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบ, เบเบฒเบเบเบปเบเบชเบญเบเปเบซเบกเปเปเบเปเบเบทเบเปเบเบตเปเบกเบชเปเบฒเบฅเบฑเบเบญเบปเบเบเบฐเบเบญเบ HPVM เบเปเบฒเบเป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru