Struct pjrt_sys::protos::xla::WhileLoopBackendConfig
source · pub struct WhileLoopBackendConfig {
pub known_trip_count: Option<KnownTripCount>,
}Expand description
A backend-config for kWhile loops that stores the loop’s trip count, if it is known.
This is useful for backends that can implement a for i in 0..N loop more
efficiently than a while loop. For example, on GPUs, we can implement a
for i in 0..N loop by enqueueing the kernels for the loop body N times,
whereas implementing a while loop requires a host-device sync on each
iteration.
Fields§
§known_trip_count: Option<KnownTripCount>This indirection lets us distinguish between known-trip-count == 0 and unknown-trip-count.
Trait Implementations§
source§impl Clone for WhileLoopBackendConfig
impl Clone for WhileLoopBackendConfig
source§fn clone(&self) -> WhileLoopBackendConfig
fn clone(&self) -> WhileLoopBackendConfig
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for WhileLoopBackendConfig
impl Debug for WhileLoopBackendConfig
source§impl Default for WhileLoopBackendConfig
impl Default for WhileLoopBackendConfig
source§impl Message for WhileLoopBackendConfig
impl Message for WhileLoopBackendConfig
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.source§impl PartialEq for WhileLoopBackendConfig
impl PartialEq for WhileLoopBackendConfig
impl Copy for WhileLoopBackendConfig
impl StructuralPartialEq for WhileLoopBackendConfig
Auto Trait Implementations§
impl Freeze for WhileLoopBackendConfig
impl RefUnwindSafe for WhileLoopBackendConfig
impl Send for WhileLoopBackendConfig
impl Sync for WhileLoopBackendConfig
impl Unpin for WhileLoopBackendConfig
impl UnwindSafe for WhileLoopBackendConfig
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
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit)