}
};
- cpu_memory_t(const pd_t *mpd)
- : cpu_primitive_t(&conf_, input_vector(), output_vector(1, this))
- , conf_(*mpd), data_(nullptr) {}
+ cpu_memory_t(const pd_t *apd)
+ : cpu_primitive_t(apd, input_vector(), output_vector(1, this))
+ , data_(nullptr) {}
virtual ~cpu_memory_t() {}
- virtual void execute(mkldnn::impl::event_t *e)
+ virtual void execute(mkldnn::impl::event_t *e) const
{ e->set_state(event_t::ready); }
virtual status_t get_data_handle(void **handle) const {
virtual const char* const_memory(size_t output_index = 0) const
{ assert(output_index == 0); return data_; }
+ mkldnn::impl::status_t zero_pad() const;
+
private:
- pd_t conf_;
+ const pd_t *pd() const { return (const pd_t *)primitive_t::pd(); }
char *data_;
template <mkldnn::impl::data_type_t>
- mkldnn::impl::status_t typed_zero_pad();
- mkldnn::impl::status_t zero_pad();
+ mkldnn::impl::status_t typed_zero_pad() const;
};
struct cpu_view_t: public cpu_primitive_t {
: view_pd_t(src_pd.engine()), src_pd_(src_pd), dst_pd_(dst_pd) {}
};
- cpu_view_t(const pd_t *conf, const input_vector &inputs)
- : cpu_primitive_t(&conf_, inputs, output_vector(1, this)), conf_(*conf)
+ cpu_view_t(const pd_t *apd, const input_vector &inputs)
+ : cpu_primitive_t(apd, inputs, output_vector(1, this))
{}
virtual ~cpu_view_t() {}
- virtual void execute(mkldnn::impl::event_t *e)
+ virtual void execute(mkldnn::impl::event_t *e) const
{ e->set_state(event_t::ready); }
virtual char *memory(size_t output_index = 0) const
{ assert(output_index == 0); return input_memory(); }
private:
- pd_t conf_;
+ const pd_t *pd() const { return (const pd_t *)primitive_t::pd(); }
};
}