anchor.diff:  
       type GPUCuda = 
           { worker: Worker
  -          options: Util.GPUCuda }
  +          options: Util.GPUCuda
  +          mult1: DeviceMemory<float>
  +          mult2: DeviceMemory<float>
  +          result: DeviceMemory<float> }
       
       type CPUFast = Unit
       type CPUSimple = Unit
  
positive.code:             let localLinesRestriction = 
                  match localMem with
                      // todo:
                      | Some size -> size / (32 * maxMatrixSize)
                      | None -> 32 * (1 <<< 20) / (32 * maxMatrixSize)
  
              
              // todo: sizes
              let gridSize = maxMatrixSize
              let wgSize = 128
              let grid = new _1D(gridSize, wgSize)
  
              let mult1 = Array.create bufferSize <| Probability.InnerType.zero
  
negative.code:                     else maxBits
                  | None ->
                      //todo: do something 
                      0
  //                    failwith "not enough information"
  
              let bufferSize = maxAllocatedBitsForVar
              
              let floorToPowerOf2 x = 
                  let exp = (log (double x)) / (log 2.) |> ceil |> int
                  1 <<< exp
  
              let wgSizeRestriction = 
                  match maxWGSize with
                      | Some size -> size
  