Codegen for custom Accelerators


I have spent some time looking into ways to generate and optimize code for custom accelerators. I stumbled over two different things that seem to be related to this: UMA and BYOC. I wanted to ask what the difference between these two components is and how they are related (if they are at all)?

BYOC is the original way while UMA is a community contribution that uses BYOC under the hood to provide a full python framework for integrating a codegen.

This is how they relate to each other. I believe UMA might not cover all cases but I am not sure.

There are resources for both in the official documentation and on octoml’s youtube channel.

I hope it helps.