tenstorrent / tt-metal

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

Reverse DST & SRC srg order in data movement APIs #6481

Open jvasilje opened 6 months ago

jvasilje commented 6 months ago

TT-Metallium data movement APIs are (SRC, DST, size).

But... void memcpy( void dest, const void* src, std::size_t count );

Let's reverse DST & SRC to make it more intuitive.

btw. this is a global reverse on all kernels.

artem-erofeev commented 5 months ago

⏳ If ever, now is the best time for this change

Many can adjust to the src, dst, count, but it is true, dest, src, count is a pattern in C. Consistency goes a long way.

The existing code, including a code from George's repo, will stop working. Unless it is run on a specific version of tt-metal. I assume the impact of the change at this stage is tolerable.

Ideally, we are to make this change and to find a way to inform consumers loud and clear 🪓 of this API change. Most skip completely or skim over the release notes and can easily miss this update.

I bet this is not the first breaking change. Do you have an approach to backward compatibility? Are you in the "move fast break things" mode?