nn-512 kompajler za generisanje C koda za neuralne mreze i AVX512

  • Začetnik teme Začetnik teme bmaxa
  • Datum pokretanja Datum pokretanja

bmaxa

Legenda
Poruka
70.808
Zgodna stvarcica za ljubitelje AVX512:
Introduction

NN-512 is a compiler that generates C99 code for neural net inference
It takes as input a simple text description of a convolutional neural net inference graph
It produces as output a stand-alone C99 implementation of that graph
The generated C99 code uses AVX-512 vector instructions to perform inference

The generated C99 code is human-readable and should be compiled with GCC 9.1 or later
Earlier versions of GCC may also be used, yielding slightly inferior object code
The generated C99 code has no dependencies outside the C POSIX library
NN-512 is a Go program with no dependencies outside the Go standard library
The NN-512 compiler executable is stand-alone

NN-512 performs a variety of inference graph optimizations
Fusion of elementwise operations into adjacent operations
Fusion of similar convolutions (as needed for, e.g., ResNet)
Removal of concatenations (as needed for, e.g., DenseNet)
End-to-end planning of memory layout

NN-512 generates specialized code for each tensor operation
Guided by a description of the target CPU cache hierarchy
Thread-level parallelism is maximized while limiting synchronization costs
Simplified code is generated for tensor edges, exploiting tile/vector overhang
Complete knowledge of memory layout simplifies addressing

Izvor: https://nn-512.com/
 
Nego, AVX512 je Intel eksluzivan instrukcijski set koji se moze naci samo na Xeon-ima i na HEDT procesorima, i sledeca je iteracija
u AVX 256 bitnim instrukcijama. Koristi se za paralelnu/vektorsku obradu podataka tako sto jedna instrukcija obradjuje paralelno
matematicku operaciju. Dakle nije nesto sto ce koristiti prosecnom korisniku.
E sad neuralne mreze se koriste u naucnim istrazivanjima pa su njima i dostupni ovakvi procesori, a ovo je kompajler
koji jednostavan deskriptivni tekst neuronske mreze prevodi u C99 kod, tacnije korsti C intrinsice za AVX512, pa stoga
pojednostavljuje programiranje ovakvih neuralni mreza. Kome ovo treba, znace i sta sa time, ovo je cisto znacajno mozda nekom
ko se ovim bavi.
 

Back
Top