SkePU  1.2
 All Classes Namespaces Files Functions Variables Enumerations Friends Macros Groups Pages
Public Member Functions | List of all members
skepu::Device_CU Class Reference

A class representing a CUDA device. More...

#include <device_cu.h>

Public Member Functions

 Device_CU (unsigned int id)
 
 ~Device_CU ()
 The destructor.
 
bool isOverlapSupported ()
 
size_t getMaxBlockSize () const
 
int getMajorVersion () const
 
int getMinorVersion () const
 
unsigned int getSmPerMultiProc () const
 
std::string getDeviceName () const
 
int getClockRate () const
 
int getAsyncEngineCount () const
 
bool IsConcurrentKernels () const
 
unsigned int getNoConcurrentKernels () const
 
int getNumComputeUnits () const
 
size_t getGlobalMemSize () const
 
size_t getSharedMemPerBlock () const
 
size_t getMaxThreads () const
 
size_t getMaxBlocks () const
 
unsigned int getDeviceID () const
 

Detailed Description

A class representing a CUDA device.

This class represents one CUDA device which can be used to execute the skeletons on if CUDA is used as backend. Stores various properties about the device and provides functions that return them.

Constructor & Destructor Documentation

skepu::Device_CU::Device_CU ( unsigned int  id)
inline

The constructor creates a device from an ID and gets all its properties.

Parameters
idDevice ID for the device that is to be created.

Member Function Documentation

int skepu::Device_CU::getAsyncEngineCount ( ) const
inline
Returns
The integer specifying whether the overlap is support between pinned memory transfer and kernel launches (value>0 if supported) and/or between pinned memory HTD and DTH (value=2 if supported).
int skepu::Device_CU::getClockRate ( ) const
inline

test

Returns
The clock rate of current GPU.
unsigned int skepu::Device_CU::getDeviceID ( ) const
inline
std::string skepu::Device_CU::getDeviceName ( ) const
inline
Returns
The name of current GPU.
size_t skepu::Device_CU::getGlobalMemSize ( ) const
inline
Returns
The global memory size.
int skepu::Device_CU::getMajorVersion ( ) const
inline
Returns
The major version.
size_t skepu::Device_CU::getMaxBlocks ( ) const
inline
Returns
The maximum number of blocks or groups for a kernel launch.

Referenced by skepu::scanLargeVectorRecursivelyM_CU().

size_t skepu::Device_CU::getMaxBlockSize ( ) const
inline
Returns
The maximum block size.
size_t skepu::Device_CU::getMaxThreads ( ) const
inline
Returns
The maximum number of threads per block or group.

Referenced by skepu::scanLargeVectorRecursivelyM_CU().

int skepu::Device_CU::getMinorVersion ( ) const
inline
Returns
The minor version.
unsigned int skepu::Device_CU::getNoConcurrentKernels ( ) const
inline
Returns
The integer specifying the max number of concurrent kernels supported on this GPU (if not supprted then return 1).

Referenced by skepu::Reduce< ReduceFunc, ReduceFunc >::CU().

int skepu::Device_CU::getNumComputeUnits ( ) const
inline
Returns
The maximum number of compute units available.
size_t skepu::Device_CU::getSharedMemPerBlock ( ) const
inline
Returns
The shared memory size.
unsigned int skepu::Device_CU::getSmPerMultiProc ( ) const
inline
Returns
The number of streaming processors per multiprocessor for current GPU.
bool skepu::Device_CU::IsConcurrentKernels ( ) const
inline
Returns
The boolean specifying whether the concurrent kernels are supported on this GPU or not. If supported maximum kernels count is 16.
bool skepu::Device_CU::isOverlapSupported ( )
inline

Returns whether the device supports overlap (memory,kernel) operation or not


The documentation for this class was generated from the following file: