"torchvision/models/vscode:/vscode.git/clone" did not exist on "0b02d420f76615fce15f04a1433cc89d30382e34"
config_amd.hpp.in 749 Bytes
Newer Older
Chao Liu's avatar
Chao Liu committed
1
2
#ifndef CK_CONFIG_AMD_HPP
#define CK_CONFIG_AMD_HPP
Chao Liu's avatar
Chao Liu committed
3
4
5
6

#include "hip/hip_runtime.h"
#include "hip/hip_fp16.h"

Chao Liu's avatar
Chao Liu committed
7
8
#define CK_DEVICE_BACKEND_AMD 1
#define CK_USE_AMD_INLINE_ASM 1
Chao Liu's avatar
Chao Liu committed
9
10
11
#define CK_EXPERIMENTAL_USE_MORE_COMPILE_STATIC_BLOCKWISE_GENERIC_SLICE_COPY_V1 1
#define CK_EXPERIMENTAL_USE_MORE_COMPILE_STATIC_THREADWISE_GENERIC_TENSOR_SLICE_COPY_V1 0

Chao Liu's avatar
Chao Liu committed
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
namespace ck {

// For some reason, HIP compiler need this definition to generate optimal load and store
// instruction
typedef float float2_t __attribute__((ext_vector_type(2)));
typedef float float4_t __attribute__((ext_vector_type(4)));

using index_t = uint32_t;

__device__ void fused_multiply_accumulate(float& d, const float& s0, const float& s1)
{
    d += s0 * s1;
}

} // namespace ck

#endif