LAMA
|
00001 00033 #ifndef LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_ 00034 #define LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_ 00035 00036 #include <boost/weak_ptr.hpp> 00037 00038 #include <lama/config.hpp> 00039 #include <lama/HostContext.hpp> 00040 #include <lama/ContextManager.hpp> 00041 00042 namespace lama 00043 { 00044 00045 class PGASContext; 00046 00054 class LAMA_DLL_IMPORTEXPORT PGASContextManager : public ContextManager 00055 { 00056 00057 public: 00058 00059 virtual ContextPtr getContext(); 00060 00061 virtual ContextPtr getContext(int); 00062 00063 ~PGASContextManager(); 00064 00065 static void setAsCurrent(); 00066 00067 private: 00068 00069 PGASContextManager(); 00070 00071 static boost::weak_ptr<const class PGASContext> contextInstance; 00072 00073 static PGASContextManager theInstance; // singleton instance of this class 00074 }; 00075 00076 } 00077 00078 #endif // LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_