5#ifndef __UTIL_TYPES_H__
6#define __UTIL_TYPES_H__
8#if !defined(__KERNEL_METAL__)
14#if !defined(__KERNEL_GPU__)
50 return (offset + alignment - 1) & ~(alignment - 1);
55 return (x + y - 1) /
y;
60 return ((x + multiple - 1) / multiple) * multiple;
65 return (x / multiple) * multiple;
70 return (x & (x - 1)) == 0;
76#if !defined(__KERNEL_GPU__) || defined(__KERNEL_CUDA__)
77# define __KERNEL_PRINTF__
82#ifdef __KERNEL_PRINTF__
89#if defined(__KERNEL_GPU__) && !defined(__KERNEL_ONEAPI__)
90# define __KERNEL_NATIVE_VECTOR_TYPES__
#define ccl_device_inline
#define CCL_NAMESPACE_END
unsigned __int64 uint64_t
ccl_device_inline size_t align_up(size_t offset, size_t alignment)
ccl_device_inline size_t round_down(size_t x, size_t multiple)
ccl_device_inline size_t round_up(size_t x, size_t multiple)
CCL_NAMESPACE_BEGIN typedef unsigned char uchar
ccl_device_inline bool is_power_of_two(size_t x)
ccl_device_inline size_t divide_up(size_t x, size_t y)
ccl_device_inline void print_float(ccl_private const char *label, const float a)