anchor.diff:                      let mxm = mxm.[i * 2 + j]
                       let mam = mam.[i * 2 + j]
                       mxm processors.[i * 2 + j] d mSize _aBlocks.[i * 2 + k] _bBlocks.[k * 2 + j] _resBlocks.[i * 2 + j]
  -                    //mam processors.[i * 2 + j] d mSize _res1Blocks.[i * 2 + j] _res2Blocks.[i * 2 + j] _res2Blocks.[i * 2 + j]
   
           let barrier2 = Msg.CreateBarrierMessages 4
           Array.iteri2
  
positive.code:         run.Apply
                  {
                      new RunCrateEvaluator<int>
                      with member __.Eval (a) =
                              let runKernel (kernel:GpuKernel<'TRange,'a, 't>) =
                                  let range = kernel.Range
                                  let workDim = uint32 range.Dimensions
  
negative.code:         toHost.Apply
                  {
                      new ToHostCrateEvaluator<int>
                      with member this.Eval (a) =
                              let read (src:GpuArray<'t>) (dst:array<'t>)=
                                  let eventID = ref Unchecked.defaultof<Event>
                                  let mem = src.Buffer.Mem
  