cheshirekow
v0.1.0
|
Namespaces | |
bitonic | |
linalg | |
linalg2 | |
polynomial | |
Classes | |
class | CudaException |
an exception which carries a standard error code More... | |
class | CudaExceptionStream |
used to simplify the process of generating an exception message More... | |
struct | DeviceProp |
class | ExceptionStream |
used to simplify the process of generating an exception message More... | |
struct | FuncAttributes |
Typedefs | |
typedef CudaExceptionStream | cudaEx |
typedef ExceptionStream < std::runtime_error > | ex |
typedef std::map< std::string, FuncAttributes > | fattrMap_t |
print a formatted report about the specified kernels More... | |
typedef cudaMemcpyKind | MemcpyKind |
Functions | |
void | checkLastError (const std::string &msg="checkLastError") |
wraps getLastError More... | |
void | checkResult (cudaError_t result, const std::string &where) |
throws an exception if result is not success More... | |
void | deviceSynchronize () |
blocks the host thread until kernels are done executing More... | |
template<typename T > | |
T | divideBy2 (const T &x) |
returns x/2 (using bit shift), if x is odd then the result is floor(x/2) More... | |
template<typename T > | |
T | dividePow2 (T x, T y) |
returns x/y if x and y are both powers of two, otherwise the result is undefined More... | |
void | free (void *devPtr) |
wraps cudaFree More... | |
template<unsigned int I, typename T > | |
T | getBit (T x) |
returns the value of the specified bit More... | |
int | getDevice () |
wraps cudaGetDevice More... | |
int | getDeviceCount () |
wraps cudaGetDeviceCount More... | |
template<class oiter > | |
void | getDeviceList (oiter &out) |
build a list of device names More... | |
DeviceProp | getDeviceProperties (int dev) |
wraps cudaGetDeviceProperties More... | |
template<typename T > | |
T | intDivideRoundUp (T x, T y) |
integer divide with round up More... | |
template<typename T > | |
T | intPow (T x, T p) |
returns x to the power of p More... | |
template<typename T > | |
T | isEven (T x) |
returns true if the number is even More... | |
template<typename T > | |
T | isOdd (T x) |
returns true if the number is odd More... | |
template<typename T > | |
bool | isPow2 (T x) |
returns true if the parameter is an exact power of two More... | |
template<typename T > | |
T | log2 (T x) |
if x is a power of two then it returns the log of x with base 2 More... | |
void * | malloc (size_t size) |
wraps cudaMalloc More... | |
void * | mallocPitch (size_t &pitch, size_t cols, size_t rows) |
wraps cudaMallocPitch More... | |
template<typename T > | |
T * | mallocPitchT (size_t &pitch, size_t obsPerRow, size_t cols) |
allocates nObjs objects of type T More... | |
template<typename T > | |
T * | mallocT (size_t nObjs) |
allocates nObjs objects of type T More... | |
void | memcpy (void *dst, const void *src, size_t count, MemcpyKind kind) |
wraps cudaMemcpy More... | |
void | memcpy2D (void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, MemcpyKind kind) |
wraps cudaMemcpy2D More... | |
template<typename T > | |
void | memcpy2DT (T *dst, size_t dpitchBytes, const T *src, size_t spitchBytes, size_t widthObs, size_t height, MemcpyKind kind) |
wraps cudaMemcpy2D More... | |
template<typename T > | |
void | memcpyT (T *dst, const T *src, size_t nObjs, MemcpyKind kind) |
allocates nObjs objects of type T More... | |
void | memset (void *devPtr, int value, size_t count) |
wraps cudaMemset More... | |
template<typename T > | |
void | memset (T *devPtr, int value, size_t nObs) |
wraps cudaMemset More... | |
void | memset2D (void *devPtr, size_t pitch, int value, size_t width, size_t height) |
wraps cudaMemset2D More... | |
template<typename T > | |
void | memset2DT (T *devPtr, size_t pitchBytes, int value, size_t widthObjs, size_t height) |
wraps cudaMemset2D More... | |
template<typename T > | |
T | nextPow2 (T x) |
returns the smallest power of two that is not less than x More... | |
template<typename T > | |
T | prevPow2 (T x) |
returns the largest power of two that is not greater than x More... | |
void | printDeviceReport (std::ostream &out, int dev) |
print a formatted report about the specified device More... | |
void | printDeviceReport (std::ostream &out) |
void | printKernelReport (std::ostream &out, const fattrMap_t &attr) |
void | setDevice (int dev) |
wraps cudaSetDevice More... | |
template<typename T > | |
T | times2 (const T &x) |
returns x*2 (using bit shift) More... | |
template<typename T > | |
T | twoPow (T x) |
returns 2 to the power of x (2^x) More... | |
Definition at line 120 of file ExceptionStream.h.
typedef ExceptionStream<std::runtime_error> mpblocks::cuda::ex |
Definition at line 119 of file ExceptionStream.h.
typedef std::map<std::string,FuncAttributes> mpblocks::cuda::fattrMap_t |
typedef cudaMemcpyKind mpblocks::cuda::MemcpyKind |
void mpblocks::cuda::checkLastError | ( | const std::string & | msg = "checkLastError" | ) |
wraps getLastError
void mpblocks::cuda::checkResult | ( | cudaError_t | result, |
const std::string & | where | ||
) |
throws an exception if result is not success
void mpblocks::cuda::deviceSynchronize | ( | ) |
blocks the host thread until kernels are done executing
void mpblocks::cuda::free | ( | void * | devPtr | ) |
wraps cudaFree
int mpblocks::cuda::getDevice | ( | ) |
wraps cudaGetDevice
int mpblocks::cuda::getDeviceCount | ( | ) |
wraps cudaGetDeviceCount
void mpblocks::cuda::getDeviceList | ( | oiter & | out | ) |
DeviceProp mpblocks::cuda::getDeviceProperties | ( | int | dev | ) |
wraps cudaGetDeviceProperties
void* mpblocks::cuda::malloc | ( | size_t | size | ) |
wraps cudaMalloc
void* mpblocks::cuda::mallocPitch | ( | size_t & | pitch, |
size_t | cols, | ||
size_t | rows | ||
) |
wraps cudaMallocPitch
T * mpblocks::cuda::mallocPitchT | ( | size_t & | pitch, |
size_t | obsPerRow, | ||
size_t | cols | ||
) |
T * mpblocks::cuda::mallocT | ( | size_t | nObjs | ) |
void mpblocks::cuda::memcpy | ( | void * | dst, |
const void * | src, | ||
size_t | count, | ||
MemcpyKind | kind | ||
) |
wraps cudaMemcpy
void mpblocks::cuda::memcpy2D | ( | void * | dst, |
size_t | dpitch, | ||
const void * | src, | ||
size_t | spitch, | ||
size_t | width, | ||
size_t | height, | ||
MemcpyKind | kind | ||
) |
wraps cudaMemcpy2D
void mpblocks::cuda::memcpy2DT | ( | T * | dst, |
size_t | dpitchBytes, | ||
const T * | src, | ||
size_t | spitchBytes, | ||
size_t | widthObs, | ||
size_t | height, | ||
MemcpyKind | kind | ||
) |
void mpblocks::cuda::memcpyT | ( | T * | dst, |
const T * | src, | ||
size_t | nObjs, | ||
MemcpyKind | kind | ||
) |
void mpblocks::cuda::memset | ( | void * | devPtr, |
int | value, | ||
size_t | count | ||
) |
wraps cudaMemset
void mpblocks::cuda::memset | ( | T * | devPtr, |
int | value, | ||
size_t | nObs | ||
) |
void mpblocks::cuda::memset2D | ( | void * | devPtr, |
size_t | pitch, | ||
int | value, | ||
size_t | width, | ||
size_t | height | ||
) |
wraps cudaMemset2D
void mpblocks::cuda::memset2DT | ( | T * | devPtr, |
size_t | pitchBytes, | ||
int | value, | ||
size_t | widthObjs, | ||
size_t | height | ||
) |
|
inline |
returns the largest power of two that is not greater than x
If x
is a power of two, then it returns x, otherwise, it returns the next lower one
For example:
x prev next ------ ------ ------ 0 : 0 0 1 : 1 1 2 : 2 2 3 : 2 4 4 : 4 4 5 : 4 8 6 : 4 8 7 : 4 8 8 : 8 8
Definition at line 137 of file powersOfTwo.h.
void mpblocks::cuda::printDeviceReport | ( | std::ostream & | out, |
int | dev | ||
) |
print a formatted report about the specified device
void mpblocks::cuda::printDeviceReport | ( | std::ostream & | out | ) |
void mpblocks::cuda::printKernelReport | ( | std::ostream & | out, |
const fattrMap_t & | attr | ||
) |
void mpblocks::cuda::setDevice | ( | int | dev | ) |
wraps cudaSetDevice