Skip to content

Instantly share code, notes, and snippets.

@cli99
Created October 3, 2024 07:36
Show Gist options
  • Save cli99/095ed111ddcef5295e1c384cc0bab3e4 to your computer and use it in GitHub Desktop.
Save cli99/095ed111ddcef5295e1c384cc0bab3e4 to your computer and use it in GitHub Desktop.
Get CUDA information
import pycuda.autoinit
import pycuda.driver as cuda
# Get the first CUDA device (index 0)
device = cuda.Device(0)
# List of attributes you want to get
attributes = [
cuda.device_attribute.MAX_THREADS_PER_BLOCK,
cuda.device_attribute.MAX_BLOCK_DIM_X,
cuda.device_attribute.MAX_BLOCK_DIM_Y,
cuda.device_attribute.MAX_BLOCK_DIM_Z,
cuda.device_attribute.TOTAL_CONSTANT_MEMORY,
cuda.device_attribute.MULTIPROCESSOR_COUNT,
]
# Print the device name
print(f"Device Name: {device.name()}")
for a in dir(cuda.device_attribute):
if a.startswith("__"):
break
print(f"{a}: {device.get_attribute(cuda.device_attribute.__dict__[a])}")
# Device Name: NVIDIA H100 80GB HBM3
# ASYNC_ENGINE_COUNT: 3
# CAN_MAP_HOST_MEMORY: 1
# CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM: 1
# CLOCK_RATE: 1980000
# COMPUTE_CAPABILITY_MAJOR: 9
# COMPUTE_CAPABILITY_MINOR: 0
# COMPUTE_MODE: DEFAULT
# COMPUTE_PREEMPTION_SUPPORTED: 1
# CONCURRENT_KERNELS: 1
# CONCURRENT_MANAGED_ACCESS: 1
# DIRECT_MANAGED_MEM_ACCESS_FROM_HOST: 0
# ECC_ENABLED: 1
# GENERIC_COMPRESSION_SUPPORTED: 1
# GLOBAL_L1_CACHE_SUPPORTED: 1
# GLOBAL_MEMORY_BUS_WIDTH: 5120
# GPU_OVERLAP: 1
# HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED: 1
# HANDLE_TYPE_WIN32_HANDLE_SUPPORTED: 0
# HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED: 0
# HOST_NATIVE_ATOMIC_SUPPORTED: 0
# INTEGRATED: 0
# KERNEL_EXEC_TIMEOUT: 0
# L2_CACHE_SIZE: 52428800
# LOCAL_L1_CACHE_SUPPORTED: 1
# MANAGED_MEMORY: 1
# MAXIMUM_SURFACE1D_LAYERED_LAYERS: 2048
# MAXIMUM_SURFACE1D_LAYERED_WIDTH: 32768
# MAXIMUM_SURFACE1D_WIDTH: 32768
# MAXIMUM_SURFACE2D_HEIGHT: 65536
# MAXIMUM_SURFACE2D_LAYERED_HEIGHT: 32768
# MAXIMUM_SURFACE2D_LAYERED_LAYERS: 2048
# MAXIMUM_SURFACE2D_LAYERED_WIDTH: 32768
# MAXIMUM_SURFACE2D_WIDTH: 131072
# MAXIMUM_SURFACE3D_DEPTH: 16384
# MAXIMUM_SURFACE3D_HEIGHT: 16384
# MAXIMUM_SURFACE3D_WIDTH: 16384
# MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS: 2046
# MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH: 32768
# MAXIMUM_SURFACECUBEMAP_WIDTH: 32768
# MAXIMUM_TEXTURE1D_LAYERED_LAYERS: 2048
# MAXIMUM_TEXTURE1D_LAYERED_WIDTH: 32768
# MAXIMUM_TEXTURE1D_LINEAR_WIDTH: 268435456
# MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH: 32768
# MAXIMUM_TEXTURE1D_WIDTH: 131072
# MAXIMUM_TEXTURE2D_ARRAY_HEIGHT: 32768
# MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES: 2048
# MAXIMUM_TEXTURE2D_ARRAY_WIDTH: 32768
# MAXIMUM_TEXTURE2D_GATHER_HEIGHT: 32768
# MAXIMUM_TEXTURE2D_GATHER_WIDTH: 32768
# MAXIMUM_TEXTURE2D_HEIGHT: 65536
# MAXIMUM_TEXTURE2D_LAYERED_HEIGHT: 32768
# MAXIMUM_TEXTURE2D_LAYERED_LAYERS: 2048
# MAXIMUM_TEXTURE2D_LAYERED_WIDTH: 32768
# MAXIMUM_TEXTURE2D_LINEAR_HEIGHT: 65000
# MAXIMUM_TEXTURE2D_LINEAR_PITCH: 2097120
# MAXIMUM_TEXTURE2D_LINEAR_WIDTH: 131072
# MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT: 32768
# MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH: 32768
# MAXIMUM_TEXTURE2D_WIDTH: 131072
# MAXIMUM_TEXTURE3D_DEPTH: 16384
# MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE: 32768
# MAXIMUM_TEXTURE3D_HEIGHT: 16384
# MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE: 8192
# MAXIMUM_TEXTURE3D_WIDTH: 16384
# MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE: 8192
# MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS: 2046
# MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH: 32768
# MAXIMUM_TEXTURECUBEMAP_WIDTH: 32768
# MAX_BLOCKS_PER_MULTIPROCESSOR: 32
# MAX_BLOCK_DIM_X: 1024
# MAX_BLOCK_DIM_Y: 1024
# MAX_BLOCK_DIM_Z: 64
# MAX_GRID_DIM_X: 2147483647
# MAX_GRID_DIM_Y: 65535
# MAX_GRID_DIM_Z: 65535
# MAX_PERSISTING_L2_CACHE_SIZE: 32768000
# MAX_PITCH: 2147483647
# MAX_REGISTERS_PER_BLOCK: 65536
# MAX_REGISTERS_PER_MULTIPROCESSOR: 65536
# MAX_SHARED_MEMORY_PER_BLOCK: 49152
# MAX_SHARED_MEMORY_PER_BLOCK_OPTIN: 232448
# MAX_SHARED_MEMORY_PER_MULTIPROCESSOR: 233472
# MAX_THREADS_PER_BLOCK: 1024
# MAX_THREADS_PER_MULTIPROCESSOR: 2048
# MEMORY_CLOCK_RATE: 2619000
# MEMORY_POOLS_SUPPORTED: 1
# MULTIPROCESSOR_COUNT: 132
# MULTI_GPU_BOARD: 0
# MULTI_GPU_BOARD_GROUP_ID: 0
# PAGEABLE_MEMORY_ACCESS: 0
# PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES: 0
# PCI_BUS_ID: 17
# PCI_DEVICE_ID: 0
# PCI_DOMAIN_ID: 0
# READ_ONLY_HOST_REGISTER_SUPPORTED: 1
# REGISTERS_PER_BLOCK: 65536
# RESERVED_SHARED_MEMORY_PER_BLOCK: 1024
# SHARED_MEMORY_PER_BLOCK: 49152
# SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO: 2
# STREAM_PRIORITIES_SUPPORTED: 1
# SURFACE_ALIGNMENT: 512
# TCC_DRIVER: 0
# TEXTURE_ALIGNMENT: 512
# TEXTURE_PITCH_ALIGNMENT: 32
# TOTAL_CONSTANT_MEMORY: 65536
# UNIFIED_ADDRESSING: 1
# WARP_SIZE: 32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment