1 #ifndef CAFFE_PARALLEL_HPP_ 2 #define CAFFE_PARALLEL_HPP_ 4 #include <boost/date_time/posix_time/posix_time.hpp> 8 #include "caffe/blob.hpp" 9 #include "caffe/common.hpp" 10 #include "caffe/internal_thread.hpp" 11 #include "caffe/layer.hpp" 12 #include "caffe/proto/caffe.pb.h" 13 #include "caffe/solver.hpp" 14 #include "caffe/syncedmem.hpp" 15 #include "caffe/util/blocking_queue.hpp" 22 template<
typename Dtype>
29 inline size_t size()
const {
32 inline Dtype* data()
const {
35 inline Dtype* diff()
const {
44 DISABLE_COPY_AND_ASSIGN(
Params);
48 template<
typename Dtype>
76 static void compute(
const vector<int> devices, vector<DevicePair>* pairs);
84 template<
typename Dtype>
92 inline const shared_ptr<Solver<Dtype> >& solver()
const {
96 void Run(
const vector<int>& gpus);
97 void Prepare(
const vector<int>& gpus,
99 inline const int initial_iter()
const {
return initial_iter_; }
103 void on_gradients_ready();
105 void InternalThreadEntry();
108 vector<P2PSync<Dtype>*> children_;
110 const int initial_iter_;
111 Dtype* parent_grads_;
112 shared_ptr<Solver<Dtype> > solver_;
A layer factory that allows one to register layers. During runtime, registered layers can be called b...
Definition: blob.hpp:14
Definition: parallel.hpp:23
An interface for classes that perform optimization on Nets.
Definition: solver.hpp:41
Definition: parallel.hpp:49
Definition: parallel.hpp:85
Definition: parallel.hpp:62
Definition: internal_thread.hpp:19
Definition: blocking_queue.hpp:10