#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 queues_type { public: typedef std::list > > container_type; private: std::vector & append( Context const & context); void cuinit(); void clinit(); void init(); public: queues_type(); container_type const & contexts(); Context default_context(); std::vector & default_queues(); std::vector & operator[](Context const &); private: container_type data_; public: unsigned int default_device; cl_command_queue_properties queue_properties; }; void synchronize(std::vector const &); void synchronize(Context const &); extern queues_type queues; } } #endif