From 02bbb215873549a2e999cfc8a635097d904932ad Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Thu, 24 Oct 2019 16:36:55 +0200 Subject: [PATCH] Give every each torch operation its own build_directory --- src/pystencils_autodiff/backends/astnodes.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pystencils_autodiff/backends/astnodes.py b/src/pystencils_autodiff/backends/astnodes.py index 0a1e5c0..acd536f 100644 --- a/src/pystencils_autodiff/backends/astnodes.py +++ b/src/pystencils_autodiff/backends/astnodes.py @@ -8,6 +8,7 @@ """ +import os import sys from collections.abc import Iterable from os.path import dirname, exists, join @@ -102,12 +103,15 @@ class TorchModule(JinjaCppFile): if not exists(file_name): write_file(file_name, source_code) - # TODO: propagate extra headers + + build_dir = join(get_cache_config()['object_cache'], self.module_name) + os.makedirs(build_dir, exist_ok=True) + torch_extension = load(hash, [file_name], with_cuda=self.is_cuda, extra_cflags=['--std=c++14'], - build_directory=get_cache_config()['object_cache'], + build_directory=build_dir, extra_include_paths=[get_pycuda_include_path(), get_pystencils_include_path()]) return torch_extension -- GitLab