anchor.diff:          let ntraining = 10
           let ntest = 10
   
  -        let lhost = [1.0f; 1.5f; 2.0f] |> ArrayNDHost.ofList 
  -        let l = lhost |> ArrayNDCuda.toDev
  -        let trn_xhost =  rand.UniformArrayND (-5.0f ,5.0f) [ngps;ntraining] 
  +        let m: ExprT<single> = Expr.var "m" [SizeSpec.symbol "nTstSmpls";SizeSpec.symbol "nGPs"; SizeSpec.symbol "nGPs"]
  +        let psd = m.* m
  +        let cmplr = DevHost.Compiler, CompileEnv.empty
  +        let makePsd = Func.make cmplr psd |> arg1 m
   
  -
  -        let trn_x = trn_xhost  |> ArrayNDCuda.toDev
  -        let trn_thost = rand.UniformArrayND (-5.0f ,5.0f) [ngps;ntraining] 
  -        let trn_t = trn_thost  |> ArrayNDCuda.toDev
  -        let trn_sigmahost = rand.UniformArrayND (-5.0f ,5.0f) [ngps;ntraining] 
  -        let trn_sigma = trn_sigmahost  |> ArrayNDCuda.toDev
  -        
  -        
           let mb = ModelBuilder<single> "Test"
   
           let nSmpls    = mb.Size "nSmpls"
  
positive.code: open SymTensor
  open SymTensor.Compiler.Cuda
  open System
  
  module Program =
  
  
negative.code:         printfn "pred_mean=\n%A" pred_mean
          printfn "pred_cov=\n%A" pred_cov
  
              testInOut
          
          let testList = [1..ntest]
                         |> List.map (fun _-> randomTest () )
  
  
  
          let testData = testList |> Dataset.FromSamples
          testData.Save("TestData.h5")
      [<EntryPoint>]
      let main argv = 
          TestUtils.evalHostCuda testMultiGPLayer
  