Skip to main content
Log in

Mojo struct

AccessPolicyWindow

@register_passable(trivial) struct AccessPolicyWindow

Specifies an access policy for a window, a contiguous extent of memory beginning at base_ptr and ending at base_ptr + num_bytes. num_bytes is limited by CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into many segments and assign segments such that: sum of "hit segments" / window == approx. ratio. sum of "miss segments" / window == approx 1-ratio. Segments and ratio specifications are fitted to the capabilities of the architecture. Accesses in a hit segment apply the hitProp access policy. Accesses in a miss segment apply the missProp access policy.

Fields

  • base_ptr (UnsafePointer[NoneType]): Starting address of the access policy window. Driver may align it.
  • num_bytes (Int): Size in bytes of the window policy. CUDA driver may restrict the maximum size and alignment.
  • hit_ratio (SIMD[float32, 1]): Specifies percentage of lines assigned hitProp, rest are assigned missProp.
  • hit_prop (AccessProperty): AccessProperty set for hit.
  • miss_prop (AccessProperty): AccessProperty set for miss. Must be either NORMAL or STREAMING.

Implemented traits

AnyType, UnknownDestructibility, Writable

Methods

__init__

__init__() -> Self

__init__[T: AnyType](*, base_ptr: UnsafePointer[T, address_space=address_space, alignment=alignment, mut=mut, origin=origin], count: Int, hit_ratio: SIMD[float32, 1], hit_prop: AccessProperty = AccessProperty(SIMD(0)), miss_prop: AccessProperty = AccessProperty(SIMD(0))) -> Self

__str__

__str__(self) -> String

write_to

write_to[W: Writer](self, mut writer: W)