Procs
- proc asContiguous[T: SomeFloat](t: CudaTensor[T]; layout: OrderType = colMajor; force: bool = false): CudaTensor[T] {. noSideEffect.} 
- 
    
    Transform a tensor with general striding to a Tensor with contiguous layout. By default CudaTensor will be colMajor (contrary to a cpu tensor). By default nothing is done if the tensor is already contiguous (C Major or F major) The "force" parameter can force re-ordering to a specific layout Source Edit
- proc broadcast(t: CudaTensor; shape: Metadata): CudaTensor {.noSideEffect.} 
- 
    
    Explicitly broadcast a CudaTensor to the specified shape. The returned broadcasted CudaTensor share the underlying data with the input. Dimension(s) of size 1 can be expanded to arbitrary size by replicating values along that dimension. Warning âš : This is a no-copy operation, data is shared with the input. This proc does not guarantee that a let value is immutable. A broadcasted tensor should not be modified and only used for computation. Source Edit
- proc broadcast(t: CudaTensor; shape: varargs[int]): CudaTensor {.noSideEffect.} 
- 
    
    Explicitly broadcast a CudaTensor to the specified shape. The returned broadcasted CudaTensor share the underlying data with the input. Dimension(s) of size 1 can be expanded to arbitrary size by replicating values along that dimension. Warning âš : This is a no-copy operation, data is shared with the input. This proc does not guarantee that a let value is immutable. A broadcasted tensor should not be modified and only used for computation. Source Edit
- proc broadcast2[T](a, b: CudaTensor[T]): tuple[a, b: CudaTensor[T]] {. noSideEffect.} 
- 
    
    Broadcast 2 tensors so they have compatible shapes for element-wise computations. Tensors in the tuple can be accessed with output.a and output.b The returned broadcasted Tensors share the underlying data with the input. Dimension(s) of size 1 can be expanded to arbitrary size by replicating values along that dimension. Warning âš : This is a no-copy operation, data is shared with the input. This proc does not guarantee that a let value is immutable. A broadcasted tensor should not be modified and only used for computation. Source Edit
- proc reshape(t: CudaTensor; new_shape: varargs[int]): CudaTensor 
- 
    
    Reshape a CudaTensor without copy. âš Reshaping without copy is only possible on contiguous rowMajor Tensors Source Edit
- proc squeeze(t: CudaTensor; axis: int): CudaTensor {.noSideEffect.} 
- 
    
    Collapse the given axis, if the dimension is not 1; it does nothing Input:- a CudaTensor
- an axis (dimension)
 Returns: - a CudaTensor with singleton dimensions collapsed
 Warning âš : This is a no-copy operation, data is shared with the input. This proc does not guarantee that a let value is immutable. Source Edit
- proc transpose(t: CudaTensor): CudaTensor {.noSideEffect.} 
- 
    
    Transpose a Tensor. For N-d Tensor with shape (0, 1, 2 ... n-1) the resulting tensor will have shape (n-1, ... 2, 1, 0) Source Edit
- proc unsqueeze(t: CudaTensor; axis: int): CudaTensor {.noSideEffect.} 
- 
    
    Insert a new axis just before the given axis, increasing the CudaTensor dimension (rank) by 1- a tensor with that new axis
 Warning âš : This is a no-copy operation, data is shared with the input. This proc does not guarantee that a let value is immutable. Source Edit
