public final class CudaDevice extends Object
CudaDevice
class represents a CUDA-capable device.Modifier and Type | Class and Description |
---|---|
static class |
CudaDevice.CacheConfig
CacheConfig identifies the cache configuration choices for
a device. |
static class |
CudaDevice.Limit
Limit identifies device limits that may be queried or configured. |
static class |
CudaDevice.SharedMemConfig |
Modifier and Type | Field and Description |
---|---|
static int |
ATTRIBUTE_ASYNC_ENGINE_COUNT
Number of asynchronous engines.
|
static int |
ATTRIBUTE_CAN_MAP_HOST_MEMORY
Device can map host memory into CUDA address space.
|
static int |
ATTRIBUTE_CLOCK_RATE
Typical clock frequency in kilohertz.
|
static int |
ATTRIBUTE_COMPUTE_CAPABILITY
Compute capability version number.
|
static int |
ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR
Major compute capability version number.
|
static int |
ATTRIBUTE_COMPUTE_CAPABILITY_MINOR
Minor compute capability version number.
|
static int |
ATTRIBUTE_COMPUTE_MODE
Compute mode (see COMPUTE_MODE_XXX for details).
|
static int |
ATTRIBUTE_CONCURRENT_KERNELS
Device can possibly execute multiple kernels concurrently.
|
static int |
ATTRIBUTE_ECC_ENABLED
Device has ECC support enabled.
|
static int |
ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH
Global memory bus width in bits.
|
static int |
ATTRIBUTE_INTEGRATED
Device is integrated with host memory.
|
static int |
ATTRIBUTE_KERNEL_EXEC_TIMEOUT
Specifies whether there is a run time limit on kernels.
|
static int |
ATTRIBUTE_L2_CACHE_SIZE
Size of L2 cache in bytes.
|
static int |
ATTRIBUTE_MAX_BLOCK_DIM_X
Maximum block dimension X.
|
static int |
ATTRIBUTE_MAX_BLOCK_DIM_Y
Maximum block dimension Y.
|
static int |
ATTRIBUTE_MAX_BLOCK_DIM_Z
Maximum block dimension Z.
|
static int |
ATTRIBUTE_MAX_GRID_DIM_X
Maximum grid dimension X.
|
static int |
ATTRIBUTE_MAX_GRID_DIM_Y
Maximum grid dimension Y.
|
static int |
ATTRIBUTE_MAX_GRID_DIM_Z
Maximum grid dimension Z.
|
static int |
ATTRIBUTE_MAX_PITCH
Maximum pitch in bytes allowed by memory copies.
|
static int |
ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
Maximum number of 32-bit registers available per block.
|
static int |
ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
Maximum shared memory available per block in bytes.
|
static int |
ATTRIBUTE_MAX_THREADS_PER_BLOCK
Maximum number of threads per block.
|
static int |
ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR
Maximum resident threads per multiprocessor.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS
Maximum layers in a 1D layered surface.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH
Maximum 1D layered surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH
Maximum 1D surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT
Maximum 2D surface height.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT
Maximum 2D layered surface height.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS
Maximum layers in a 2D layered surface.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH
Maximum 2D layered surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH
Maximum 2D surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH
Maximum 3D surface depth.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT
Maximum 3D surface height.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH
Maximum 3D surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS
Maximum layers in a cubemap layered surface.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH
Maximum cubemap layered surface width.
|
static int |
ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH
Maximum cubemap surface width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS
Maximum layers in a 1D layered texture.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH
Maximum 1D layered texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH
Maximum 1D linear texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH
Maximum mipmapped 1D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH
Maximum 1D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT
Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH
Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT
Maximum 2D texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
Maximum 2D layered texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
Maximum layers in a 2D layered texture.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
Maximum 2D layered texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT
Maximum 2D linear texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH
Maximum 2D linear texture pitch in bytes.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH
Maximum 2D linear texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT
Maximum mipmapped 2D texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH
Maximum mipmapped 2D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH
Maximum 2D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH
Maximum 3D texture depth.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE
Alternate maximum 3D texture depth.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT
Maximum 3D texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE
Alternate maximum 3D texture height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH
Maximum 3D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE
Alternate maximum 3D texture width.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS
Maximum layers in a cubemap layered texture.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH
Maximum cubemap layered texture width/height.
|
static int |
ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH
Maximum cubemap texture width/height.
|
static int |
ATTRIBUTE_MEMORY_CLOCK_RATE
Peak memory clock frequency in kilohertz.
|
static int |
ATTRIBUTE_MULTIPROCESSOR_COUNT
Number of multiprocessors on device.
|
static int |
ATTRIBUTE_PCI_BUS_ID
PCI bus ID of the device.
|
static int |
ATTRIBUTE_PCI_DEVICE_ID
PCI device ID of the device.
|
static int |
ATTRIBUTE_PCI_DOMAIN_ID
PCI domain ID of the device.
|
static int |
ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED
Device supports stream priorities.
|
static int |
ATTRIBUTE_SURFACE_ALIGNMENT
Alignment requirement for surfaces.
|
static int |
ATTRIBUTE_TCC_DRIVER
Device is using TCC driver model.
|
static int |
ATTRIBUTE_TEXTURE_ALIGNMENT
Alignment requirement for textures.
|
static int |
ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT
Pitch alignment requirement for textures.
|
static int |
ATTRIBUTE_TOTAL_CONSTANT_MEMORY
Memory available on device for __constant__ variables in a kernel in bytes.
|
static int |
ATTRIBUTE_UNIFIED_ADDRESSING
Device shares a unified address space with the host.
|
static int |
ATTRIBUTE_WARP_SIZE
Warp size in threads.
|
static int |
COMPUTE_MODE_DEFAULT
Default compute mode (multiple contexts allowed per device).
|
static int |
COMPUTE_MODE_PROCESS_EXCLUSIVE
Compute exclusive process mode (at most one context used by a single process
can be present on this device at a time).
|
static int |
COMPUTE_MODE_PROHIBITED
Compute prohibited mode (no contexts can be created on this device at this time).
|
static int |
COMPUTE_MODE_THREAD_EXCLUSIVE
Exclusive thread mode (at most one context, used by a single thread,
can be present on this device at a time).
|
static int |
FLAG_LMEM_RESIZE_TO_MAX
Keep local memory allocation after launch.
|
static int |
FLAG_MAP_HOST
Support mapped pinned allocations.
|
static int |
FLAG_SCHED_AUTO
Automatic scheduling.
|
static int |
FLAG_SCHED_BLOCKING_SYNC
Set blocking synchronization as default scheduling.
|
static int |
FLAG_SCHED_SPIN
Set spin as default scheduling.
|
static int |
FLAG_SCHED_YIELD
Set yield as default scheduling.
|
static int |
MASK_SCHED |
Constructor and Description |
---|
CudaDevice(int deviceId)
Creates a device handle corresponding to
deviceId . |
Modifier and Type | Method and Description |
---|---|
void |
addCallback(Runnable callback)
Queues the given
callback to be executed when the associated
device has completed all previous actions in the default stream. |
boolean |
canAccessPeer(CudaDevice peerDevice)
Returns whether this device can access memory of the specified
peerDevice . |
void |
disablePeerAccess(CudaDevice peerDevice)
Disable access to memory of
peerDevice by this device. |
void |
enablePeerAccess(CudaDevice peerDevice)
Enable access to memory of
peerDevice by this device. |
boolean |
equals(Object other)
Does the argument represent the same device as this?
|
int |
getAttribute(int attribute)
Returns the value of the specified
attribute . |
CudaDevice.CacheConfig |
getCacheConfig()
Returns the current cache configuration of this device.
|
static int |
getCount()
Returns the number of CUDA-capable devices available to the Java host.
|
int |
getDeviceId()
Returns an integer identifying this device (the value provided when
this object was constructed).
|
static int |
getDriverVersion()
Deprecated.
Use Cuda.getDriverVersion() instead.
|
long |
getFreeMemory()
Returns the amount of free device memory in bytes.
|
int |
getGreatestStreamPriority()
Returns the greatest possible priority of a stream on this device.
|
int |
getLeastStreamPriority()
Returns the least possible priority of a stream on this device.
|
long |
getLimit(CudaDevice.Limit limit)
Returns the value of the specified
limit . |
String |
getName()
Returns the name of this device.
|
static int |
getRuntimeVersion()
Deprecated.
Use Cuda.getRuntimeVersion() instead.
|
CudaDevice.SharedMemConfig |
getSharedMemConfig()
Returns the current shared memory configuration of this device.
|
long |
getTotalMemory()
Returns the total amount of memory on this device in bytes.
|
int |
hashCode()
Answers an integer hash code for the receiver.
|
void |
setCacheConfig(CudaDevice.CacheConfig config)
Configures the cache of this device.
|
void |
setLimit(CudaDevice.Limit limit,
long value)
Configures the specified
limit . |
void |
setSharedMemConfig(CudaDevice.SharedMemConfig config)
Configures the shared memory of this device.
|
void |
synchronize()
Synchronizes on this device.
|
public static final int ATTRIBUTE_ASYNC_ENGINE_COUNT
public static final int ATTRIBUTE_CAN_MAP_HOST_MEMORY
public static final int ATTRIBUTE_CLOCK_RATE
public static final int ATTRIBUTE_COMPUTE_CAPABILITY
public static final int ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR
public static final int ATTRIBUTE_COMPUTE_CAPABILITY_MINOR
public static final int ATTRIBUTE_COMPUTE_MODE
public static final int ATTRIBUTE_CONCURRENT_KERNELS
public static final int ATTRIBUTE_ECC_ENABLED
public static final int ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH
public static final int ATTRIBUTE_INTEGRATED
public static final int ATTRIBUTE_KERNEL_EXEC_TIMEOUT
public static final int ATTRIBUTE_L2_CACHE_SIZE
public static final int ATTRIBUTE_MAX_BLOCK_DIM_X
public static final int ATTRIBUTE_MAX_BLOCK_DIM_Y
public static final int ATTRIBUTE_MAX_BLOCK_DIM_Z
public static final int ATTRIBUTE_MAX_GRID_DIM_X
public static final int ATTRIBUTE_MAX_GRID_DIM_Y
public static final int ATTRIBUTE_MAX_GRID_DIM_Z
public static final int ATTRIBUTE_MAX_PITCH
public static final int ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
public static final int ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
public static final int ATTRIBUTE_MAX_THREADS_PER_BLOCK
public static final int ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR
public static final int ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH
public static final int ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE
public static final int ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS
public static final int ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH
public static final int ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH
public static final int ATTRIBUTE_MEMORY_CLOCK_RATE
public static final int ATTRIBUTE_MULTIPROCESSOR_COUNT
public static final int ATTRIBUTE_PCI_BUS_ID
public static final int ATTRIBUTE_PCI_DEVICE_ID
public static final int ATTRIBUTE_PCI_DOMAIN_ID
public static final int ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED
public static final int ATTRIBUTE_SURFACE_ALIGNMENT
public static final int ATTRIBUTE_TCC_DRIVER
public static final int ATTRIBUTE_TEXTURE_ALIGNMENT
public static final int ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT
public static final int ATTRIBUTE_TOTAL_CONSTANT_MEMORY
public static final int ATTRIBUTE_UNIFIED_ADDRESSING
public static final int ATTRIBUTE_WARP_SIZE
public static final int COMPUTE_MODE_DEFAULT
public static final int COMPUTE_MODE_PROCESS_EXCLUSIVE
public static final int COMPUTE_MODE_PROHIBITED
public static final int COMPUTE_MODE_THREAD_EXCLUSIVE
public static final int FLAG_LMEM_RESIZE_TO_MAX
public static final int FLAG_MAP_HOST
public static final int FLAG_SCHED_AUTO
public static final int FLAG_SCHED_BLOCKING_SYNC
public static final int FLAG_SCHED_SPIN
public static final int FLAG_SCHED_YIELD
public static final int MASK_SCHED
public CudaDevice(int deviceId)
deviceId
.
No checking is done on deviceId
, but it must be non-negative
and less than the value returned getCount()
to be useful.
deviceId
- an integer identifying the device of interestpublic static int getCount() throws CudaException
CudaException
- if a CUDA exception occurs@Deprecated public static int getDriverVersion() throws CudaException
CudaException
- if a CUDA exception occurs@Deprecated public static int getRuntimeVersion() throws CudaException
CudaException
- if a CUDA exception occurspublic void addCallback(Runnable callback) throws CudaException
callback
to be executed when the associated
device has completed all previous actions in the default stream.callback
- code to runCudaException
- if a CUDA exception occurspublic boolean canAccessPeer(CudaDevice peerDevice) throws CudaException
peerDevice
.peerDevice
- the peer devicepeerDevice
,
false otherwiseCudaException
- if a CUDA exception occurspublic void disablePeerAccess(CudaDevice peerDevice) throws CudaException
peerDevice
by this device.peerDevice
- the peer deviceCudaException
- if a CUDA exception occursSecurityException
- if a security manager exists and the calling thread
does not have permission to disable peer accesspublic void enablePeerAccess(CudaDevice peerDevice) throws CudaException
peerDevice
by this device.peerDevice
- the peer deviceCudaException
- if a CUDA exception occursSecurityException
- if a security manager exists and the calling thread
does not have permission to enable peer accesspublic boolean equals(Object other)
equals
in class Object
other
- Object
the object to compare with this object.true
if the object is the same as this object
false
if it is different from this object.Object.hashCode()
public int getAttribute(int attribute) throws CudaException
attribute
.attribute
- the attribute to be queried (see ATTRIBUTE_XXX)CudaException
- if a CUDA exception occurspublic CudaDevice.CacheConfig getCacheConfig() throws CudaException
CudaException
- if a CUDA exception occurspublic int getDeviceId()
public long getFreeMemory() throws CudaException
CudaException
- if a CUDA exception occurspublic int getGreatestStreamPriority() throws CudaException
CudaException
- if a CUDA exception occurspublic int getLeastStreamPriority() throws CudaException
CudaException
- if a CUDA exception occurspublic long getLimit(CudaDevice.Limit limit) throws CudaException
limit
.limit
- the limit to be queriedCudaException
- if a CUDA exception occurspublic String getName() throws CudaException
CudaException
- if a CUDA exception occurspublic CudaDevice.SharedMemConfig getSharedMemConfig() throws CudaException
CudaException
- if a CUDA exception occurspublic long getTotalMemory() throws CudaException
CudaException
- if a CUDA exception occurspublic int hashCode()
java.lang.Object
true
when passed to
.equals
must answer the same value for this
method.hashCode
in class Object
Object.equals(java.lang.Object)
public void setCacheConfig(CudaDevice.CacheConfig config) throws CudaException
config
- the desired cache configurationCudaException
- if a CUDA exception occursSecurityException
- if a security manager exists and the calling thread
does not have permission to set device cache configurationspublic void setLimit(CudaDevice.Limit limit, long value) throws CudaException
limit
.limit
- the limit to be configuredvalue
- the desired limit valueCudaException
- if a CUDA exception occursSecurityException
- if a security manager exists and the calling thread
does not have permission to set device limitspublic void setSharedMemConfig(CudaDevice.SharedMemConfig config) throws CudaException
config
- the desired shared memory configurationCudaException
- if a CUDA exception occursSecurityException
- if a security manager exists and the calling thread does
not have permission to set device shared memory configurationspublic void synchronize() throws CudaException
CudaException
- if a CUDA exception occursEclipse OpenJ9 website.
To raise a bug report or suggest an improvement create an Eclipse OpenJ9 issue.
Copyright © 2013, 2025 IBM Corp. and others.