3 ms·
Question to the community: At some point, I may want to work towards implementing a small tensor-core (or a vertex/pixel shader as in "GPU implementation of neu
by hikingsimulator 4y ago
Question to the community: At some point, I may want to work towards implementing a small tensor-core (or a vertex/pixel shader as in "GPU implementation of neural networks," Oh&Jung, 2004) for a toy ml project. Do you have some materials to recommend that would teach me how I should/could proceed?
Thanks a lot.
- emacs28 4y agoOne good approach could be to base the architecture on the TPU v1 from [1]. There are also open-source accelerators you could get inspiration from, for example [2][3]. If you want to do less work/not hand code the RTL yourself then you could look into methods for automatically mapping OpenCL to an FPGA accelerator architecture (or a service like [3] provides pre-designed architectures for multiple FPGAs). [1] https://arxiv.org/abs/1704.04760 https://arxiv.org/abs/1704.04760 [2] https://github.com/jofrfu/tinyTPU https://github.com/jofrfu/tinyTPU [3] https://github.com/tensil-ai/tensil https://github.com/tensil-ai/tensil
- hikingsimulator 4y agoThanks!
- Const-me 4y agoTensor cores are simply multiplying matrices. Relatively easy to do with a compute shader. Here's an example of such shader in D3D11: https://github.com/Const-me/Whisper/blob/master/ComputeShaders/mulMatTiled.hlsl https://github.com/Const-me/Whisper/blob/master/ComputeShade...