Struct pjrt_sys::protos::stream_executor::dnn::AlgorithmProto
source · pub struct AlgorithmProto {
pub algo_id: i64,
pub math_type: i32,
pub tuning_knobs: HashMap<i64, i64>,
pub is_cudnn_frontend: bool,
pub workspace_size: Option<u64>,
}Expand description
Generic algorithm representation.
Fields§
§algo_id: i64§math_type: i32§tuning_knobs: HashMap<i64, i64>§is_cudnn_frontend: boolLegacy algorithm enums and cuDNN Frontend engine numbers need to coexist in the same proto medium-term, until we can be confident of no longer needing the legacy cuDNN convolution API. Once the migration is complete, we can stop producing legacy algorithm enums and remove this field.
workspace_size: Option<u64>For ROCm only, it’s impossible to re-query the required workspace size after running the algorithm search, so we must store the workspace size along with the choice of algorithm. For consistency and convenience, cuDNN uses this field in the same way, even though it would be possible to re-query the workspace size from cuDNN at each use.
Since this message is persisted in files, we need to be able to distinguish 0 workspace size from unknown workspace size in an old message, so this is a message field.
Implementations§
Trait Implementations§
source§impl Clone for AlgorithmProto
impl Clone for AlgorithmProto
source§fn clone(&self) -> AlgorithmProto
fn clone(&self) -> AlgorithmProto
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for AlgorithmProto
impl Debug for AlgorithmProto
source§impl Default for AlgorithmProto
impl Default for AlgorithmProto
source§impl Message for AlgorithmProto
impl Message for AlgorithmProto
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.source§impl PartialEq for AlgorithmProto
impl PartialEq for AlgorithmProto
impl StructuralPartialEq for AlgorithmProto
Auto Trait Implementations§
impl Freeze for AlgorithmProto
impl RefUnwindSafe for AlgorithmProto
impl Send for AlgorithmProto
impl Sync for AlgorithmProto
impl Unpin for AlgorithmProto
impl UnwindSafe for AlgorithmProto
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)