Alsvinn  0.5.3
The fast FVM simulator with UQ support
Namespaces | Macros | Functions
cuda_utils.hpp File Reference
#include "cuda.h"
#include "cuda_runtime.h"
#include <iostream>
#include <exception>
#include "alsutils/types.hpp"
#include "alsutils/error/Exception.hpp"
#include "alsutils/cuda/cuda_safe_call.hpp"

Go to the source code of this file.

Namespaces

 alsfvm
 Various utility functions to implement the tecno flux.
 
 alsfvm::cuda
 

Macros

#define CUDA_CHECK_IF_DEBUG
 

Functions

dim3 alsfvm::cuda::calculateBlockDimensions (size_t numberOfXCells, size_t numberOfYCells, size_t numberOfZCells)
 
dim3 alsfvm::cuda::calculateGridDimensions (size_t numberOfXCells, size_t numberOfYCells, size_t numberOfZCells, dim3 blockDimensions)
 
ivec3 __device__ alsfvm::cuda::getCoordinates (dim3 threadIdx, dim3 blockIdx, dim3 blockDim, size_t numberOfXCells, size_t numberOfYCells, size_t numberOfZCells, ivec3 directionVector)
 
std::tuple< int, ivec3 > alsfvm::cuda::makeKernelLaunchParameters (ivec3 start, ivec3 end, size_t blockSize)
 Gets teh kernel launch paramemters. More...
 

Macro Definition Documentation

◆ CUDA_CHECK_IF_DEBUG

#define CUDA_CHECK_IF_DEBUG
Value:
{ \
CUDA_SAFE_CALL(cudaGetLastError()); \
CUDA_SAFE_CALL(cudaDeviceSynchronize()); \
CUDA_SAFE_CALL(cudaGetLastError()); \
}

If in debug mode, checks if there has been any error with cuda.