Expand description
Rust bindings for HPTT (High-Performance Tensor Transposition)
This crate provides safe Rust bindings to the HPTT C++ library for high-performance out-of-place tensor transpositions.
§Example
use hptt::{transpose_f64, MemoryOrder};
// Transpose a 3D tensor [2, 3, 4] -> [3, 2, 4]
let input = vec![1.0; 2 * 3 * 4];
let mut output = vec![0.0; 3 * 2 * 4];
transpose_f64(
&[1, 0, 2], // permutation: swap first two dims
1.0, // alpha
&input,
&[2, 3, 4], // shape
0.0, // beta (overwrite)
&mut output,
1, // single thread
MemoryOrder::RowMajor,
).expect("transpose failed");Enums§
- Error
- Error type for HPTT operations
- Memory
Order - Memory layout order for tensor data
Functions§
- transpose_
c32 - Transpose a single-precision complex (Complex32) tensor
- transpose_
c64 - Transpose a double-precision complex (Complex64) tensor
- transpose_
c32_ sub - Transpose a sub-tensor of a single-precision complex (Complex32) tensor
- transpose_
c64_ sub - Transpose a sub-tensor of a double-precision complex (Complex64) tensor
- transpose_
f32 - Transpose a single-precision (f32) tensor
- transpose_
f64 - Transpose a double-precision (f64) tensor
- transpose_
f32_ sub - Transpose a sub-tensor of a single-precision (f32) tensor
- transpose_
f64_ sub - Transpose a sub-tensor of a double-precision (f64) tensor
Type Aliases§
- Complex32
- Alias for a
Complex<f32> - Complex64
- Alias for a
Complex<f64> - Result