2#include <cuda_runtime.h>
7#include <source_location>
11 return (M + N - 1) / N;
17 : std::runtime_error(
buildMessage( error, file, line ) )
23 static std::string
buildMessage( cudaError_t error,
const std::string& file,
int line ) {
24 return "[CUDA ERROR] at file " + file +
":" + std::to_string( line ) +
25 ":\n" + cudaGetErrorString( error );
31inline void cudaCheck( cudaError_t error,
const std::source_location& loc = std::source_location::current() ) {
32 if ( error != cudaSuccess ) {
constexpr int ceil_div(int M, int N)
Definition CudaUtils.h:10
void cudaCheck(cudaError_t error, const std::source_location &loc=std::source_location::current())
Definition CudaUtils.h:31
Definition CudaUtils.h:14
static std::string buildMessage(cudaError_t error, const std::string &file, int line)
Definition CudaUtils.h:23
CudaException(cudaError_t error, const std::string &file, int line)
Definition CudaUtils.h:16
cudaError_t getError() const
Definition CudaUtils.h:20
cudaError_t m_error
Definition CudaUtils.h:28