The main cuRVE header file for the CUDA Runtime Struct Variable Environment (cuRVE) Based off the following article http:// www.gamasutra.com/view/news/127915/InDepth_Quasi_CompileTime_String_Hashing.php This file contains definitions common to HostCurve and DeviceCurve
CUDA does not implement atomicAdd(double*, double) for pre-pascal GPUs, which do not have the underlying hardware instruction. A CAS based software implementation is required instead, which will be much slower. This implementation is based on the reference implementation prodived by the CUDA toolkit documentation.
Utility namespace for handling of NVTX profiling markers/ranges, wrapped in macros to avoid performance impact if not enabled.
USE_NVTX must be defined to be enabled. Use NVTX_PUSH, NVTX_POP, NVTX_RANGE macros to use.