Blender  V3.3
Macros | Typedefs | Functions
hip/compat.h File Reference
#include <stdint.h>
#include "util/half.h"
#include "util/types.h"

Go to the source code of this file.

Macros

#define __KERNEL_GPU__
 
#define __KERNEL_HIP__
 
#define CCL_NAMESPACE_BEGIN
 
#define CCL_NAMESPACE_END
 
#define ATTR_FALLTHROUGH
 
#define ccl_device   __device__ __inline__
 
#define ccl_device_inline   __device__ __inline__
 
#define ccl_device_forceinline   __device__ __forceinline__
 
#define ccl_device_noinline   __device__ __noinline__
 
#define ccl_device_noinline_cpu   ccl_device
 
#define ccl_device_inline_method   ccl_device
 
#define ccl_global
 
#define ccl_inline_constant   __constant__
 
#define ccl_device_constant   __constant__ __device__
 
#define ccl_constant   const
 
#define ccl_gpu_shared   __shared__
 
#define ccl_private
 
#define ccl_may_alias
 
#define ccl_restrict   __restrict__
 
#define ccl_loop_no_unroll
 
#define ccl_align(n)   __align__(n)
 
#define ccl_optional_struct_init
 
#define kernel_assert(cond)
 
#define ccl_gpu_thread_idx_x   (threadIdx.x)
 
#define ccl_gpu_block_dim_x   (blockDim.x)
 
#define ccl_gpu_block_idx_x   (blockIdx.x)
 
#define ccl_gpu_grid_dim_x   (gridDim.x)
 
#define ccl_gpu_warp_size   (warpSize)
 
#define ccl_gpu_thread_mask(thread_warp)   uint64_t((1ull << thread_warp) - 1)
 
#define ccl_gpu_global_id_x()   (ccl_gpu_block_idx_x * ccl_gpu_block_dim_x + ccl_gpu_thread_idx_x)
 
#define ccl_gpu_global_size_x()   (ccl_gpu_grid_dim_x * ccl_gpu_block_dim_x)
 
#define ccl_gpu_syncthreads()   __syncthreads()
 
#define ccl_gpu_ballot(predicate)   __ballot(predicate)
 
#define cosf(x)   __cosf(((float)(x)))
 
#define sinf(x)   __sinf(((float)(x)))
 
#define powf(x, y)   __powf(((float)(x)), ((float)(y)))
 
#define tanf(x)   __tanf(((float)(x)))
 
#define logf(x)   __logf(((float)(x)))
 
#define expf(x)   __expf(((float)(x)))
 

Typedefs

typedef hipTextureObject_t ccl_gpu_tex_object_2D
 
typedef hipTextureObject_t ccl_gpu_tex_object_3D
 

Functions

template<typename T >
ccl_device_forceinline T ccl_gpu_tex_object_read_2D (const ccl_gpu_tex_object_2D texobj, const float x, const float y)
 
template<typename T >
ccl_device_forceinline T ccl_gpu_tex_object_read_3D (const ccl_gpu_tex_object_3D texobj, const float x, const float y, const float z)
 

Macro Definition Documentation

◆ __KERNEL_GPU__

#define __KERNEL_GPU__

Definition at line 6 of file hip/compat.h.

◆ __KERNEL_HIP__

#define __KERNEL_HIP__

Definition at line 7 of file hip/compat.h.

◆ ATTR_FALLTHROUGH

#define ATTR_FALLTHROUGH

Definition at line 12 of file hip/compat.h.

◆ ccl_align

#define ccl_align (   n)    __align__(n)

Definition at line 45 of file hip/compat.h.

◆ ccl_constant

#define ccl_constant   const

Definition at line 39 of file hip/compat.h.

◆ ccl_device

#define ccl_device   __device__ __inline__

Definition at line 30 of file hip/compat.h.

◆ ccl_device_constant

#define ccl_device_constant   __constant__ __device__

Definition at line 38 of file hip/compat.h.

◆ ccl_device_forceinline

#define ccl_device_forceinline   __device__ __forceinline__

Definition at line 32 of file hip/compat.h.

◆ ccl_device_inline

#define ccl_device_inline   __device__ __inline__

Definition at line 31 of file hip/compat.h.

◆ ccl_device_inline_method

#define ccl_device_inline_method   ccl_device

Definition at line 35 of file hip/compat.h.

◆ ccl_device_noinline

#define ccl_device_noinline   __device__ __noinline__

Definition at line 33 of file hip/compat.h.

◆ ccl_device_noinline_cpu

#define ccl_device_noinline_cpu   ccl_device

Definition at line 34 of file hip/compat.h.

◆ ccl_global

#define ccl_global

Definition at line 36 of file hip/compat.h.

◆ ccl_gpu_ballot

#define ccl_gpu_ballot (   predicate)    __ballot(predicate)

Definition at line 73 of file hip/compat.h.

◆ ccl_gpu_block_dim_x

#define ccl_gpu_block_dim_x   (blockDim.x)

Definition at line 61 of file hip/compat.h.

◆ ccl_gpu_block_idx_x

#define ccl_gpu_block_idx_x   (blockIdx.x)

Definition at line 62 of file hip/compat.h.

◆ ccl_gpu_global_id_x

Definition at line 67 of file hip/compat.h.

◆ ccl_gpu_global_size_x

#define ccl_gpu_global_size_x ( )    (ccl_gpu_grid_dim_x * ccl_gpu_block_dim_x)

Definition at line 68 of file hip/compat.h.

◆ ccl_gpu_grid_dim_x

#define ccl_gpu_grid_dim_x   (gridDim.x)

Definition at line 63 of file hip/compat.h.

◆ ccl_gpu_shared

#define ccl_gpu_shared   __shared__

Definition at line 40 of file hip/compat.h.

◆ ccl_gpu_syncthreads

#define ccl_gpu_syncthreads ( )    __syncthreads()

Definition at line 72 of file hip/compat.h.

◆ ccl_gpu_thread_idx_x

#define ccl_gpu_thread_idx_x   (threadIdx.x)

Definition at line 60 of file hip/compat.h.

◆ ccl_gpu_thread_mask

#define ccl_gpu_thread_mask (   thread_warp)    uint64_t((1ull << thread_warp) - 1)

Definition at line 65 of file hip/compat.h.

◆ ccl_gpu_warp_size

#define ccl_gpu_warp_size   (warpSize)

Definition at line 64 of file hip/compat.h.

◆ ccl_inline_constant

#define ccl_inline_constant   __constant__

Definition at line 37 of file hip/compat.h.

◆ ccl_loop_no_unroll

#define ccl_loop_no_unroll

Definition at line 44 of file hip/compat.h.

◆ ccl_may_alias

#define ccl_may_alias

Definition at line 42 of file hip/compat.h.

◆ CCL_NAMESPACE_BEGIN

#define CCL_NAMESPACE_BEGIN

Definition at line 8 of file hip/compat.h.

◆ CCL_NAMESPACE_END

#define CCL_NAMESPACE_END

Definition at line 9 of file hip/compat.h.

◆ ccl_optional_struct_init

#define ccl_optional_struct_init

Definition at line 46 of file hip/compat.h.

◆ ccl_private

#define ccl_private

Definition at line 41 of file hip/compat.h.

◆ ccl_restrict

#define ccl_restrict   __restrict__

Definition at line 43 of file hip/compat.h.

◆ cosf

#define cosf (   x)    __cosf(((float)(x)))

Definition at line 98 of file hip/compat.h.

◆ expf

#define expf (   x)    __expf(((float)(x)))

Definition at line 103 of file hip/compat.h.

◆ kernel_assert

#define kernel_assert (   cond)

Definition at line 48 of file hip/compat.h.

◆ logf

#define logf (   x)    __logf(((float)(x)))

Definition at line 102 of file hip/compat.h.

◆ powf

#define powf (   x,
  y 
)    __powf(((float)(x)), ((float)(y)))

Definition at line 100 of file hip/compat.h.

◆ sinf

#define sinf (   x)    __sinf(((float)(x)))

Definition at line 99 of file hip/compat.h.

◆ tanf

#define tanf (   x)    __tanf(((float)(x)))

Definition at line 101 of file hip/compat.h.

Typedef Documentation

◆ ccl_gpu_tex_object_2D

typedef hipTextureObject_t ccl_gpu_tex_object_2D

Definition at line 76 of file hip/compat.h.

◆ ccl_gpu_tex_object_3D

typedef hipTextureObject_t ccl_gpu_tex_object_3D

Definition at line 77 of file hip/compat.h.

Function Documentation

◆ ccl_gpu_tex_object_read_2D()

template<typename T >
ccl_device_forceinline T ccl_gpu_tex_object_read_2D ( const ccl_gpu_tex_object_2D  texobj,
const float  x,
const float  y 
)

Definition at line 80 of file hip/compat.h.

References x, and y.

◆ ccl_gpu_tex_object_read_3D()

template<typename T >
ccl_device_forceinline T ccl_gpu_tex_object_read_3D ( const ccl_gpu_tex_object_3D  texobj,
const float  x,
const float  y,
const float  z 
)

Definition at line 88 of file hip/compat.h.

References x, y, and z.