61db1849ca
Bug: https://bugs.gentoo.org/738592 Package-Manager: Portage-3.0.2, Repoman-2.3.23 Signed-off-by: Horea Christian <chr@chymera.eu>
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
From 0f3a0d9a948fdd8481a5f7751a255ecd9ed4d37a Mon Sep 17 00:00:00 2001
|
|
From: Alexey Chernov <4ernov@gmail.com>
|
|
Date: Mon, 20 Jan 2020 01:21:22 +0300
|
|
Subject: [PATCH 3/3] Remove conversion ambiguity in ternary operators
|
|
|
|
It fails to compile with recent versions of Clang
|
|
(namely, version 10 used behind HCC compiler when
|
|
being built with ROCm support) with the
|
|
`conditional expression is ambiguous` error.
|
|
---
|
|
caffe2/operators/relu_op.cu | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/caffe2/operators/relu_op.cu b/caffe2/operators/relu_op.cu
|
|
index f6edf7105e..ab49540fc9 100644
|
|
--- a/caffe2/operators/relu_op.cu
|
|
+++ b/caffe2/operators/relu_op.cu
|
|
@@ -51,7 +51,7 @@ __global__ void ReluCUDAKernel<half2>(const int N, const half2* X, half2* Y) {
|
|
#else
|
|
const float2 xx = __half22float2(X[i]);
|
|
Y[i] =
|
|
- __floats2half2_rn(xx.x > 0.0f ? xx.x : 0.0f, xx.y > 0.0f ? xx.y : 0.0f);
|
|
+ __floats2half2_rn(xx.x > 0.0f ? float(xx.x) : 0.0f, xx.y > 0.0f ? float(xx.y) : 0.0f);
|
|
#endif
|
|
}
|
|
}
|
|
@@ -101,7 +101,7 @@ __global__ void ReluGradientCUDAKernel<half2>(
|
|
const float2 dy = __half22float2(dY[i]);
|
|
const float2 yy = __half22float2(Y[i]);
|
|
dX[i] =
|
|
- __floats2half2_rn(yy.x > 0.0f ? dy.x : 0.0f, yy.y > 0.0f ? dy.y : 0.0f);
|
|
+ __floats2half2_rn(yy.x > 0.0f ? float(dy.x) : 0.0f, yy.y > 0.0f ? float(dy.y) : 0.0f);
|
|
#endif
|
|
}
|
|
}
|
|
--
|
|
2.24.1
|
|
|