Source: https://docs.nvidia.com/cuda/pdf/CUDA_C_Best_Practices_Guide.pdf