Skip to main content

Module tensor

Module tensor 

Source
Expand description

Tensor 模块:为图神经网络和高性能计算提供张量支持

本模块实现了 God-Graph 的 tensor 基础设施,包括:

  • Dense tensor(密集张量):基于 ndarray 的 N 维数组
  • Sparse tensor(稀疏张量):COO, CSR, BSR 格式
  • Tensor 操作:矩阵乘法、转置、归约等
  • 多后端支持:NdArray, Dfdx (GPU), Candle
  • 内存池优化:减少分配开销
  • 梯度检查点:降低反向传播内存占用

§特性

  • 后端抽象:通过 trait 系统支持多种 backend(ndarray, dfdx, candle)
  • 稀疏格式:COO(坐标格式)、CSR(压缩稀疏行)、BSR(块稀疏行)
  • SIMD 优化:使用 wide crate 实现 SIMD 向量化
  • 内存对齐:64 字节缓存行对齐,避免 false sharing
  • 内存池:可复用的张量分配,适用于迭代算法

§示例

use god_gragh::tensor::{DenseTensor, TensorBase};

// 创建 2x3 密集张量
let data = vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0];
let tensor = DenseTensor::from_vec(data, vec![2, 3]);

assert_eq!(tensor.shape(), &[2, 3]);
assert_eq!(tensor.ndim(), 2);

Re-exports§

pub use traits::COOView;
pub use traits::DType;
pub use traits::Device;
pub use traits::SparseTensorOps;
pub use traits::TensorBase;
pub use traits::TensorOps;
pub use dense::DenseTensor;
pub use sparse::COOTensor;
pub use sparse::CSRTensor;
pub use sparse::SparseTensor;
pub use error::TensorError;
pub use types::EdgeFeatures;
pub use types::NodeFeatures;
pub use types::TensorEdge;
pub use types::TensorNode;
pub use types::AdjacencyMatrix;
pub use types::DegreeMatrix;
pub use backend::NdArrayStorage;
pub use backend::TensorStorage;
pub use backend::UnifiedStorage;
pub use pool::ArenaStats;
pub use pool::ArenaTensor;
pub use pool::PoolConfig;
pub use pool::PoolStats;
pub use pool::PooledTensor;
pub use pool::TensorArena;
pub use pool::TensorPool;
pub use gnn::Aggregator;
pub use gnn::GATConv;
pub use gnn::GCNConv;
pub use gnn::GraphSAGE;
pub use gnn::IdentityMessage;
pub use gnn::LinearMessage;
pub use gnn::MaxAggregator;
pub use gnn::MeanAggregator;
pub use gnn::MessageFunction;
pub use gnn::MessagePassingLayer;
pub use gnn::SumAggregator;
pub use gnn::UpdateFunction;
pub use graph_tensor::GraphFeatureExtractor;
pub use graph_tensor::GraphReconstructor;
pub use graph_tensor::GraphAdjacencyMatrix;
pub use graph_tensor::GraphBatch;
pub use graph_tensor::GraphTensorExt;
pub use differentiable::DifferentiableEdge;
pub use differentiable::DifferentiableGraph;
pub use differentiable::DifferentiableNode;
pub use differentiable::EdgeEditOp;
pub use differentiable::EdgeEditPolicy;
pub use differentiable::EditOperation;
pub use differentiable::GradientConfig;
pub use differentiable::GradientRecorder;
pub use differentiable::GraphTransformer;
pub use differentiable::GumbelSoftmaxSampler;
pub use differentiable::NodeEditOp;
pub use differentiable::StructureEdit;
pub use differentiable::ThresholdEditPolicy;
pub use unified_graph::EdgeData;
pub use unified_graph::NodeData;
pub use unified_graph::UnifiedConfig;
pub use unified_graph::UnifiedGraph;
pub use decomposition::lie_algebra::lie_exponential;
pub use decomposition::lie_algebra::lie_logarithm;
pub use decomposition::lie_algebra::skew_symmetric_projection;
pub use decomposition::qr::orthogonalize;
pub use decomposition::qr::qr_decompose;
pub use decomposition::svd::low_rank_approx;
pub use decomposition::svd::svd_decompose;
pub use decomposition::tensor_ring::compress_tensor_ring;
pub use decomposition::tensor_ring::tensor_ring_decompose;
pub use decomposition::tensor_ring::TensorRing;

Modules§

backend
Tensor 后端抽象:支持多种 backend 实现
decomposition
Tensor Decomposition Tools
dense
密集张量实现
differentiable
可微图结构变换模块
error
Tensor 错误类型
gnn
GNN(图神经网络)原语模块
graph_tensor
Graph-Tensor Integration: Specialized implementations for seamless graph-tensor conversion
ops
Tensor 高级操作
pool
Tensor 内存池:优化张量分配性能
sparse
稀疏张量实现
traits
Tensor Trait 系统:定义张量的抽象接口
types
Tensor 感知的节点和边类型
unified_graph
UnifiedGraph: 统一图结构,集成 DifferentiableGraph 和 ComputeGraph