tenstorrent / tt-metal

:metal: TT-NN operator library, and TT-Metalium low level kernel programming model.
Apache License 2.0
303 stars 26 forks source link

Create `kernel_profiler.cpp` to better manage profiler globals and avoid double allocation of functions #6748

Open mo-tenstorrent opened 3 months ago

mo-tenstorrent commented 3 months ago

When we ask for guaranteed markers on kernel side, init and finish are doubly allocated for kernel side as well.

This is very wasteful and for eth_idle running dispatch, it causes hitting code size limits

mo-tenstorrent commented 2 months ago

Multiple globals are also doubly allocated

mo-tenstorrent commented 2 months ago

So are many structs and classes that are doubly allocated

mo-tenstorrent commented 1 month ago

create kernel.cpp and link it properly in jit build