diff --git a/python/dune/codegen/sumfact/autotune.py b/python/dune/codegen/sumfact/autotune.py index c2a0272f2eeab98234c2cf5a6dadb0db656163fc..59ad1886072619a9fbac956f402f95a7d9e26662 100644 --- a/python/dune/codegen/sumfact/autotune.py +++ b/python/dune/codegen/sumfact/autotune.py @@ -194,10 +194,10 @@ def autotune_realization(sf): basename = "autotune_sumfact_{}".format(sf.function_name) basename = hashlib.sha256(basename.encode()).hexdigest() - basename = os.path.join(dir, basename) + filename = os.path.join(dir, "{}.cc".format(basename)) logname = os.path.join(dir, "{}.log".format(basename)) - lock = "{}.lock".format(basename) + lock = os.path.join(dir, "{}.lock".format(basename)) # Generate and compile a benchmark program with cache_restoring(): @@ -205,7 +205,7 @@ def autotune_realization(sf): if not os.path.isfile(logname): generate_standalone_code(sf, filename) - ret = subprocess.call(compiler_invocation(name, filename)) + ret = subprocess.call(compiler_invocation(basename, filename)) if ret != 0: raise CodegenAutotuneError("Compilation of autotune executable failed. Invocation: {}".format(" ".join(compiler_invocation(name, filename)))) @@ -216,7 +216,7 @@ def autotune_realization(sf): call.append(wrapper) # Run the benchmark program - call.append(name) + call.append(basename) call.append(logname) devnull = open(os.devnull, 'w') ret = subprocess.call(call, stdout=devnull, stderr=subprocess.STDOUT)