diff --git a/doc/source/driver.rst b/doc/source/driver.rst index 8de1f2d1debdbaf321a3c38a91e4cd7cc8a0b613..86fa2e1b2ffbef26f79dbef9a5757e8ec16e8e4c 100644 --- a/doc/source/driver.rst +++ b/doc/source/driver.rst @@ -331,6 +331,42 @@ Constants CUDA 6.0 and above. .. versionadded:: 2014.1 + + .. attribute :: HOST_NATIVE_ATOMIC_SUPPORTED + SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO + PAGEABLE_MEMORY_ACCESS + CONCURRENT_MANAGED_ACCESS + COMPUTE_PREEMPTION_SUPPORTED + CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM + + CUDA 8.0 and above. + + .. attribute :: MAX_SHARED_MEMORY_PER_BLOCK_OPTIN + + CUDA 9.0 and above. + + .. attribute :: PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES + DIRECT_MANAGED_MEM_ACCESS_FROM_HOST + + CUDA 9.2 and above. + + .. attribute :: HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED + HANDLE_TYPE_WIN32_HANDLE_SUPPORTED + HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED + + CUDA 10.2 and above. + + .. attribute :: MAX_PERSISTING_L2_CACHE_SIZE + MAX_BLOCKS_PER_MULTIPROCESSOR + GENERIC_COMPRESSION_SUPPORTED + RESERVED_SHARED_MEMORY_PER_BLOCK + + CUDA 11.0 and above. + + .. attribute :: READ_ONLY_HOST_REGISTER_SUPPORTED + MEMORY_POOLS_SUPPORTED + + CUDA 11.2 and above. .. class:: pointer_attribute diff --git a/src/wrapper/wrap_cudadrv.cpp b/src/wrapper/wrap_cudadrv.cpp index 0be5a0a2248904091434999f6fd6d79fc3d5ad69..6d95edadf6243ce6e256d7ee565fc69cdd08fd03 100644 --- a/src/wrapper/wrap_cudadrv.cpp +++ b/src/wrapper/wrap_cudadrv.cpp @@ -897,6 +897,36 @@ BOOST_PYTHON_MODULE(_driver) .value("MANAGED_MEMORY", CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY) .value("MULTI_GPU_BOARD", CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD) .value("MULTI_GPU_BOARD_GROUP_ID", CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID) +#endif +#if CUDAPP_CUDA_VERSION >= 8000 + .value("HOST_NATIVE_ATOMIC_SUPPORTED", CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED) + .value("SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO", CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO) + .value("PAGEABLE_MEMORY_ACCESS", CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS) + .value("CONCURRENT_MANAGED_ACCESS", CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS) + .value("COMPUTE_PREEMPTION_SUPPORTED", CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED) + .value("CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM", CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM) +#endif +#if CUDAPP_CUDA_VERSION >= 9000 + .value("MAX_SHARED_MEMORY_PER_BLOCK_OPTIN", CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN) +#endif +#if CUDAPP_CUDA_VERSION >= 9020 + .value("PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES", CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES) + .value("DIRECT_MANAGED_MEM_ACCESS_FROM_HOST", CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST) +#endif +#if CUDAPP_CUDA_VERSION >= 10020 + .value("HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED", CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED) + .value("HANDLE_TYPE_WIN32_HANDLE_SUPPORTED", CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED) + .value("HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED", CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED) +#endif +#if CUDAPP_CUDA_VERSION >= 11000 + .value("MAX_PERSISTING_L2_CACHE_SIZE", CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE) + .value("MAX_BLOCKS_PER_MULTIPROCESSOR", CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR) + .value("GENERIC_COMPRESSION_SUPPORTED", CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED) + .value("RESERVED_SHARED_MEMORY_PER_BLOCK", CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK) +#endif +#if CUDAPP_CUDA_VERSION >= 11020 + .value("READ_ONLY_HOST_REGISTER_SUPPORTED", CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED) + .value("MEMORY_POOLS_SUPPORTED", CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED) #endif ; #if CUDAPP_CUDA_VERSION >= 4000