tenstorrent / tt-metal

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

Improve API docs #13718

Open afuller-TT opened 1 month ago

afuller-TT commented 1 month ago

From the community:

API-level docs that actually say interesting things. For example. https://docs.tenstorrent.com/tt-metalium/latest/tt_metal/apis/host_apis/buffers/CreateBuffer.html currently tells you basically nothing; all the interesting bits are in InterleavedBufferConfig / ShardedBufferConfig, which the page tells you nothing about.

Ex: In InterleavedBufferConfig. How does page size effect things on the metal and what are performance implications?

kernels used in the metal programming_examples folder is not documented

with documentation improvments, there should be more example usages. so i dont have to look at the test files every time <@1292970459431833723> . this is for both ttnn and tt-metal

there should also be docs for intermed buffers too

https://docs.tenstorrent.com/tt-metalium/latest/tt_metal/apis/kernel_apis/sfpu/llk.html this could be improved too, perhaps into a full tutorial on how to implement your owm LLKs?

+1 to that, i was reading those docs and didnt even really understand what the low level kernels were for

zzigler-tt commented 6 days ago

@bbeggsTT please look into this.

bbeggsTT commented 4 days ago

host APIs here: https://github.com/tenstorrent/tt-metal/blob/main/tt_metal/host_api.hpp

Adding API explanations here will fix this problem. Some APIs have explanations, many have almost nothing.

bbeggsTT commented 4 days ago

compute kernel APIs: https://github.com/tenstorrent/tt-metal/blob/main/tt_metal/include/compute_kernel_api.h

bbeggsTT commented 4 days ago

kernel argument APIs: https://github.com/tenstorrent/tt-metal/blob/main/tt_metal/include/compute_kernel_api/common.h