pub struct HegvdRequest<T: SolverSupported> {
pub a: GpuRef<T>,
pub b: GpuRef<T>,
pub n: i32,
pub itype: EigType,
pub uplo: Uplo,
pub w: GpuRef<T>,
pub compute_vectors: bool,
pub reply: Sender<Result<(), GpuError>>,
}Expand description
Hegvd (Hermitian) is the complex sibling of Sygvd. Phase 1
supports only real dtypes, so this request currently shares the
same launch path as SygvdRequest. Promoting to a distinct
surface lets callers express intent today and lets us add c32/c64
without a SemVer break later.
Fields§
§a: GpuRef<T>§b: GpuRef<T>§n: i32§itype: EigType§uplo: Uplo§w: GpuRef<T>§compute_vectors: bool§reply: Sender<Result<(), GpuError>>Trait Implementations§
Source§impl<T> SolverDispatch for HegvdRequest<T>where
T: SolverSupported + SolverScalar,
impl<T> SolverDispatch for HegvdRequest<T>where
T: SolverSupported + SolverScalar,
Source§fn dispatch(self: Box<Self>, cells: SolverCells<'_>)
fn dispatch(self: Box<Self>, cells: SolverCells<'_>)
Execute the request against a real cuSOLVER handle.
Source§fn dispatch_mock(self: Box<Self>)
fn dispatch_mock(self: Box<Self>)
Reply with a “mock mode” error without touching the GPU.
Default impl drops
self so the caller’s oneshot closes;
per-request impls override to send a typed Err.Auto Trait Implementations§
impl<T> Freeze for HegvdRequest<T>
impl<T> !RefUnwindSafe for HegvdRequest<T>
impl<T> Send for HegvdRequest<T>
impl<T> Sync for HegvdRequest<T>
impl<T> Unpin for HegvdRequest<T>
impl<T> UnsafeUnpin for HegvdRequest<T>
impl<T> !UnwindSafe for HegvdRequest<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more