From 0c2607836e2dc3fcdf6d2c109ad35824b9df6b27 Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Fri, 13 Mar 2020 14:25:40 +0100 Subject: [PATCH] Avoid copying of projection matrices on each kernel call --- src/pyronn_torch/PYRO-NN-Layers | 2 +- src/pyronn_torch/conebeam.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pyronn_torch/PYRO-NN-Layers b/src/pyronn_torch/PYRO-NN-Layers index 32dd8e7..1d10af3 160000 --- a/src/pyronn_torch/PYRO-NN-Layers +++ b/src/pyronn_torch/PYRO-NN-Layers @@ -1 +1 @@ -Subproject commit 32dd8e7e0f43fc80a5ef905535c5212dea0c0773 +Subproject commit 1d10af309ff19d637bf4e991f4cb0aa58b561840 diff --git a/src/pyronn_torch/conebeam.py b/src/pyronn_torch/conebeam.py index 5343f8c..aa0819e 100644 --- a/src/pyronn_torch/conebeam.py +++ b/src/pyronn_torch/conebeam.py @@ -155,7 +155,7 @@ class ConeBeamProjector: if self._projection_matrices_numpy is None: return self._projection_matrices = torch.stack(tuple( - map(torch.from_numpy, self._projection_matrices_numpy))).cpu().contiguous() + map(torch.from_numpy, self._projection_matrices_numpy))).cuda().contiguous() inv_spacing = np.array([1/s for s in reversed(self._volume_spacing)], np.float32) @@ -167,6 +167,6 @@ class ConeBeamProjector: inv_matrices = map(lambda x: (np.linalg.inv(x[:3, :3]) * inv_spacing).astype(np.float32), self._projection_matrices_numpy) - self._inverse_matrices = torch.stack(tuple(map(torch.from_numpy, inv_matrices))).cpu().contiguous() - self._source_points = torch.stack(tuple(map(torch.from_numpy, source_points))).cpu().contiguous() + self._inverse_matrices = torch.stack(tuple(map(torch.from_numpy, inv_matrices))).cuda().contiguous() + self._source_points = torch.stack(tuple(map(torch.from_numpy, source_points))).cuda().contiguous() self._projection_multiplier = 1. -- GitLab