Ejemplo n.º 1
0
 public NDArray Norm(NDArray result, NDArray src, int dimension, float value)
 {
     if (value == 0)
     {
         return(ReductionOp.Invoke(cudaReduceKernels, "e0_norm", 0.0f, ReduceInitType.GivenValue, result, src, dimension));
     }
     else if (value == 1)
     {
         return(ReductionOp.Invoke(cudaReduceKernels, "e1_norm", 0.0f, ReduceInitType.GivenValue, result, src, dimension));
     }
     else if (value == 2)
     {
         var writeTarget = ReductionOp.Invoke(cudaReduceKernels, "e2_norm", 0.0f, ReduceInitType.GivenValue, result, src, dimension);
         Pow(writeTarget, writeTarget, 0.5f);
         return(writeTarget);
     }
     else
     {
         var writeTarget = ReductionOp.Invoke(cudaReduceKernels, "en_norm", 0.0f, ReduceInitType.GivenValue, result, src, dimension, value);
         Pow(writeTarget, writeTarget, 1.0f / value);
         return(writeTarget);
     }
 }
Ejemplo n.º 2
0
 public NDArray Max(NDArray result, NDArray src, int dimension)
 {
     return(ReductionOp.Invoke(cudaReduceKernels, "max", 0.0f, ReduceInitType.MinValue, result, src, dimension));
 }
Ejemplo n.º 3
0
 public NDArray Prod(NDArray result, NDArray src, int dimension)
 {
     return(ReductionOp.Invoke(cudaReduceKernels, "prod", 1.0f, ReduceInitType.GivenValue, result, src, dimension));
 }
Ejemplo n.º 4
0
 public Tensor Max(Tensor result, Tensor src, int dimension)
 {
     return(ReductionOp.Invoke(cudaReduceKernels, "max", 0.0f, ReduceInitType.MinValue, result, src, dimension));
 }
Ejemplo n.º 5
0
 public Tensor Prod(Tensor result, Tensor src, int dimension)
 {
     return(ReductionOp.Invoke(cudaReduceKernels, "prod", 1.0f, ReduceInitType.GivenValue, result, src, dimension));
 }