Skip to content

Commit

Permalink
src: verbose: note engine kind in verbose output
Browse files Browse the repository at this point in the history
  • Loading branch information
kolbusa authored and Roma Dubtsov committed Jun 10, 2019
1 parent ed244ca commit e2bfcdf
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 27 deletions.
1 change: 1 addition & 0 deletions include/mkldnn_debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ const char MKLDNN_API *mkldnn_prim_kind2str(mkldnn_primitive_kind_t v);
const char MKLDNN_API *mkldnn_alg_kind2str(mkldnn_alg_kind_t v);
const char MKLDNN_API *mkldnn_rnn_flags2str(mkldnn_rnn_flags_t v);
const char MKLDNN_API *mkldnn_rnn_direction2str(mkldnn_rnn_direction_t v);
const char MKLDNN_API *mkldnn_engine_kind2str(mkldnn_engine_kind_t v);
const char MKLDNN_API *mkldnn_scratchpad_mode2str(mkldnn_scratchpad_mode_t v);

/// Forms a format string for a given memory descriptor.
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate_mkldnn_debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@ def maybe_skip(enum):
'mkldnn_rnn_cell_flags_t',
'mkldnn_rnn_packed_memory_format_t',
'mkldnn_batch_normalization_flags_t',
'mkldnn_engine_kind_t',
'mkldnn_query_t',
'mkldnn_stream_flags_t',
)
Expand All @@ -178,6 +177,7 @@ def enum_abbrev(enum):
'mkldnn_format_kind_t': 'fmt_kind',
'mkldnn_format_tag_t': 'fmt_tag',
'mkldnn_primitive_kind_t': 'prim_kind',
'mkldnn_engine_kind_t': 'engine_kind',
}.get(enum, def_enum)


Expand Down
8 changes: 8 additions & 0 deletions src/common/mkldnn_debug_autogenerated.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,14 @@ const char *mkldnn_rnn_direction2str(mkldnn_rnn_direction_t v) {
return "unknown rnn_direction";
}

const char *mkldnn_engine_kind2str(mkldnn_engine_kind_t v) {
if (v == mkldnn_any_engine) return "any_engine";
if (v == mkldnn_cpu) return "cpu";
if (v == mkldnn_gpu) return "gpu";
assert(!"unknown engine_kind");
return "unknown engine_kind";
}

const char *mkldnn_scratchpad_mode2str(mkldnn_scratchpad_mode_t v) {
if (v == mkldnn_scratchpad_mode_library) return "scratchpad_mode_library";
if (v == mkldnn_scratchpad_mode_user) return "scratchpad_mode_user";
Expand Down
56 changes: 30 additions & 26 deletions src/common/verbose.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,16 @@ void format_prb_desc_str(char *str, int len, const memory_desc_t *md) {
mkldnn_md2dim_str(str, len, md);
}

void verbose_templ(char *buffer, mkldnn_primitive_kind_t prim_kind,
const char *impl_str, mkldnn_prop_kind_t prop_kind,
const char *data_str, const char *aux_str, const char *prb_str) {
void verbose_templ(char *buffer, mkldnn_engine_t engine,
mkldnn_primitive_kind_t prim_kind, const char *impl_str,
mkldnn_prop_kind_t prop_kind, const char *data_str,
const char *aux_str, const char *prb_str) {
MAYBE_UNUSED(verbose_templ);
int written = 0;
DPRINT(buffer, MKLDNN_VERBOSE_BUF_LEN, written, "%s,%s,%s,%s,%s,%s",
mkldnn_engine_kind_t engine_kind;
mkldnn_engine_get_kind(engine, &engine_kind);
DPRINT(buffer, MKLDNN_VERBOSE_BUF_LEN, written, "%s,%s,%s,%s,%s,%s,%s",
mkldnn_engine_kind2str(engine_kind),
mkldnn_prim_kind2str(prim_kind), impl_str,
mkldnn_prop_kind2str(prop_kind), data_str, aux_str, prb_str);
}
Expand Down Expand Up @@ -208,8 +212,8 @@ template <typename pd_t> static void init_info_bnorm(pd_t *s, char *buffer) {

format_prb_desc_str(prb_str, MKLDNN_VERBOSE_PRB_LEN, s->src_md());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_conv(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -292,8 +296,8 @@ template <typename pd_t> static void init_info_conv(pd_t *s, char *buffer) {
s->IW(), s->OW(), s->KW(), s->KSW(), s->KDW(), s->padL());
}

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_shuffle(pd_t *s, char *buffer) {
Expand All @@ -313,8 +317,8 @@ template <typename pd_t> static void init_info_shuffle(pd_t *s, char *buffer) {

mkldnn_md2dim_str(prb_str, MKLDNN_VERBOSE_PRB_LEN, md);

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_eltwise(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -342,8 +346,8 @@ template <typename pd_t> static void init_info_eltwise(pd_t *s, char *buffer) {

mkldnn_md2dim_str(prb_str, MKLDNN_VERBOSE_PRB_LEN, s->src_md());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_gemm(pd_t *s, char *buffer) {
Expand All @@ -357,8 +361,8 @@ template <typename pd_t> static void init_info_gemm(pd_t *s, char *buffer) {
mkldnn_dt2str(s->desc()->c_type),
s->desc()->alpha, s->desc()->beta);

verbose_templ(buffer, s->kind(), s->name(), prop_kind::undef, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
prop_kind::undef, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_iprod(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -401,8 +405,8 @@ template <typename pd_t> static void init_info_iprod(pd_t *s, char *buffer) {
DPRINT(prb_str, MKLDNN_VERBOSE_PRB_LEN, prb_written,
"mb" DFMT "ic" DFMT "oc" DFMT, s->MB(), s->IC_total(), s->OC());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_lrn(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -430,8 +434,8 @@ template <typename pd_t> static void init_info_lrn(pd_t *s, char *buffer) {

format_prb_desc_str(prb_str, MKLDNN_VERBOSE_PRB_LEN, s->src_md());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_mem(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -460,8 +464,8 @@ template <typename pd_t> static void init_info_mem(pd_t *s, char *buffer) {

mkldnn_md2dim_str(prb_str, MKLDNN_VERBOSE_PRB_LEN, s->dst_md());

verbose_templ(buffer, s->kind(), s->name(), prop_kind::undef, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
prop_kind::undef, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_pool(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -514,8 +518,8 @@ template <typename pd_t> static void init_info_pool(pd_t *s, char *buffer) {
s->IW(), s->OW(), s->KW(), s->KSW(), s->padL());
}

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_softmax(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -543,8 +547,8 @@ template <typename pd_t> static void init_info_softmax(pd_t *s, char *buffer) {
DPRINT(aux_str, MKLDNN_VERBOSE_AUX_LEN, aux_written,
"axis:%d", s->axis());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

template <typename pd_t> static void init_info_rnn(pd_t *s, char *buffer) {
Expand Down Expand Up @@ -612,8 +616,8 @@ template <typename pd_t> static void init_info_rnn(pd_t *s, char *buffer) {
s->L(), s->T(), s->MB(),
s->SIC(), s->SLC(), s->DIC(), s->DLC());

verbose_templ(buffer, s->kind(), s->name(), s->desc()->prop_kind, dat_str,
aux_str, prb_str);
verbose_templ(buffer, s->engine(), s->kind(), s->name(),
s->desc()->prop_kind, dat_str, aux_str, prb_str);
}

#undef DPRINT
Expand Down

0 comments on commit e2bfcdf

Please sign in to comment.