From 94802d1335628f24a48180fe4fabf0a2230bc3b7 Mon Sep 17 00:00:00 2001 From: Andrei Nechaev Date: Wed, 5 Dec 2018 16:26:00 -0500 Subject: [PATCH] fixing output run --- v1/v1.py | 2 +- v2/v2.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/v1/v1.py b/v1/v1.py index 987ca6f..9bd0410 100644 --- a/v1/v1.py +++ b/v1/v1.py @@ -48,4 +48,4 @@ class NVCCPlugin(Magics): except subprocess.CalledProcessError as e: print(e.output.decode("utf8")) output = None - return output \ No newline at end of file + return output diff --git a/v2/v2.py b/v2/v2.py index 68bd6d5..8a2d605 100644 --- a/v2/v2.py +++ b/v2/v2.py @@ -3,12 +3,9 @@ import subprocess from IPython.core.magic import Magics, cell_magic, magics_class from IPython.core.magic_arguments import argument, magic_arguments, parse_argstring - from common import helper compiler = '/usr/local/cuda/bin/nvcc' -out = "result.out" - @magics_class class NVCCPluginV2(Magics): @@ -24,18 +21,22 @@ class NVCCPluginV2(Magics): else: print(f'directory {self.output_dir} already exists') + self.out = os.path.join(current_dir, "result.out") + print(f'Out bin {self.out}') + @staticmethod - def compile(output_dir, file_paths): + def compile(output_dir, file_paths, out): res = subprocess.check_output([compiler, '-I' + output_dir, file_paths, "-o", out], stderr=subprocess.STDOUT) print(res) def run(self, timeit=False): if timeit: - stmt = f"subprocess.check_output(['{out}'], stderr=subprocess.STDOUT)" + stmt = f"subprocess.check_output(['{self.out}'], stderr=subprocess.STDOUT)" output = self.shell.run_cell_magic(magic_name="timeit", line="-q -o import subprocess", cell=stmt) else: - output = subprocess.check_output([out], stderr=subprocess.STDOUT) + output = subprocess.check_output([self.out], stderr=subprocess.STDOUT) output = output.decode('utf8') + return output @magic_arguments() @@ -63,7 +64,7 @@ class NVCCPluginV2(Magics): if args.compile: try: - self.compile(self.output_dir, file_path) + self.compile(self.output_dir, file_path, self.out) output = self.run(timeit=args.timeit) except subprocess.CalledProcessError as e: print(e.output.decode("utf8")) @@ -85,7 +86,7 @@ class NVCCPluginV2(Magics): cuda_src = os.listdir(self.output_dir) cuda_src = [os.path.join(self.output_dir, x) for x in cuda_src if x[-3:] == '.cu'] print(f'found sources: {cuda_src}') - self.compile(self.output_dir, ' '.join(cuda_src)) + self.compile(self.output_dir, ' '.join(cuda_src), self.out) output = self.run(timeit=args.timeit) except subprocess.CalledProcessError as e: print(e.output.decode("utf8"))