VeriGPU แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก แƒฆแƒ˜แƒ GPU-แƒก Verilog แƒ”แƒœแƒแƒ–แƒ”

VeriGPU แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ›แƒ˜แƒ–แƒœแƒแƒ“ แƒ˜แƒกแƒแƒฎแƒแƒ•แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒฆแƒ˜แƒ GPU, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ Verilog แƒ”แƒœแƒแƒ–แƒ” แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ Verilog แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒฉแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ MIT แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ˜แƒ—.

VeriGPU แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜ (ASIC), แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒฃแƒ แƒ˜ แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒ’แƒ”แƒ’แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก PyTorch แƒฆแƒ แƒ›แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ—แƒ›แƒชแƒแƒ“แƒœแƒ”แƒแƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒฉแƒแƒกแƒ—แƒแƒœ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒแƒก แƒ“แƒ VeriGPU-แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก HIP (แƒฐแƒ”แƒขแƒ”แƒ แƒแƒ’แƒ”แƒœแƒฃแƒšแƒ˜-แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜) API-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ API-แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ SYCL แƒ“แƒ NVIDIA CUDA.

GPU แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒ‘แƒ RISC-V แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› GPU แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ˜แƒ“แƒ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ แƒกแƒฃแƒกแƒขแƒแƒ“ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜แƒ RISC-V ISA-แƒกแƒ—แƒแƒœ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒกแƒ”แƒ— แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช GPU แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜ แƒแƒ  แƒฏแƒ“แƒ”แƒ‘แƒ RISC-V แƒฌแƒแƒ แƒ›แƒแƒ›แƒแƒ“แƒ’แƒ”แƒœแƒšแƒแƒ‘แƒแƒจแƒ˜, แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜ RISC-V แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒšแƒแƒ“. แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒ”แƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ—แƒ›แƒชแƒแƒ“แƒœแƒ”แƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ˜แƒžแƒ˜แƒก แƒ›แƒแƒขแƒ แƒ˜แƒชแƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ BF16 แƒ›แƒชแƒฃแƒ แƒแƒ•แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒฅแƒแƒœแƒฃแƒ แƒ˜ แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒชแƒฃแƒ แƒแƒ•แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ exp, log, แƒ—แƒแƒœ แƒ“แƒ แƒกแƒ™แƒ แƒข, แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ.

แƒฃแƒ™แƒ•แƒ” แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ› แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒกแƒแƒ GPU แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜, APU (แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜) แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (โ€œ+โ€,โ€-โ€,โ€/,โ€โ€*โ€) แƒ“แƒ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜ แƒ›แƒชแƒฃแƒ แƒแƒ•แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (โ€œ+,โ€ ,โ€*โ€) แƒ“แƒ แƒ’แƒแƒœแƒจแƒขแƒแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒ˜แƒก แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒก แƒ“แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก C++-แƒจแƒ˜ LLVM-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒš แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒฃแƒšแƒ˜แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ“แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ SIMT (Single instruction multiple thread) แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜.

VeriGPU แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก แƒฆแƒ˜แƒ GPU-แƒก Verilog แƒ”แƒœแƒแƒ–แƒ”


แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ