protected override float[,] KernelMul(BaseConfig cfg, float[,] a, float[,] b)
        {
            var sw = new Stopwatch();

            try
            {
                sw.Start();
                var result = cfg.Configure <MatMulKernel>().Execute(a, b);
                Log.WriteLine("Kernel has completed in " + sw.Elapsed);
                return(result);
            }
            catch (Exception)
            {
                Log.WriteLine("Kernel has crashed in " + sw.Elapsed);
                throw;
            }
        }