class_docstr: MKL Backend
class_docstr_tok: ["MKL","Backend"]
docstr: use MKL transposition to speed up
docstr_tok: ["use","MKL","transposition","to","speed","up"]
code: def copy_transpose(self, a, out, axes=None, repeat=1):
      """
      use MKL transposition to speed up
      """
      if (
          axes is None
          and a._tensor.ctypes.data != out._tensor.ctypes.data
          and len(a.shape) == 2
      ):
          inp = c_longlong(a._tensor.ctypes.data)
          outp = c_longlong(out._tensor.ctypes.data)
          m, n = a.shape
          self.mklEngine.MatTrans(
              inp, outp, c_longlong(m), c_longlong(n)
          )
      else:
          out._tensor[:] = np.transpose(a._tensor, axes).copy()
  
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 9 for calling the NervanaMKL obj's underlying member method code with example usage: obj.copy_transpose(a, out, axes, repeat) without return types