[][src]Crate tensor_compute

A WebGPU based Tensor Library

This library is intended as a pure Rust Tensor library which runs on the GPU everywhere. In order to achieve it, it build upon the wgpu crate which can target any platform supporting either Vulkan, Metal or DX12. It can run even on a Raspberry Pi 4 GPU.

The API entry point is the Tensor structure.

Modules

prelude
traits
traits
utils

Macros

s

Structs

CpuTensor
GpuStore
GpuTensor
GpuTensorView

A GpuTensorView share the same data as the original Tensor, but can have different shapes and strides For example, the original shape could be [2, 2] and the GpuTensorView could be [1, 2, 2]

GpuTensorViewMut

Same as GpuTensorView but mutable

LinearIndexer
ShapeStrides
SliceRangeInfo
Tensor

A Tensor is an N dimensional data structure. This is the entry point for most of the API of this crate. This is normally backed by GPU memory and its device chosen using the current default of the crate::GpuStore::get_default(), which can be changed however, one can NOT do operations using two Tensors from different devices.

TensorView

A view into the original Tensor. A view borrows part of (or even the entirety of) the original Tensor data. It can NOT modify the data itself. It is normally produced by indexing or slicing a Tensor.

Traits

AsShaderInput
Constructable
CpuTransferable
GpuAllocated
MutShapeStrideTrait
ShapeStrideTrait