taco
taco copied to clipboard
Add persistent kernel cache on disk
This adds another layer of kernel caching, that lives on disk and persists between program runs. This includes the generated source, header, and compiled object files for each kernel.
The file name is a hash of the names, types, and formats of each tensor, plus a serialization of the IndexStmt. This should be sufficient to uniquely identify a kernel.
When the environment variable TACO_CACHE_DIR is set, the value is used as the cache directory. If unset, the disk-level cache is disabled.
I have this caching disabled by default, but we could have it enabled with a default directory like ~/.taco/cache or something. What do you think is best?