@@ -1087,12 +1087,14 @@ class _SynchronousMemoryResource(MemoryResource):
10871087 def device_id(self ) -> int:
10881088 return self._dev_id
10891089
1090+
10901091VirtualMemoryHandleTypeT = Literal[" posix_fd" , " generic" , " none" ]
10911092VirtualMemoryLocationTypeT = Literal[" device" , " host" , " host_numa" , " host_numa_current" ]
10921093VirtualMemoryGranularityT = Literal[" minimum" , " recommended" ]
10931094VirtualMemoryAccessTypeT = Literal[" rw" , " r" , " none" ]
10941095VirtualMemoryAllocationTypeT = Literal[" pinned" , " managed" ]
10951096
1097+
10961098@dataclass
10971099class VirtualMemoryResourceOptions:
10981100 """A configuration object for the VirtualMemoryResource
@@ -1122,20 +1124,21 @@ class VirtualMemoryResourceOptions:
11221124 peers: Iterable[int] = field(default_factory = tuple )
11231125 self_access: VirtualMemoryAccessTypeT = " rw"
11241126 peer_access: VirtualMemoryAccessTypeT = " rw"
1125- a = driver.CUmemAccess_flags
1126- _access_flags = {" rw" : a.CU_MEM_ACCESS_FLAGS_PROT_READWRITE, " r" : a.CU_MEM_ACCESS_FLAGS_PROT_READ, " none" : 0 }
1127- h = driver.CUmemAllocationHandleType
1128- _handle_types = {" none" : h.CU_MEM_HANDLE_TYPE_NONE, " posix_fd" : h.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR, " win32" : h.CU_MEM_HANDLE_TYPE_WIN32, " win32_kmt" : h.CU_MEM_HANDLE_TYPE_WIN32_KMT, " fabric" : h.CU_MEM_HANDLE_TYPE_FABRIC}
1129- g = driver.CUmemAllocationGranularity_flags
1130- _granularity = {" recommended" : g.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED, " minimum" : g.CU_MEM_ALLOC_GRANULARITY_MINIMUM}
1131- l = driver.CUmemLocationType
1132- _location_type = {" device" : l.CU_MEM_LOCATION_TYPE_DEVICE, " host" : l.CU_MEM_LOCATION_TYPE_HOST, " host_numa" : l.CU_MEM_LOCATION_TYPE_HOST_NUMA, " host_numa_current" : l.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT}
1127+
1128+ _a = driver.CUmemAccess_flags
1129+ _access_flags = {" rw" : _a.CU_MEM_ACCESS_FLAGS_PROT_READWRITE, " r" : _a.CU_MEM_ACCESS_FLAGS_PROT_READ, " none" : 0 }
1130+ _h = driver.CUmemAllocationHandleType
1131+ _handle_types = {" none" : _h.CU_MEM_HANDLE_TYPE_NONE, " posix_fd" : _h.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR, " win32" : _h.CU_MEM_HANDLE_TYPE_WIN32, " win32_kmt" : _h.CU_MEM_HANDLE_TYPE_WIN32_KMT, " fabric" : _h.CU_MEM_HANDLE_TYPE_FABRIC}
1132+ _g = driver.CUmemAllocationGranularity_flags
1133+ _granularity = {" recommended" : _g.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED, " minimum" : _g.CU_MEM_ALLOC_GRANULARITY_MINIMUM}
1134+ _l = driver.CUmemLocationType
1135+ _location_type = {" device" : _l.CU_MEM_LOCATION_TYPE_DEVICE, " host" : _l.CU_MEM_LOCATION_TYPE_HOST, " host_numa" : _l.CU_MEM_LOCATION_TYPE_HOST_NUMA, " host_numa_current" : _l.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT}
11331136 # CUDA 13+ exposes MANAGED in CUmemAllocationType; older 12.x does not
1134- a = driver.CUmemAllocationType
1135- _allocation_type = {" pinned" : a .CU_MEM_ALLOCATION_TYPE_PINNED}
1137+ _a = driver.CUmemAllocationType
1138+ _allocation_type = {" pinned" : _a .CU_MEM_ALLOCATION_TYPE_PINNED}
11361139 ver_major , ver_minor = get_binding_version()
11371140 if ver_major >= 13:
1138- _allocation_type["managed"] = a .CU_MEM_ALLOCATION_TYPE_MANAGED
1141+ _allocation_type["managed"] = _a .CU_MEM_ALLOCATION_TYPE_MANAGED
11391142
11401143 @staticmethod
11411144 def _access_to_flags(spec: str ):
0 commit comments