tensor: minimal Tensor crate over xtrain-cuda
New xtrain-tensor crate: DType (F32), shape/stride helpers, Arc-counted host/device Storage with CPU↔CUDA copy, and a contiguous Tensor with creation, host↔device transfer, and a scale() op driving the elementwise kernel. GPU integration tests (host↔device roundtrip + scale correctness) gated behind not(no_cuda); a thin build.rs emits the no_cuda cfg so the kernel call sites compile out locally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
15
crates/xtrain-tensor/src/lib.rs
Normal file
15
crates/xtrain-tensor/src/lib.rs
Normal file
@@ -0,0 +1,15 @@
|
||||
//! Minimal tensor abstraction for xtrain (Phase T2).
|
||||
//!
|
||||
//! Provides a `DType`, shape/stride helpers, reference-counted host/device
|
||||
//! `Storage`, and a `Tensor` with creation, host↔device transfer, and one
|
||||
//! elementwise CUDA op (`scale`) wired end-to-end.
|
||||
|
||||
pub mod dtype;
|
||||
pub mod shape;
|
||||
pub mod storage;
|
||||
pub mod tensor;
|
||||
|
||||
pub use dtype::{DType, TensorDType};
|
||||
pub use shape::Dims;
|
||||
pub use storage::{Device, Storage};
|
||||
pub use tensor::Tensor;
|
||||
Reference in New Issue
Block a user