Namespace flamegpu

Detailed Description

THIS CLASS SHOULD NOT BE INCLUDED DIRECTLY Include File AgentVector.h instead Use AgentVector::CAgent instead of Class AgentVector_CAgent Use AgentVector::Agent instead of Class AgentVector_Agent

The main cuRVE header file for the CUDA Runtime Struct Variable Environment (cuRVE) Based off the following article http:// 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.

Macro USE_NVTX must be defined to be enabled. Use NVTX_PUSH, NVTX_POP, NVTX_RANGE macros to use.