Currently, RunCodegen pass sends one function at a time to an external backend. This prevents sharing some internal states in the backend compiler across compilation of different functions. For example, for CUTLASS BYOC, we want to cache the kernel profiling result to avoid profiling the same workload repeatedly.
Also makes the following changes:
Allow passing compilation options from users' script to the backend compiler. This is required for CUTLASS.
Run RemoveUnusedFunctions inside RunCodegen, since it is necessary.
A part of https://github.com/tlc-pack/relax/issues/364
Currently,
RunCodegen
pass sends one function at a time to an external backend. This prevents sharing some internal states in the backend compiler across compilation of different functions. For example, for CUTLASS BYOC, we want to cache the kernel profiling result to avoid profiling the same workload repeatedly.Also makes the following changes:
RemoveUnusedFunctions
insideRunCodegen
, since it is necessary.cc @sunggg