← Back

Module event

struct GpuEvent

GPU event for timing and synchronization

Source: gpu/event.joule:7

enum EventHandle

Internal event handle (backend-specific)

Source: gpu/event.joule:13

fn new(device: &GpuDevice) -> Result<Self, GpuError>

Source: gpu/event.joule:33

fn cudaEventCreate(event: *mut *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:38

fn hipEventCreate(event: *mut *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:59

fn record(queue: &GpuQueue) -> Result<Self, GpuError>

Source: gpu/event.joule:80

fn record_on(&self, queue: &GpuQueue) -> Result<(), GpuError>

Source: gpu/event.joule:88

fn cudaEventRecord(

Source: gpu/event.joule:93

fn hipEventRecord(

Source: gpu/event.joule:107

fn synchronize(&self) -> Result<(), GpuError>

Source: gpu/event.joule:126

fn cudaEventSynchronize(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:131

fn hipEventSynchronize(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:142

fn is_complete(&self) -> bool

Check if event has completed (non-blocking)

Source: gpu/event.joule:157

fn cudaEventQuery(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:162

fn hipEventQuery(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:170

fn elapsed_ms(&self, start: &GpuEvent) -> Result<f32, GpuError>

Source: gpu/event.joule:181

fn cudaEventElapsedTime(

Source: gpu/event.joule:186

fn hipEventElapsedTime(

Source: gpu/event.joule:203

fn drop(&mut self)

Source: gpu/event.joule:236

fn cudaEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:241

fn hipEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:249

fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result

Source: gpu/event.joule:260

struct GpuFence

GPU fence for CPU-GPU synchronization

Source: gpu/event.joule:269

enum FenceHandle

Internal fence handle

Source: gpu/event.joule:275

fn new(device: &GpuDevice) -> Result<Self, GpuError>

Source: gpu/event.joule:299

fn cudaEventCreateWithFlags(

Source: gpu/event.joule:304

fn mtl_device_new_shared_event(

Source: gpu/event.joule:321

fn hipEventCreateWithFlags(

Source: gpu/event.joule:335

fn signal(&mut self, queue: &GpuQueue) -> Result<(), GpuError>

Source: gpu/event.joule:359

fn cudaEventRecord(

Source: gpu/event.joule:364

fn hipEventRecord(

Source: gpu/event.joule:384

fn wait(&self) -> Result<(), GpuError>

Source: gpu/event.joule:403

fn cudaEventSynchronize(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:408

fn hipEventSynchronize(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:419

fn wait_timeout(&self, timeout_ms: u64) -> Result<bool, GpuError>

Source: gpu/event.joule:435

fn is_signaled(&self) -> bool

Check if fence has been signaled (non-blocking)

Source: gpu/event.joule:455

fn cudaEventQuery(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:460

fn hipEventQuery(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:468

fn reset(&mut self) -> Result<(), GpuError>

Source: gpu/event.joule:479

fn cudaEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:485

fn cudaEventCreateWithFlags(

Source: gpu/event.joule:486

fn hipEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:508

fn hipEventCreateWithFlags(

Source: gpu/event.joule:509

fn drop(&mut self)

Source: gpu/event.joule:531

fn cudaEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:536

fn hipEventDestroy(event: *mut std::ffi::c_void) -> i32;

Source: gpu/event.joule:544

fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result

Source: gpu/event.joule:555

struct GpuBarrier

Barrier for synchronizing multiple queues

Source: gpu/event.joule:564

fn new(queues: &[&GpuQueue]) -> Result<Self, GpuError>

Source: gpu/event.joule:571

fn wait(&self) -> Result<(), GpuError>

Source: gpu/event.joule:581

fn wait_on(&self, queue: &GpuQueue) -> Result<(), GpuError>

Source: gpu/event.joule:590