From ad9dc2597d8b8c80e394b64a8c3dc53367983889 Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Wed, 5 Nov 2025 12:04:28 -0800 Subject: [PATCH 1/7] init --- .../c10/c10/util/llvmMathExtras.h | 2 +- .../c10/torch/headeronly/macros/Macros.h | 84 ++++++++++++++++++- .../c10/torch/headeronly/util/BFloat16.h | 4 +- .../c10/torch/headeronly/util/Half.h | 4 +- .../torch/headeronly/util/TypeSafeSignMath.h | 6 +- .../c10/torch/headeronly/util/bit_cast.h | 4 +- .../c10/torch/headeronly/util/complex.h | 4 +- .../headeronly/util/floating_point_utils.h | 4 +- torch_pin.py | 2 +- 9 files changed, 97 insertions(+), 17 deletions(-) diff --git a/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h b/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h index 6321297a61c..da297241449 100644 --- a/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +++ b/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h @@ -370,7 +370,7 @@ constexpr inline bool isShiftedInt(int64_t x) { template constexpr inline std::enable_if_t<(N < 64), bool> isUInt(uint64_t X) { static_assert(N > 0, "isUInt<0> doesn't make sense"); - return X < (UINT64_C(1) << (N)); + return X < (UINT64_C(1) << N); } template constexpr inline std::enable_if_t= 64, bool> isUInt(uint64_t /*X*/) { diff --git a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h index e340e7626a0..63aa0d20d8e 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +++ b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h @@ -1,6 +1,11 @@ #ifndef C10_MACROS_MACROS_H_ #define C10_MACROS_MACROS_H_ + +#ifdef __cplusplus #include +#else +#include +#endif /* Main entry for torch/headeronly/macros (used to be c10/macros). * @@ -139,6 +144,8 @@ #define C10_RESTRICT __restrict +#ifdef __cplusplus + // Simply define the namespace, in case a dependent library want to refer to // the c10 namespace but not any nontrivial files. namespace c10 {} @@ -176,6 +183,8 @@ namespace at::xpu { using namespace c10::xpu; } // namespace at::xpu +#endif // __cplusplus + // C10_LIKELY/C10_UNLIKELY // // These macros provide parentheses, so you can use these macros as: @@ -236,7 +245,11 @@ using namespace c10::xpu; #define C10_ERASE C10_ALWAYS_INLINE C10_ATTR_VISIBILITY_HIDDEN +#ifdef __cplusplus #include +#else +#include +#endif #ifdef __HIPCC__ // Unlike CUDA, HIP requires a HIP header to be included for __host__ to work. @@ -467,7 +480,7 @@ __host__ __device__ // a non-negligible performance impact even if the assert condition is // never triggered. We choose to use abort() instead which will still // terminate the application but without a more useful error message. -#if !defined(C10_USE_ROCM_KERNEL_ASSERT) and defined(USE_ROCM) +#if !defined(C10_USE_ROCM_KERNEL_ASSERT) && defined(USE_ROCM) #define CUDA_KERNEL_ASSERT(cond) \ if C10_UNLIKELY (!(cond)) { \ abort(); \ @@ -517,9 +530,21 @@ __host__ __device__ __assert_fail( \ #cond, __FILE__, static_cast(__LINE__), __func__); \ } -#endif // C10_USE_ROCM_KERNEL_ASSERT and USE_ROCM +#endif // C10_USE_ROCM_KERNEL_ASSERT && USE_ROCM #endif // __APPLE__ +// Compile-time switch to control how assertions are logged inside CUDA kernels. +// If C10_CUDA_VERBOSE_ASSERT is defined, CUDA_KERNEL_ASSERT_VERBOSE will +// take addition information passed to the macro and forward them to +// CUDA_KERNEL_ASSERT_PRINTF If C10_CUDA_VERBOSE_ASSERT is not defined, +// CUDA_KERNEL_ASSERT_VERBOSE will behave the same as CUDA_KERNEL_ASSERT. +#ifdef C10_ENABLE_VERBOSE_ASSERT +#define CUDA_KERNEL_ASSERT_VERBOSE(cond, ...) \ + CUDA_KERNEL_ASSERT_PRINTF(cond, __VA_ARGS__) +#else +#define CUDA_KERNEL_ASSERT_VERBOSE(cond, ...) CUDA_KERNEL_ASSERT(cond) +#endif + #ifdef __APPLE__ #include #endif @@ -611,4 +636,59 @@ __host__ __device__ #define C10_RETURN_MOVE_IF_OLD_COMPILER 0 #endif +// The HIDDEN_NAMESPACE_BEGIN and HIDDEN_NAMESPACE_END below +// are needed for maintaining robustness in our header APIs in +// torch/headeronly and torch/csrc/stable under the namespaces +// torch::headeronly and torch::stable respectively. We enforce +// hidden visibility for these APIs because we want to enable +// loading custom extensions compiled against different libtorch +// versions where these APIs may have changed. + +// Helper macros to handle 1-3 hidden namespace levels when not windows +#define _HIDDEN_NS_GET_MACRO(_1, _2, _3, NAME, ...) NAME +#define _HIDDEN_NS_1(n1) namespace n1 __attribute__((visibility("hidden"))) { +#define _HIDDEN_NS_2(n1, n2) \ + namespace n1 { \ + namespace n2 __attribute__((visibility("hidden"))) { +#define _HIDDEN_NS_3(n1, n2, n3) \ + namespace n1::n2 { \ + namespace n3 __attribute__((visibility("hidden"))) { + +// Helper macros to close namespaces when not windows +#define _HIDDEN_NS_END_1(n1) } +#define _HIDDEN_NS_END_N(n1, ...) \ + } \ + } + +// Helper macros to join strs with :: (for win, where symbols are hidden by +// default) +#define _EXPAND(...) __VA_ARGS__ +#define _JOIN_GET_MACRO(_1, _2, _3, NAME, ...) NAME +#define _JOIN_NS1(a) a +#define _JOIN_NS2(a, b) a::b +#define _JOIN_NS3(a, b, c) a::b::c + +#if !defined(HIDDEN_NAMESPACE_BEGIN) +#if defined(__GNUG__) && !defined(_WIN32) +#define HIDDEN_NAMESPACE_BEGIN(...) \ + _HIDDEN_NS_GET_MACRO( \ + __VA_ARGS__, _HIDDEN_NS_3, _HIDDEN_NS_2, _HIDDEN_NS_1)(__VA_ARGS__) +#else +#define HIDDEN_NAMESPACE_BEGIN(...) \ + namespace _EXPAND(_JOIN_GET_MACRO( \ + __VA_ARGS__, _JOIN_NS3, _JOIN_NS2, _JOIN_NS1)(__VA_ARGS__)) { +#endif +#endif + +#if !defined(HIDDEN_NAMESPACE_END) +#if defined(__GNUG__) && !defined(_WIN32) +#define HIDDEN_NAMESPACE_END(...) \ + _HIDDEN_NS_GET_MACRO( \ + __VA_ARGS__, _HIDDEN_NS_END_N, _HIDDEN_NS_END_N, _HIDDEN_NS_END_1)( \ + __VA_ARGS__) +#else +#define HIDDEN_NAMESPACE_END(...) } +#endif +#endif + #endif // C10_MACROS_MACROS_H_ diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h b/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h index ac47e3f844a..64479ba36f1 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h @@ -395,7 +395,7 @@ inline C10_HOST_DEVICE bool operator<(BFloat16& lhs, BFloat16& rhs) { C10_CLANG_DIAGNOSTIC_POP() } // namespace c10 -namespace torch::headeronly { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly) namespace detail { using c10::detail::bits_from_f32; @@ -415,7 +415,7 @@ using c10::operator/=; using c10::operator<; using c10::operator>; using c10::operator<<; -} // namespace torch::headeronly +HIDDEN_NAMESPACE_END(torch, headeronly) namespace std { diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/Half.h b/runtime/core/portable_type/c10/torch/headeronly/util/Half.h index 9673301e2de..a9c0b166ba2 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/Half.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/Half.h @@ -698,7 +698,7 @@ C10_CLANG_DIAGNOSTIC_POP() } // namespace c10 -namespace torch::headeronly { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly) using c10::Half; using c10::operator+; @@ -724,7 +724,7 @@ using c10::detail::fp16_ieee_to_fp32_bits; using c10::detail::fp16_ieee_to_fp32_value; } // namespace detail -} // namespace torch::headeronly +HIDDEN_NAMESPACE_END(torch, headeronly) namespace std { diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h b/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h index 561ea0467a0..c33a286bc5b 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h @@ -79,7 +79,7 @@ template inline constexpr bool greater_than_max(const T& x) { constexpr bool can_overflow = std::numeric_limits::digits > std::numeric_limits::digits; - return can_overflow && x > (std::numeric_limits::max)(); + return can_overflow && x > std::numeric_limits::max(); } #ifdef __GNUC__ @@ -139,10 +139,10 @@ inline constexpr bool less_than_lowest(const T& x) { C10_CLANG_DIAGNOSTIC_POP() -namespace torch::headeronly { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly) using c10::greater_than_max; using c10::is_negative; using c10::less_than_lowest; using c10::signs_differ; using c10::signum; -} // namespace torch::headeronly +HIDDEN_NAMESPACE_END(torch, headeronly) diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h b/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h index 334ba5b8e5b..3f357f8a06a 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h @@ -13,7 +13,7 @@ #endif // __has_include() && (__cplusplus >= 202002L || // (defined(__cpp_lib_bit_cast) && __cpp_lib_bit_cast >= 201806L)) -namespace torch::headeronly { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly) #if C10_HAVE_STD_BIT_CAST using std::bit_cast; @@ -43,7 +43,7 @@ bit_cast(const From& src) noexcept { #endif // C10_HAVE_STD_BIT_CAST #undef C10_HAVE_STD_BIT_CAST -} // namespace torch::headeronly +HIDDEN_NAMESPACE_END(torch, headeronly) namespace c10 { using torch::headeronly::bit_cast; diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/complex.h b/runtime/core/portable_type/c10/torch/headeronly/util/complex.h index e0a356436ac..733a22d5dbb 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/complex.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/complex.h @@ -590,7 +590,7 @@ struct alignas(4) complex { } // namespace c10 -namespace torch::headeronly { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly) using c10::complex; using c10::operator+; using c10::operator-; @@ -611,6 +611,6 @@ using c10::complex_literals::operator""_if; using c10::complex_literals::operator""_id; } // namespace complex_literals -} // namespace torch::headeronly +HIDDEN_NAMESPACE_END(torch, headeronly) C10_CLANG_DIAGNOSTIC_POP() diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h b/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h index c469cc6a4f6..1e60bd85c10 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h @@ -4,7 +4,7 @@ #include #include -namespace torch::headeronly::detail { +HIDDEN_NAMESPACE_BEGIN(torch, headeronly, detail) C10_HOST_DEVICE inline float fp32_from_bits(uint32_t w) { #if defined(__OPENCL_VERSION__) @@ -30,7 +30,7 @@ C10_HOST_DEVICE inline uint32_t fp32_to_bits(float f) { #endif } -} // namespace torch::headeronly::detail +HIDDEN_NAMESPACE_END(torch, headeronly, detail) namespace c10::detail { using torch::headeronly::detail::fp32_from_bits; diff --git a/torch_pin.py b/torch_pin.py index 811d81279b7..ffdde14bdb5 100644 --- a/torch_pin.py +++ b/torch_pin.py @@ -1,2 +1,2 @@ TORCH_VERSION = "2.10.0" -NIGHTLY_VERSION = "dev20251017" +NIGHTLY_VERSION = "dev20251025" From 06d2c404162d16f5cd9c27ecaffa10772be1ce0c Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Wed, 5 Nov 2025 13:04:46 -0800 Subject: [PATCH 2/7] up --- .../portable_type/c10/c10/util/llvmMathExtras.h | 2 +- .../c10/torch/headeronly/macros/Macros.h | 17 ++--------------- .../torch/headeronly/util/TypeSafeSignMath.h | 2 +- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h b/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h index da297241449..6321297a61c 100644 --- a/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +++ b/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h @@ -370,7 +370,7 @@ constexpr inline bool isShiftedInt(int64_t x) { template constexpr inline std::enable_if_t<(N < 64), bool> isUInt(uint64_t X) { static_assert(N > 0, "isUInt<0> doesn't make sense"); - return X < (UINT64_C(1) << N); + return X < (UINT64_C(1) << (N)); } template constexpr inline std::enable_if_t= 64, bool> isUInt(uint64_t /*X*/) { diff --git a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h index 63aa0d20d8e..17092cd947e 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +++ b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h @@ -1,11 +1,6 @@ #ifndef C10_MACROS_MACROS_H_ #define C10_MACROS_MACROS_H_ - -#ifdef __cplusplus #include -#else -#include -#endif /* Main entry for torch/headeronly/macros (used to be c10/macros). * @@ -144,8 +139,6 @@ #define C10_RESTRICT __restrict -#ifdef __cplusplus - // Simply define the namespace, in case a dependent library want to refer to // the c10 namespace but not any nontrivial files. namespace c10 {} @@ -183,8 +176,6 @@ namespace at::xpu { using namespace c10::xpu; } // namespace at::xpu -#endif // __cplusplus - // C10_LIKELY/C10_UNLIKELY // // These macros provide parentheses, so you can use these macros as: @@ -245,11 +236,7 @@ using namespace c10::xpu; #define C10_ERASE C10_ALWAYS_INLINE C10_ATTR_VISIBILITY_HIDDEN -#ifdef __cplusplus #include -#else -#include -#endif #ifdef __HIPCC__ // Unlike CUDA, HIP requires a HIP header to be included for __host__ to work. @@ -480,7 +467,7 @@ __host__ __device__ // a non-negligible performance impact even if the assert condition is // never triggered. We choose to use abort() instead which will still // terminate the application but without a more useful error message. -#if !defined(C10_USE_ROCM_KERNEL_ASSERT) && defined(USE_ROCM) +#if !defined(C10_USE_ROCM_KERNEL_ASSERT) and defined(USE_ROCM) #define CUDA_KERNEL_ASSERT(cond) \ if C10_UNLIKELY (!(cond)) { \ abort(); \ @@ -530,7 +517,7 @@ __host__ __device__ __assert_fail( \ #cond, __FILE__, static_cast(__LINE__), __func__); \ } -#endif // C10_USE_ROCM_KERNEL_ASSERT && USE_ROCM +#endif // C10_USE_ROCM_KERNEL_ASSERT and USE_ROCM #endif // __APPLE__ // Compile-time switch to control how assertions are logged inside CUDA kernels. diff --git a/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h b/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h index c33a286bc5b..f41269082d9 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +++ b/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h @@ -79,7 +79,7 @@ template inline constexpr bool greater_than_max(const T& x) { constexpr bool can_overflow = std::numeric_limits::digits > std::numeric_limits::digits; - return can_overflow && x > std::numeric_limits::max(); + return can_overflow && x > (std::numeric_limits::max)(); } #ifdef __GNUC__ From 0f0ffb01ea53e558b85dab48fcff543ac94be7ee Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Wed, 5 Nov 2025 14:02:15 -0800 Subject: [PATCH 3/7] up --- install_requirements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_requirements.py b/install_requirements.py index b84e250cf87..9aedf87d2f1 100644 --- a/install_requirements.py +++ b/install_requirements.py @@ -130,7 +130,7 @@ def install_optional_example_requirements(use_pytorch_nightly): if use_pytorch_nightly else "torchvision" ), - f"torchaudio==2.8.0.{NIGHTLY_VERSION}" if use_pytorch_nightly else "torchaudio", + f"torchaudio==2.10.0.{NIGHTLY_VERSION}" if use_pytorch_nightly else "torchaudio", ] # Then install domain libraries subprocess.run( From e87684b227f3010f837a5e3b33900dea72767851 Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Thu, 6 Nov 2025 09:44:30 -0800 Subject: [PATCH 4/7] up --- .../c10/torch/headeronly/macros/Macros.h | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h index 17092cd947e..7c46eda0912 100644 --- a/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +++ b/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h @@ -520,18 +520,6 @@ __host__ __device__ #endif // C10_USE_ROCM_KERNEL_ASSERT and USE_ROCM #endif // __APPLE__ -// Compile-time switch to control how assertions are logged inside CUDA kernels. -// If C10_CUDA_VERBOSE_ASSERT is defined, CUDA_KERNEL_ASSERT_VERBOSE will -// take addition information passed to the macro and forward them to -// CUDA_KERNEL_ASSERT_PRINTF If C10_CUDA_VERBOSE_ASSERT is not defined, -// CUDA_KERNEL_ASSERT_VERBOSE will behave the same as CUDA_KERNEL_ASSERT. -#ifdef C10_ENABLE_VERBOSE_ASSERT -#define CUDA_KERNEL_ASSERT_VERBOSE(cond, ...) \ - CUDA_KERNEL_ASSERT_PRINTF(cond, __VA_ARGS__) -#else -#define CUDA_KERNEL_ASSERT_VERBOSE(cond, ...) CUDA_KERNEL_ASSERT(cond) -#endif - #ifdef __APPLE__ #include #endif @@ -631,7 +619,10 @@ __host__ __device__ // loading custom extensions compiled against different libtorch // versions where these APIs may have changed. -// Helper macros to handle 1-3 hidden namespace levels when not windows +// Helper macros for nested namespace expansion +#define _EXPAND(...) __VA_ARGS__ + +// Macros to handle 1-3 hidden namespace levels when not windows #define _HIDDEN_NS_GET_MACRO(_1, _2, _3, NAME, ...) NAME #define _HIDDEN_NS_1(n1) namespace n1 __attribute__((visibility("hidden"))) { #define _HIDDEN_NS_2(n1, n2) \ @@ -641,15 +632,13 @@ __host__ __device__ namespace n1::n2 { \ namespace n3 __attribute__((visibility("hidden"))) { -// Helper macros to close namespaces when not windows +// Macros to close namespaces when not windows #define _HIDDEN_NS_END_1(n1) } #define _HIDDEN_NS_END_N(n1, ...) \ } \ } -// Helper macros to join strs with :: (for win, where symbols are hidden by -// default) -#define _EXPAND(...) __VA_ARGS__ +// Macros to join strs with :: (for win, where symbols are hidden by default) #define _JOIN_GET_MACRO(_1, _2, _3, NAME, ...) NAME #define _JOIN_NS1(a) a #define _JOIN_NS2(a, b) a::b @@ -658,8 +647,8 @@ __host__ __device__ #if !defined(HIDDEN_NAMESPACE_BEGIN) #if defined(__GNUG__) && !defined(_WIN32) #define HIDDEN_NAMESPACE_BEGIN(...) \ - _HIDDEN_NS_GET_MACRO( \ - __VA_ARGS__, _HIDDEN_NS_3, _HIDDEN_NS_2, _HIDDEN_NS_1)(__VA_ARGS__) + _EXPAND(_HIDDEN_NS_GET_MACRO( \ + __VA_ARGS__, _HIDDEN_NS_3, _HIDDEN_NS_2, _HIDDEN_NS_1)(__VA_ARGS__)) #else #define HIDDEN_NAMESPACE_BEGIN(...) \ namespace _EXPAND(_JOIN_GET_MACRO( \ @@ -670,9 +659,9 @@ __host__ __device__ #if !defined(HIDDEN_NAMESPACE_END) #if defined(__GNUG__) && !defined(_WIN32) #define HIDDEN_NAMESPACE_END(...) \ - _HIDDEN_NS_GET_MACRO( \ + _EXPAND(_HIDDEN_NS_GET_MACRO( \ __VA_ARGS__, _HIDDEN_NS_END_N, _HIDDEN_NS_END_N, _HIDDEN_NS_END_1)( \ - __VA_ARGS__) + __VA_ARGS__)) #else #define HIDDEN_NAMESPACE_END(...) } #endif From 4bfcfde18f1094b20848c1167f331f277a87bdaf Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Thu, 6 Nov 2025 10:57:16 -0800 Subject: [PATCH 5/7] up --- .ci/docker/ci_commit_pins/pytorch.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/docker/ci_commit_pins/pytorch.txt b/.ci/docker/ci_commit_pins/pytorch.txt index bbae77aa463..61b7ab7807e 100644 --- a/.ci/docker/ci_commit_pins/pytorch.txt +++ b/.ci/docker/ci_commit_pins/pytorch.txt @@ -1 +1 @@ -556fc09a9f67f24ca5591ec049c5d0c347c5f62a +b31bad1b8f1331bf43d47f46602cf6141db56844 From 1ebc88f57cce2881db0a46f7c610bee829d9e9a1 Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Thu, 6 Nov 2025 13:28:07 -0800 Subject: [PATCH 6/7] lint --- install_requirements.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install_requirements.py b/install_requirements.py index 9aedf87d2f1..233d93432ad 100644 --- a/install_requirements.py +++ b/install_requirements.py @@ -130,7 +130,9 @@ def install_optional_example_requirements(use_pytorch_nightly): if use_pytorch_nightly else "torchvision" ), - f"torchaudio==2.10.0.{NIGHTLY_VERSION}" if use_pytorch_nightly else "torchaudio", + f"torchaudio==2.10.0.{NIGHTLY_VERSION}" + if use_pytorch_nightly + else "torchaudio", ] # Then install domain libraries subprocess.run( From 595c17aea033e8e32130a9ab30ce14207718c0fe Mon Sep 17 00:00:00 2001 From: Scott Roy Date: Thu, 6 Nov 2025 14:34:52 -0800 Subject: [PATCH 7/7] lint --- install_requirements.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/install_requirements.py b/install_requirements.py index 233d93432ad..4a8d9ed8870 100644 --- a/install_requirements.py +++ b/install_requirements.py @@ -130,9 +130,11 @@ def install_optional_example_requirements(use_pytorch_nightly): if use_pytorch_nightly else "torchvision" ), - f"torchaudio==2.10.0.{NIGHTLY_VERSION}" - if use_pytorch_nightly - else "torchaudio", + ( + f"torchaudio==2.10.0.{NIGHTLY_VERSION}" + if use_pytorch_nightly + else "torchaudio" + ), ] # Then install domain libraries subprocess.run(