5#ifndef __UTIL_TYPES_H__
6#define __UTIL_TYPES_H__
8#if !defined(__KERNEL_METAL__)
14#if !defined(__KERNEL_GPU__)
37typedef unsigned int uint;
38typedef unsigned short ushort;
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__
83 printf(
"%s: %.8f\n", label, (
double)a);
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_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)