diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-11-09 20:57:31 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2018-01-09 14:23:54 +0100 |
commit | 0ad6cb01b9176e99c3e4bb5643ac6a5dd477aad6 (patch) | |
tree | 69b27fa6406cf318d785c827e1fd05b786da2876 /src | |
parent | de27e439a0c59fade175fba4e0b4a1e0c84b933d (diff) | |
download | astra-0ad6cb01b9176e99c3e4bb5643ac6a5dd477aad6.tar.gz astra-0ad6cb01b9176e99c3e4bb5643ac6a5dd477aad6.tar.bz2 astra-0ad6cb01b9176e99c3e4bb5643ac6a5dd477aad6.tar.xz astra-0ad6cb01b9176e99c3e4bb5643ac6a5dd477aad6.zip |
Check for CUDA support at run-time in use_cuda()
Diffstat (limited to 'src')
-rw-r--r-- | src/CompositeGeometryManager.cpp | 3 | ||||
-rw-r--r-- | src/Globals.cpp | 16 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/CompositeGeometryManager.cpp b/src/CompositeGeometryManager.cpp index 8af430c..cfc2db3 100644 --- a/src/CompositeGeometryManager.cpp +++ b/src/CompositeGeometryManager.cpp @@ -43,6 +43,7 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>. #include "astra/Float32VolumeData3DGPU.h" #include "astra/Logging.h" +#include "../cuda/2d/astra.h" #include "../cuda/3d/mem3d.h" #include <cstring> @@ -1653,7 +1654,7 @@ bool CCompositeGeometryManager::doJobs(TJobList &jobs) // Get memory from first GPU. Not optimal... if (!m_GPUIndices.empty()) astraCUDA3d::setGPUIndex(m_GPUIndices[0]); - maxSize = astraCUDA3d::availableGPUMemory(); + maxSize = astraCUDA::availableGPUMemory(); if (maxSize == 0) { ASTRA_WARN("Unable to get available GPU memory. Defaulting to 1GB."); maxSize = 1024 * 1024 * 1024; diff --git a/src/Globals.cpp b/src/Globals.cpp index 0edb397..bbe0c2f 100644 --- a/src/Globals.cpp +++ b/src/Globals.cpp @@ -26,9 +26,19 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>. */ #include "astra/Globals.h" +#include "cuda/2d/astra.h" + +namespace astra { + +bool running_in_matlab=false; + +_AstraExport bool cudaAvailable() { +#ifdef ASTRA_CUDA + return astraCUDA::availableGPUMemory() > 0; +#else + return false; +#endif +} -namespace astra{ - bool running_in_matlab=false; } -// nothing to see here :) |