File tree 4 files changed +9
-4
lines changed
runtime/core/portable_type/c10/c10
4 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -241,7 +241,7 @@ using namespace c10::xpu;
241
241
#ifdef __HIPCC__
242
242
// Unlike CUDA, HIP requires a HIP header to be included for __host__ to work.
243
243
// We do this #include here so that C10_HOST_DEVICE and friends will Just Work.
244
- // See https://github.com/ROCm/hip /issues/441
244
+ // See https://github.com/ROCm-Developer-Tools/HIP /issues/441
245
245
#include < hip/hip_runtime.h>
246
246
#endif
247
247
Original file line number Diff line number Diff line change @@ -243,7 +243,12 @@ C10_HOST_DEVICE inline float fp16_ieee_to_fp32_value(uint16_t h) {
243
243
// const float exp_scale = 0x1.0p-112f;
244
244
constexpr uint32_t scale_bits = (uint32_t )15 << 23 ;
245
245
float exp_scale_val = 0 ;
246
+ #if defined(_MSC_VER) && defined(__clang__)
247
+ __builtin_memcpy (&exp_scale_val, &scale_bits, sizeof (exp_scale_val));
248
+ #else
246
249
std::memcpy (&exp_scale_val, &scale_bits, sizeof (exp_scale_val));
250
+ #endif
251
+
247
252
const float exp_scale = exp_scale_val;
248
253
const float normalized_value =
249
254
fp32_from_bits ((two_w >> 4 ) + exp_offset) * exp_scale;
Original file line number Diff line number Diff line change 3
3
#include < cstring>
4
4
#include < type_traits>
5
5
6
- #if __has_include(<bit>) && (__cplusplus >= 202002L || ( defined(__cpp_lib_bit_cast) && __cpp_lib_bit_cast >= 201806L) )
6
+ #if __has_include(<bit>) && (defined(__cpp_lib_bit_cast) && __cpp_lib_bit_cast >= 201806L)
7
7
#include < bit>
8
8
#define C10_HAVE_STD_BIT_CAST 1
9
9
#else
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ struct integer_iterator {
24
24
using pointer = I*;
25
25
using reference = I&;
26
26
27
- explicit constexpr integer_iterator (I value_ ) : value(value_ ) {}
27
+ explicit constexpr integer_iterator (I value ) : value(value ) {}
28
28
29
29
constexpr I operator *() const {
30
30
return value;
@@ -103,7 +103,7 @@ template <
103
103
typename Integer2,
104
104
std::enable_if_t <std::is_integral_v<Integer1>, bool > = true ,
105
105
std::enable_if_t <std::is_integral_v<Integer2>, bool > = true >
106
- integer_range<Integer2> irange (Integer1 begin, Integer2 end) {
106
+ constexpr integer_range<Integer2> irange (Integer1 begin, Integer2 end) {
107
107
// If end<=begin then the range is empty; we can achieve this effect by
108
108
// choosing the larger of {begin, end} as the loop terminator
109
109
return {
You can’t perform that action at this time.
0 commit comments