Skip to content

Commit 6e027fb

Browse files
committed
issue/1081 - fix hygon nv_bf16
1 parent 05a4e27 commit 6e027fb

File tree

14 files changed

+109
-14
lines changed

14 files changed

+109
-14
lines changed

src/infiniop/ops/addcmul/cuda/kernel.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public:
2222
float f_t2 = __half2float(t2);
2323
return __float2half(f_input + v * f_t1 * f_t2);
2424

25-
} else if constexpr (std::is_same_v<T, nv_bfloat16>) {
25+
} else if constexpr (std::is_same_v<T, cuda_bfloat16>) {
2626
float f_input = __bfloat162float(input);
2727
float f_t1 = __bfloat162float(t1);
2828
float f_t2 = __bfloat162float(t2);

src/infiniop/ops/addcmul/nvidia/addcmul_nvidia.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ infiniStatus_t Descriptor::calculate(
166166
case INFINI_DTYPE_F16:
167167
return launch_addcmul_kernel<half>(this, output, inputs, stream);
168168
case INFINI_DTYPE_BF16:
169-
return launch_addcmul_kernel<nv_bfloat16>(this, output, inputs, stream);
169+
return launch_addcmul_kernel<cuda_bfloat16>(this, output, inputs, stream);
170170
case INFINI_DTYPE_F32:
171171
return launch_addcmul_kernel<float>(this, output, inputs, stream);
172172
case INFINI_DTYPE_F64:

src/infiniop/ops/addcmul/operator.cc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifdef ENABLE_CPU_API
66
#include "cpu/addcmul_cpu.h"
77
#endif
8-
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API)
8+
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API) || defined(ENABLE_HYGON_API)
99
#include "nvidia/addcmul_nvidia.cuh"
1010
#endif
1111
#ifdef ENABLE_METAX_API
@@ -52,6 +52,9 @@ __INFINI_C infiniStatus_t infiniopCreateAddcmulDescriptor(
5252
#ifdef ENABLE_QY_API
5353
CREATE(INFINI_DEVICE_QY, nvidia);
5454
#endif
55+
#ifdef ENABLE_HYGON_API
56+
CREATE(INFINI_DEVICE_HYGON, nvidia);
57+
#endif
5558
#ifdef ENABLE_METAX_API
5659
CREATE(INFINI_DEVICE_METAX, metax);
5760
#endif
@@ -90,6 +93,9 @@ __INFINI_C infiniStatus_t infiniopGetAddcmulWorkspaceSize(infiniopAddcmulDescrip
9093
#ifdef ENABLE_QY_API
9194
GET(INFINI_DEVICE_QY, nvidia);
9295
#endif
96+
#ifdef ENABLE_HYGON_API
97+
GET(INFINI_DEVICE_HYGON, nvidia);
98+
#endif
9399
#ifdef ENABLE_METAX_API
94100
GET(INFINI_DEVICE_METAX, metax);
95101
#endif
@@ -136,6 +142,9 @@ __INFINI_C infiniStatus_t infiniopAddcmul(
136142
#ifdef ENABLE_QY_API
137143
CALCULATE(INFINI_DEVICE_QY, nvidia);
138144
#endif
145+
#ifdef ENABLE_HYGON_API
146+
CALCULATE(INFINI_DEVICE_HYGON, nvidia);
147+
#endif
139148
#ifdef ENABLE_METAX_API
140149
CALCULATE(INFINI_DEVICE_METAX, metax);
141150
#endif
@@ -174,6 +183,9 @@ __INFINI_C infiniStatus_t infiniopDestroyAddcmulDescriptor(infiniopAddcmulDescri
174183
#ifdef ENABLE_QY_API
175184
DELETE(INFINI_DEVICE_QY, nvidia);
176185
#endif
186+
#ifdef ENABLE_HYGON_API
187+
DELETE(INFINI_DEVICE_HYGON, nvidia);
188+
#endif
177189
#ifdef ENABLE_METAX_API
178190
DELETE(INFINI_DEVICE_METAX, metax);
179191
#endif

src/infiniop/ops/all/operator.cc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#ifdef ENABLE_CPU_API
77
#include "cpu/all_cpu.h"
88
#endif
9-
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API)
9+
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API) || defined(ENABLE_HYGON_API)
1010
#include "nvidia/all_nvidia.cuh"
1111
#endif
1212
#ifdef ENABLE_METAX_API
@@ -53,6 +53,9 @@ __INFINI_C infiniStatus_t infiniopCreateAllDescriptor(
5353
#ifdef ENABLE_QY_API
5454
CREATE(INFINI_DEVICE_QY, nvidia);
5555
#endif
56+
#ifdef ENABLE_HYGON_API
57+
CREATE(INFINI_DEVICE_HYGON, nvidia);
58+
#endif
5659
#ifdef ENABLE_METAX_API
5760
CREATE(INFINI_DEVICE_METAX, metax);
5861
#endif
@@ -90,6 +93,9 @@ __INFINI_C infiniStatus_t infiniopGetAllWorkspaceSize(infiniopAllDescriptor_t de
9093
#ifdef ENABLE_QY_API
9194
GET(INFINI_DEVICE_QY, nvidia);
9295
#endif
96+
#ifdef ENABLE_HYGON_API
97+
GET(INFINI_DEVICE_HYGON, nvidia);
98+
#endif
9399
#ifdef ENABLE_METAX_API
94100
GET(INFINI_DEVICE_METAX, metax);
95101
#endif
@@ -138,6 +144,9 @@ __INFINI_C infiniStatus_t infiniopAll(
138144
#ifdef ENABLE_QY_API
139145
CALCULATE(INFINI_DEVICE_QY, nvidia);
140146
#endif
147+
#ifdef ENABLE_HYGON_API
148+
CALCULATE(INFINI_DEVICE_HYGON, nvidia);
149+
#endif
141150
#ifdef ENABLE_METAX_API
142151
CALCULATE(INFINI_DEVICE_METAX, metax);
143152
#endif
@@ -177,6 +186,9 @@ infiniopDestroyAllDescriptor(infiniopAllDescriptor_t desc) {
177186
#ifdef ENABLE_QY_API
178187
DELETE(INFINI_DEVICE_QY, nvidia);
179188
#endif
189+
#ifdef ENABLE_HYGON_API
190+
DELETE(INFINI_DEVICE_HYGON, nvidia);
191+
#endif
180192
#ifdef ENABLE_METAX_API
181193
DELETE(INFINI_DEVICE_METAX, metax);
182194
#endif

src/infiniop/ops/atanh/cuda/kernel.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public:
2121
} else if constexpr (std::is_same_v<T, half>) {
2222
// half 类型先转为 float 计算再转回
2323
return __float2half(atanhf(__half2float(a)));
24-
} else if constexpr (std::is_same_v<T, nv_bfloat16>) {
24+
} else if constexpr (std::is_same_v<T, cuda_bfloat16>) {
2525
// bfloat16 类型处理同上
2626
return __float2bfloat16(atanhf(__bfloat162float(a)));
2727
} else if constexpr (std::is_same_v<T, float>) {

src/infiniop/ops/atanh/nvidia/atanh_nvidia.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ infiniStatus_t Descriptor::calculate(
4444
case INFINI_DTYPE_F16:
4545
return _device_info->calculate<256, cuda::AtanhOp, half>(_info, workspace, output, inputs, stream);
4646
case INFINI_DTYPE_BF16:
47-
return _device_info->calculate<256, cuda::AtanhOp, nv_bfloat16>(_info, workspace, output, inputs, stream);
47+
return _device_info->calculate<256, cuda::AtanhOp, cuda_bfloat16>(_info, workspace, output, inputs, stream);
4848
case INFINI_DTYPE_F32:
4949
return _device_info->calculate<256, cuda::AtanhOp, float>(_info, workspace, output, inputs, stream);
5050
case INFINI_DTYPE_F64:

src/infiniop/ops/atanh/operator.cc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifdef ENABLE_CPU_API
66
#include "cpu/atanh_cpu.h"
77
#endif
8-
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API)
8+
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API) || defined(ENABLE_HYGON_API)
99
#include "nvidia/atanh_nvidia.cuh"
1010
#endif
1111
#ifdef ENABLE_METAX_API
@@ -49,6 +49,9 @@ __INFINI_C infiniStatus_t infiniopCreateAtanhDescriptor(
4949
#ifdef ENABLE_QY_API
5050
CREATE(INFINI_DEVICE_QY, nvidia);
5151
#endif
52+
#ifdef ENABLE_HYGON_API
53+
CREATE(INFINI_DEVICE_HYGON, nvidia);
54+
#endif
5255
#ifdef ENABLE_METAX_API
5356
CREATE(INFINI_DEVICE_METAX, metax);
5457
#endif
@@ -89,6 +92,9 @@ __INFINI_C infiniStatus_t infiniopGetAtanhWorkspaceSize(infiniopAtanhDescriptor_
8992
#ifdef ENABLE_QY_API
9093
GET(INFINI_DEVICE_QY, nvidia);
9194
#endif
95+
#ifdef ENABLE_HYGON_API
96+
GET(INFINI_DEVICE_HYGON, nvidia);
97+
#endif
9298
#ifdef ENABLE_METAX_API
9399
GET(INFINI_DEVICE_METAX, metax);
94100
#endif
@@ -134,6 +140,9 @@ __INFINI_C infiniStatus_t infiniopAtanh(
134140
#ifdef ENABLE_QY_API
135141
CALCULATE(INFINI_DEVICE_QY, nvidia);
136142
#endif
143+
#ifdef ENABLE_HYGON_API
144+
CALCULATE(INFINI_DEVICE_HYGON, nvidia);
145+
#endif
137146
#ifdef ENABLE_METAX_API
138147
CALCULATE(INFINI_DEVICE_METAX, metax);
139148
#endif
@@ -176,6 +185,9 @@ infiniopDestroyAtanhDescriptor(infiniopAtanhDescriptor_t desc) {
176185
#ifdef ENABLE_QY_API
177186
DELETE(INFINI_DEVICE_QY, nvidia);
178187
#endif
188+
#ifdef ENABLE_HYGON_API
189+
DELETE(INFINI_DEVICE_HYGON, nvidia);
190+
#endif
179191
#ifdef ENABLE_METAX_API
180192
DELETE(INFINI_DEVICE_METAX, metax);
181193
#endif

src/infiniop/ops/avg_pool1d/cuda/kernel.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ __device__ void avgPool1dKernel(
4646
}
4747
}
4848

49-
#if defined(ENABLE_ILUVATAR_API)
49+
#if defined(ENABLE_ILUVATAR_API) || defined(ENABLE_HYGON_API)
5050
// Iluvatar __half doesn't accept size_t directly.
5151
y[y_offset] = sum / static_cast<T>(static_cast<double>(kernel_size));
5252
#else

src/infiniop/ops/reciprocal/operator.cc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#ifdef ENABLE_CPU_API
66
#include "cpu/reciprocal_cpu.h"
77
#endif
8-
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API)
8+
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API) || defined(ENABLE_HYGON_API)
99
#include "nvidia/reciprocal_nvidia.cuh"
1010
#endif
1111
#ifdef ENABLE_METAX_API
@@ -52,6 +52,9 @@ __INFINI_C infiniStatus_t infiniopCreateReciprocalDescriptor(
5252
#ifdef ENABLE_METAX_API
5353
CREATE(INFINI_DEVICE_METAX, metax);
5454
#endif
55+
#ifdef ENABLE_HYGON_API
56+
CREATE(INFINI_DEVICE_HYGON, nvidia);
57+
#endif
5558
#ifdef ENABLE_KUNLUN_API
5659
CREATE(INFINI_DEVICE_KUNLUN, kunlun);
5760
#endif
@@ -89,6 +92,9 @@ __INFINI_C infiniStatus_t infiniopGetReciprocalWorkspaceSize(infiniopReciprocalD
8992
#ifdef ENABLE_QY_API
9093
GET(INFINI_DEVICE_QY, nvidia);
9194
#endif
95+
#ifdef ENABLE_HYGON_API
96+
GET(INFINI_DEVICE_HYGON, nvidia);
97+
#endif
9298
#ifdef ENABLE_METAX_API
9399
GET(INFINI_DEVICE_METAX, metax);
94100
#endif
@@ -136,6 +142,9 @@ __INFINI_C infiniStatus_t infiniopReciprocal(
136142
#ifdef ENABLE_QY_API
137143
CALCULATE(INFINI_DEVICE_QY, nvidia);
138144
#endif
145+
#ifdef ENABLE_HYGON_API
146+
CALCULATE(INFINI_DEVICE_HYGON, nvidia);
147+
#endif
139148
#ifdef ENABLE_METAX_API
140149
CALCULATE(INFINI_DEVICE_METAX, metax);
141150
#endif
@@ -178,6 +187,9 @@ infiniopDestroyReciprocalDescriptor(infiniopReciprocalDescriptor_t desc) {
178187
#ifdef ENABLE_QY_API
179188
DELETE(INFINI_DEVICE_QY, nvidia);
180189
#endif
190+
#ifdef ENABLE_HYGON_API
191+
DELETE(INFINI_DEVICE_HYGON, nvidia);
192+
#endif
181193
#ifdef ENABLE_METAX_API
182194
DELETE(INFINI_DEVICE_METAX, metax);
183195
#endif

src/infiniop/ops/sum/operator.cc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#ifdef ENABLE_CPU_API
77
#include "cpu/sum_cpu.h"
88
#endif
9-
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API)
9+
#if defined(ENABLE_NVIDIA_API) || defined(ENABLE_ILUVATAR_API) || defined(ENABLE_QY_API) || defined(ENABLE_HYGON_API)
1010
#include "nvidia/sum_nvidia.cuh"
1111
#endif
1212
#ifdef ENABLE_METAX_API
@@ -53,6 +53,9 @@ __INFINI_C infiniStatus_t infiniopCreateSumDescriptor(
5353
#ifdef ENABLE_QY_API
5454
CREATE(INFINI_DEVICE_QY, nvidia);
5555
#endif
56+
#ifdef ENABLE_HYGON_API
57+
CREATE(INFINI_DEVICE_HYGON, nvidia);
58+
#endif
5659
#ifdef ENABLE_METAX_API
5760
CREATE(INFINI_DEVICE_METAX, metax);
5861
#endif
@@ -90,6 +93,9 @@ __INFINI_C infiniStatus_t infiniopGetSumWorkspaceSize(infiniopSumDescriptor_t de
9093
#ifdef ENABLE_QY_API
9194
GET(INFINI_DEVICE_QY, nvidia);
9295
#endif
96+
#ifdef ENABLE_HYGON_API
97+
GET(INFINI_DEVICE_HYGON, nvidia);
98+
#endif
9399
#ifdef ENABLE_METAX_API
94100
GET(INFINI_DEVICE_METAX, metax);
95101
#endif
@@ -138,6 +144,9 @@ __INFINI_C infiniStatus_t infiniopSum(
138144
#ifdef ENABLE_QY_API
139145
CALCULATE(INFINI_DEVICE_QY, nvidia);
140146
#endif
147+
#ifdef ENABLE_HYGON_API
148+
CALCULATE(INFINI_DEVICE_HYGON, nvidia);
149+
#endif
141150
#ifdef ENABLE_METAX_API
142151
CALCULATE(INFINI_DEVICE_METAX, metax);
143152
#endif
@@ -177,6 +186,9 @@ infiniopDestroySumDescriptor(infiniopSumDescriptor_t desc) {
177186
#ifdef ENABLE_QY_API
178187
DELETE(INFINI_DEVICE_QY, nvidia);
179188
#endif
189+
#ifdef ENABLE_HYGON_API
190+
DELETE(INFINI_DEVICE_HYGON, nvidia);
191+
#endif
180192
#ifdef ENABLE_METAX_API
181193
DELETE(INFINI_DEVICE_METAX, metax);
182194
#endif

0 commit comments

Comments
 (0)