From 5fba1c8c07a8dc99351edc7c3d3784e01ddf583f Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Wed, 20 Sep 2017 14:43:21 +0200 Subject: Remove broken openmp support from CPU kernels The writes to the volume in the (ray-driven) backprojection are not done in a thread-safe way. --- include/astra/FanFlatBeamLineKernelProjector2D.inl | 1 - include/astra/ParallelBeamBlobKernelProjector2D.inl | 1 - include/astra/ParallelBeamLineKernelProjector2D.inl | 1 - include/astra/ParallelBeamLinearKernelProjector2D.inl | 1 - include/astra/ParallelBeamStripKernelProjector2D.inl | 1 - 5 files changed, 5 deletions(-) diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.inl b/include/astra/FanFlatBeamLineKernelProjector2D.inl index 5c8eddf..07d61b5 100644 --- a/include/astra/FanFlatBeamLineKernelProjector2D.inl +++ b/include/astra/FanFlatBeamLineKernelProjector2D.inl @@ -73,7 +73,6 @@ void CFanFlatBeamLineKernelProjector2D::projectBlock_internal(int _iProjFrom, in const float32 Ey = m_pVolumeGeometry->getWindowMaxY() - pixelLengthY*0.5f; // loop angles - #pragma omp parallel for for (int iAngle = _iProjFrom; iAngle < _iProjTo; ++iAngle) { // variables diff --git a/include/astra/ParallelBeamBlobKernelProjector2D.inl b/include/astra/ParallelBeamBlobKernelProjector2D.inl index e11c4d4..a4045dc 100644 --- a/include/astra/ParallelBeamBlobKernelProjector2D.inl +++ b/include/astra/ParallelBeamBlobKernelProjector2D.inl @@ -127,7 +127,6 @@ void CParallelBeamBlobKernelProjector2D::projectBlock_internal(int _iProjFrom, i const int detCount = pVecProjectionGeometry->getDetectorCount(); // loop angles - #pragma omp parallel for for (int iAngle = _iProjFrom; iAngle < _iProjTo; ++iAngle) { // variables diff --git a/include/astra/ParallelBeamLineKernelProjector2D.inl b/include/astra/ParallelBeamLineKernelProjector2D.inl index 3236469..773077d 100644 --- a/include/astra/ParallelBeamLineKernelProjector2D.inl +++ b/include/astra/ParallelBeamLineKernelProjector2D.inl @@ -158,7 +158,6 @@ void CParallelBeamLineKernelProjector2D::projectBlock_internal(int _iProjFrom, i const int detCount = pVecProjectionGeometry->getDetectorCount(); // loop angles - #pragma omp parallel for for (int iAngle = _iProjFrom; iAngle < _iProjTo; ++iAngle) { // variables diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.inl b/include/astra/ParallelBeamLinearKernelProjector2D.inl index fc5935a..6206d80 100644 --- a/include/astra/ParallelBeamLinearKernelProjector2D.inl +++ b/include/astra/ParallelBeamLinearKernelProjector2D.inl @@ -146,7 +146,6 @@ void CParallelBeamLinearKernelProjector2D::projectBlock_internal(int _iProjFrom, const int detCount = pVecProjectionGeometry->getDetectorCount(); // loop angles - #pragma omp parallel for for (int iAngle = _iProjFrom; iAngle < _iProjTo; ++iAngle) { // variables diff --git a/include/astra/ParallelBeamStripKernelProjector2D.inl b/include/astra/ParallelBeamStripKernelProjector2D.inl index 3a21ed6..040ea11 100644 --- a/include/astra/ParallelBeamStripKernelProjector2D.inl +++ b/include/astra/ParallelBeamStripKernelProjector2D.inl @@ -132,7 +132,6 @@ void CParallelBeamStripKernelProjector2D::projectBlock_internal(int _iProjFrom, const int detCount = pVecProjectionGeometry->getDetectorCount(); // loop angles - #pragma omp parallel for for (int iAngle = _iProjFrom; iAngle < _iProjTo; ++iAngle) { // variables -- cgit v1.2.3