#ifndef ISAAC_CL_QUEUES_H #define ISAAC_CL_QUEUES_H #include #include #include "isaac/defines.h" #include "isaac/driver/command_queue.h" #include "isaac/driver/context.h" namespace isaac { namespace driver { class ISAACAPI backend { public: typedef std::list > > container_type; private: static std::vector & append( Context const & context); static void cuinit(); static void clinit(); static void init(); public: static container_type const & contexts(); static Context default_context(); static std::vector & default_queues(); static std::vector & queues(Context const &); private: static container_type data_; public: static unsigned int default_device; static cl_command_queue_properties queue_properties; }; ISAACAPI void synchronize(std::vector const &); ISAACAPI void synchronize(Context const &); } } #endif