[FRONTEND] Now cache re-compiles when language changes (#348)

This commit is contained in:
Philippe Tillet
2021-10-13 12:29:57 -07:00
committed by GitHub
parent f5ad168686
commit bfacc191b3

View File

@@ -726,24 +726,24 @@ class Autotuner:
@functools.lru_cache() @functools.lru_cache()
def version_key(): def version_key():
import pkgutil
contents = []
# frontend
with open(triton.code_gen.__file__, "rb") as f: with open(triton.code_gen.__file__, "rb") as f:
frontend_contents = hashlib.md5(f.read()).hexdigest() contents += [hashlib.md5(f.read()).hexdigest()]
# backend
with open(triton._C.libtriton.__file__, "rb") as f: with open(triton._C.libtriton.__file__, "rb") as f:
backend_contents = hashlib.md5(f.read()).hexdigest() contents += [hashlib.md5(f.read()).hexdigest()]
# language
try: for lib in pkgutil.iter_modules(triton.language.__path__):
nvcc_version = hashlib.md5(subprocess.check_output(["nvcc", "--version"])).hexdigest() with open(lib.module_finder.find_spec(lib.name).origin, "rb") as f:
except Exception: contents += [hashlib.md5(f.read()).hexdigest()]
nvcc_version = None # ptxas version
try: try:
ptxas_version = hashlib.md5(subprocess.check_output(["ptxas", "--version"])).hexdigest() ptxas_version = hashlib.md5(subprocess.check_output(["ptxas", "--version"])).hexdigest()
except Exception: except Exception:
ptxas_version = None ptxas_version = None
return (triton.__version__, ptxas_version) + tuple(contents)
return (
triton.__version__, frontend_contents, backend_contents,
nvcc_version, ptxas_version
)
class JITFunction: class JITFunction: