[FRONTEND] Now cache re-compiles when language
changes (#348)
This commit is contained in:
@@ -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:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user