summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2016-02-02 14:25:01 +0100
committerWillem Jan Palenstijn <wjp@usecode.org>2016-02-02 14:25:01 +0100
commit278618e2f70f6b1308bf9c0aa79f76137cc582c1 (patch)
treec7f402b60e4baa529149a44bbe3fa2570ed610b2 /include
parentcd12edcd3ada212f27088a4e26e3eee5f89bcbad (diff)
parentb529ff854f0e1191108e31d6be294d31b50c666e (diff)
downloadastra-278618e2f70f6b1308bf9c0aa79f76137cc582c1.tar.gz
astra-278618e2f70f6b1308bf9c0aa79f76137cc582c1.tar.bz2
astra-278618e2f70f6b1308bf9c0aa79f76137cc582c1.tar.xz
astra-278618e2f70f6b1308bf9c0aa79f76137cc582c1.zip
Merge pull request #107 from wjp/multi
Add multi-GPU support to CompositeGeometryManager
Diffstat (limited to 'include')
-rw-r--r--include/astra/CompositeGeometryManager.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h
index 6610151..49d02a7 100644
--- a/include/astra/CompositeGeometryManager.h
+++ b/include/astra/CompositeGeometryManager.h
@@ -50,9 +50,16 @@ class CProjectionGeometry3D;
class CProjector3D;
+struct SGPUParams {
+ std::vector<int> GPUIndices;
+ size_t memory;
+};
+
class _AstraExport CCompositeGeometryManager {
public:
+ CCompositeGeometryManager();
+
class CPart;
typedef std::list<boost::shared_ptr<CPart> > TPartList;
class CPart {
@@ -139,10 +146,19 @@ public:
bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);
bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);
+ void setGPUIndices(const std::vector<int>& GPUIndices);
+
+ static void setGlobalGPUParams(const SGPUParams& params);
+
protected:
bool splitJobs(TJobSet &jobs, size_t maxSize, int div, TJobSet &split);
+ std::vector<int> m_GPUIndices;
+ size_t m_iMaxSize;
+
+
+ static SGPUParams* s_params;
};
}