pub struct PipelineStatistics {
pub cs_invocations: u64,
pub workgroups_dispatched: u64,
pub flops: u64,
pub bytes_read: u64,
pub bytes_written: u64,
}Expand description
Low-level GPU pipeline statistics for one dispatch (mock).
Mirrors the statistics provided by VkQueryPool with
VK_QUERY_TYPE_PIPELINE_STATISTICS or Metal/D3D equivalents.
Fields§
§cs_invocations: u64Number of invocations of the compute shader.
workgroups_dispatched: u64Number of work-groups dispatched.
flops: u64Estimated FLOP count (mock value).
bytes_read: u64Estimated bytes read from global memory.
bytes_written: u64Estimated bytes written to global memory.
Implementations§
Source§impl PipelineStatistics
impl PipelineStatistics
Sourcepub fn arithmetic_intensity(&self) -> f64
pub fn arithmetic_intensity(&self) -> f64
Compute the arithmetic intensity (FLOPs per byte).
Sourcepub fn bandwidth_utilization(&self, peak_bw_bytes_s: f64, elapsed_s: f64) -> f64
pub fn bandwidth_utilization(&self, peak_bw_bytes_s: f64, elapsed_s: f64) -> f64
Estimated memory bandwidth utilization as a fraction of peak_bw_bytes_s.
Trait Implementations§
Source§impl Clone for PipelineStatistics
impl Clone for PipelineStatistics
Source§fn clone(&self) -> PipelineStatistics
fn clone(&self) -> PipelineStatistics
Returns a duplicate 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 PipelineStatistics
impl Debug for PipelineStatistics
Source§impl Default for PipelineStatistics
impl Default for PipelineStatistics
Source§fn default() -> PipelineStatistics
fn default() -> PipelineStatistics
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PipelineStatistics
impl RefUnwindSafe for PipelineStatistics
impl Send for PipelineStatistics
impl Sync for PipelineStatistics
impl Unpin for PipelineStatistics
impl UnsafeUnpin for PipelineStatistics
impl UnwindSafe for PipelineStatistics
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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more