Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / mkl-dnn / tests / gtests / test_memory.cpp
index 7de9067..de7b237 100644 (file)
@@ -73,18 +73,29 @@ TEST_F(memory_test, WeightPaddingTest) {
     data_t *mem0_ptr = (data_t *)mem0.get_data_handle();
     fill_data<data_t>(O_16*I_16*H*W, mem0_ptr);
 
+    /* mem1 is OIhw16i16o with fmt = OIhw16i16o */
     std::vector<data_t> mem1_vec(phys_sz);
     mem1_vec.assign(mem0_ptr,
             mem0_ptr + mem0.get_primitive_desc().get_size() / sizeof(data_t));
-
     mkldnn::memory mem1({{{O, I, H, W}, memory::data_type::f32,
             memory::format::OIhw16i16o}, e}, &mem1_vec[0]);
-
     check_zero_tail<data_t>(0, mem1);
+
+    /* mem2 is OIhw16i16o with fmt = blocked */
+    std::vector<data_t> mem2_vec(phys_sz);
+    mem2_vec.assign(mem0_ptr,
+            mem0_ptr + mem0.get_primitive_desc().get_size() / sizeof(data_t));
+    mkldnn::memory::desc mem2_d = mem1.get_primitive_desc().desc();
+    mem2_d.data.format = mkldnn_blocked;
+    mkldnn::memory mem2({mem2_d, e}, &mem2_vec[0]);
+    check_zero_tail<data_t>(0, mem2);
+
     check_zero_tail<data_t>(1, mem0);
+    for (size_t i = 0; i < phys_sz; ++i)
+        EXPECT_NEAR(mem0_ptr[i], mem1_vec[i], 1e-7) << i << " :mem1";
 
     for (size_t i = 0; i < phys_sz; ++i)
-        EXPECT_NEAR(mem0_ptr[i], mem1_vec[i], 1e-7) << i;
+        EXPECT_NEAR(mem0_ptr[i], mem2_vec[i], 1e-7) << i << " :mem2";
 }
 
 }