diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2016-02-02 14:25:01 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <wjp@usecode.org> | 2016-02-02 14:25:01 +0100 |
commit | 278618e2f70f6b1308bf9c0aa79f76137cc582c1 (patch) | |
tree | c7f402b60e4baa529149a44bbe3fa2570ed610b2 /include/astra/CompositeGeometryManager.h | |
parent | cd12edcd3ada212f27088a4e26e3eee5f89bcbad (diff) | |
parent | b529ff854f0e1191108e31d6be294d31b50c666e (diff) | |
download | astra-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/astra/CompositeGeometryManager.h')
-rw-r--r-- | include/astra/CompositeGeometryManager.h | 16 |
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; }; } |