FZGPUModules 1.0
GPU-accelerated modular compression pipeline
Loading...
Searching...
No Matches
cuda_check.h
1#pragma once
2
3#include <cuda_runtime.h>
4#include <stdexcept>
5#include <string>
6
7#include "log.h"
8
33#define FZ_CUDA_CHECK(call) \
34 do { \
35 cudaError_t _fz_cuda_err_ = (call); \
36 if (_fz_cuda_err_ != cudaSuccess) { \
37 throw std::runtime_error( \
38 std::string("[fzgmod] CUDA error at " __FILE__ ":") + \
39 std::to_string(__LINE__) + \
40 " — " #call " → " + \
41 cudaGetErrorString(_fz_cuda_err_)); \
42 } \
43 } while (0)
44
45#define FZ_CUDA_CHECK_WARN(call) \
46 do { \
47 cudaError_t _fz_cuda_err_ = (call); \
48 if (_fz_cuda_err_ != cudaSuccess) { \
49 FZ_LOG(WARN, \
50 "CUDA error at %s:%d — " #call " → %s", \
51 __FILE__, __LINE__, \
52 cudaGetErrorString(_fz_cuda_err_)); \
53 } \
54 } while (0)