31 #ifndef COMPUTATION_MANAGER_H__ 32 #define COMPUTATION_MANAGER_H__ 41 template <
typename T>
class SGMatrix;
45 #ifndef DOXYGEN_SHOULD_SKIP_THIS 46 class ComputationManager
50 ~ComputationManager();
53 SGMatrix<float32_t>& data(
index_t i);
55 void enqueue_job(std::function<
float32_t(SGMatrix<float32_t>)> job);
56 void compute_data_parallel_jobs();
57 void compute_task_parallel_jobs();
59 std::vector<float32_t>& result(
index_t i);
61 ComputationManager& use_cpu();
62 ComputationManager& use_gpu();
65 std::vector<SGMatrix<float32_t> > data_array;
66 std::vector<std::function<float32_t(const SGMatrix<float32_t>&)> > job_array;
67 std::vector<std::vector<float32_t> > result_array;
69 #endif // DOXYGEN_SHOULD_SKIP_THIS 74 #endif // COMPUTATION_MANAGER_H__
all of classes and functions are contained in the shogun namespace