class_docstr: MKL Backend
class_docstr_tok: ["MKL","Backend"]
code: def fprop_mergebroadcast(
      self, ngLayer, inputs, inference, outputs, layers, out_shape
  ):
      for l in layers:
          l.fprop(inputs, inference)
  
      if ngLayer.initOK_f == 0:
          C, H, W = layers[0].out_shape
          N = outputs.shape[-1]
          C = out_shape[0]
          ngLayer.in_shape5D = inputs.shape5D
          ngLayer.out_shape5D = N, C, H, W
          for i, layer in enumerate(layers):
              ngLayer.channels[i] = layer.out_shape[0]
  
      N, C, H, W = ngLayer.out_shape5D
      outputs.shape5D = C, 1, H, W, N
  
      for i, layer in enumerate(layers):
          alloc_layers = [l for l in layer.layers if l.owns_output]
          ngLayer.tensors_temp[(i * 4) : (i * 4 + 4)] = alloc_layers[
              -1
          ].outputs.primitive[0:4]
  
      channel = c_longlong(ngLayer.channels.ctypes.data)
      inp = c_longlong(ngLayer.tensors_temp.ctypes.data)
      out = outputs.get_prim()
      prim = c_longlong(ngLayer.primitive.ctypes.data)
      self.mklEngine.Concat_f(
          inp,
          ngLayer.layer_num,
          out,
          prim,
          channel,
          ngLayer.initOK_f,
          N,
          C,
          H,
          W,
      )
      ngLayer.initOK_f = 1
  
imports: from __future__ import division
  from builtins import zip
  import logging
  from neon.backends import layer_mkl
  from neon.backends.util.check_mkl import get_mkl_lib
  from neon.backends.nervanacpu import CPUTensor, NervanaCPU, CustomNumpy
  import ctypes
  from cffi import FFI
  from ctypes import c_longlong, c_float, c_double, c_int
  import numpy
  from neon.backends import math_cpu
  from neon.backends.backend import OpTreeNode
  import os
  import sys
label_desc: Use image node_id 31 for calling the NervanaMKL obj's underlying member method code with example usage: obj.fprop_mergebroadcast(ngLayer, inputs, inference, outputs, layers, out_shape) without return types