In the meeting today, I asked if anyone was interested in targeting CIRCT as a backend for npcomp. I previously brought this up on the npcomp forum here: [npcomp] CIRCT integration. It seems like we can connect the dots between npcomp and CIRCT, enabling high-level synthesis of Python-based array programming frameworks like NumPy, TensorFlow, PyTorch, etc.
Right now, npcomp’s reference backend accepts a mix of std
elementwise ops on tensors and linalg
named ops on tensors. This level of abstraction is not much higher than what CIRCT can lower into handshake
. I’m going to start investigating what needs to happen to pave a path from npcomp’s IR to handshake
.
Is anyone else from the CIRCT camp interested in this? This is something I’m planning to allocate some cycles to in the near term, and I’d love to collaborate.