38 lines
814 B
C++
38 lines
814 B
C++
#pragma once
|
|
|
|
#include <cuda_bf16.h>
|
|
#include <cuda_fp8.h>
|
|
#include <cuda/std/cstdint>
|
|
#include <cuda/std/utility>
|
|
#include <cute/container/tuple.hpp>
|
|
|
|
#ifdef __CLION_IDE__
|
|
|
|
__host__ __device__ __forceinline__ void host_device_printf(const char* format, ...) {
|
|
asm volatile("trap;");
|
|
}
|
|
|
|
#define printf host_device_printf
|
|
#endif
|
|
|
|
#ifndef DG_DEVICE_ASSERT
|
|
#define DG_DEVICE_ASSERT(cond) \
|
|
do { \
|
|
if (not (cond)) { \
|
|
printf("Assertion failed: %s:%d, condition: %s\n", __FILE__, __LINE__, #cond); \
|
|
asm("trap;"); \
|
|
} \
|
|
} while (0)
|
|
#endif
|
|
|
|
#ifndef DG_TRAP_ONLY_DEVICE_ASSERT
|
|
#define DG_TRAP_ONLY_DEVICE_ASSERT(cond) \
|
|
do { \
|
|
if (not (cond)) \
|
|
asm("trap;"); \
|
|
} while (0)
|
|
#endif
|
|
|
|
#ifndef DG_STATIC_ASSERT
|
|
#define DG_STATIC_ASSERT(cond, ...) static_assert(cond, __VA_ARGS__)
|
|
#endif |