Date: Thursday, November 3, 2022 @ 22:07:04
  Author: kgizdov
Revision: 1341728

upgpkg: python-pytorch 1.13.0-2: add correct CUDA compute architectures

Added:
  python-pytorch/trunk/cuda_arch_update.patch
Modified:
  python-pytorch/trunk/PKGBUILD

------------------------+
 PKGBUILD               |   10 ++++++--
 cuda_arch_update.patch |   54 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-11-03 22:06:32 UTC (rev 1341727)
+++ PKGBUILD    2022-11-03 22:07:04 UTC (rev 1341728)
@@ -6,7 +6,7 @@
 pkgname=("${pkgbase}" "${pkgbase}-opt" "${pkgbase}-cuda" "${pkgbase}-opt-cuda")
 pkgver=1.13.0
 _pkgver=1.13.0
-pkgrel=1
+pkgrel=2
 _pkgdesc='Tensors and Dynamic neural networks in Python with strong GPU 
acceleration'
 pkgdesc="${_pkgdesc}"
 arch=('x86_64')
@@ -64,6 +64,7 @@
         use-system-libuv.patch
         fix-building-for-torchvision.patch
         87773.patch
+        cuda_arch_update.patch
         ffmpeg4.4.patch)
 b2sums=('SKIP'
         'SKIP'
@@ -111,6 +112,7 @@
         
'1f7ce593fa9fc62535ca1c3d85c996a73006cc614c7b7258160c3fc53cd52a1cfddcb18baf897f2e1223ecdfee52ca1471b91c9f845368ed6ac51b66f6e0e676'
         
'fdea0b815d7750a4233c1d4668593020da017aea43cf4cb63b4c00d0852c7d34f0333e618fcf98b8df2185313a2089b8c2e9fe8ec3cfb0bf693598f9c61461a8'
         
'0a8fc110a306e81beeb9ddfb3a1ddfd26aeda5e3f7adfb0f7c9bc3fd999c2dde62e0b407d3eca573097a53fd97329214e30e8767fb38d770197c7ec2b53daf18'
+        
'47ace3b87c4d33c7a1aec13b5bc88f434a0c7d38de43aedbae15f635111633ae1119394e9ead5cf16b5230baa525c518c0b500a3c38cac253170921caf90d3f8'
         
'6286b05d5b5143f117363e3ce3c7d693910f53845aeb6f501b3eea64aa71778cb2d7dcd4ac945d5321ef23b4da02446e86dedc6a9b6a998df4a7f3b1ce50550a')
 options=('!lto')
 
@@ -180,6 +182,9 @@
   # Fix building against glog 0.6
   patch -Np1 -i "${srcdir}/87773.patch"
 
+  # Update supported CUDA compute architectures
+  patch -Np1 -i "${srcdir}/cuda_arch_update.patch"
+
   # build against ffmpeg4.4
   patch -Np1 -i "${srcdir}/ffmpeg4.4.patch"
 
@@ -223,7 +228,8 @@
   export CUDNN_LIB_DIR=/usr/lib
   export CUDNN_INCLUDE_DIR=/usr/include
   export TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
-  export 
TORCH_CUDA_ARCH_LIST="5.2;6.0;6.2;7.0;7.2;7.5;8.0;8.6;8.7;8.9;9.0+PTX"  
#include latest PTX for future compat
+  # CUDA arch 8.7 is not supported (needed by Jetson boards, etc.)
+  export 
TORCH_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.9;9.0;9.0+PTX"  
#include latest PTX for future compat
   export OVERRIDE_TORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST}"
 }
 

Added: cuda_arch_update.patch
===================================================================
--- cuda_arch_update.patch                              (rev 0)
+++ cuda_arch_update.patch      2022-11-03 22:07:04 UTC (rev 1341728)
@@ -0,0 +1,54 @@
+From 71fe069d985e97b5947d133f2f2bde9adea01ed7 Mon Sep 17 00:00:00 2001
+From: Greg Hogan <[email protected]>
+Date: Mon, 24 Oct 2022 21:25:36 +0000
+Subject: [PATCH] ada lovelace (arch 8.9) support (#87436)
+
+changes required to be able to compile https://github.com/pytorch/vision and 
https://github.com/nvidia/apex for `sm_89` architecture
+Pull Request resolved: https://github.com/pytorch/pytorch/pull/87436
+Approved by: https://github.com/ngimel
+---
+ .../upstream/FindCUDA/select_compute_arch.cmake       | 11 +++++++++++
+ torch/utils/cpp_extension.py                          |  3 ++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git 
a/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake 
b/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake
+index 7f22d476d2fbe..822c041ee5268 100644
+--- a/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake
++++ b/cmake/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake
+@@ -98,8 +98,19 @@ if(NOT CUDA_VERSION VERSION_LESS "11.1")
+   list(APPEND CUDA_ALL_GPU_ARCHITECTURES "8.6")
+   set(CUDA_LIMIT_GPU_ARCHITECUTRE "8.6")
+ 
++  if(CUDA_VERSION VERSION_LESS "11.8")
++    set(CUDA_LIMIT_GPU_ARCHITECTURE "8.9")
++  endif()
++endif()
++
++if(NOT CUDA_VERSION VERSION_LESS "11.8")
++  list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Ada")
++  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "8.9")
++  list(APPEND CUDA_ALL_GPU_ARCHITECTURES "8.9")
++
+   if(CUDA_VERSION VERSION_LESS "12.0")
+     set(CUDA_LIMIT_GPU_ARCHITECTURE "9.0")
++    list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "8.9+PTX")
+   endif()
+ endif()
+ 
+diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py
+index 36811bf22dedc..612ae9fdf0785 100644
+--- a/torch/utils/cpp_extension.py
++++ b/torch/utils/cpp_extension.py
+@@ -1729,10 +1729,11 @@ def _get_cuda_arch_flags(cflags: Optional[List[str]] = 
None) -> List[str]:
+         ('Volta', '7.0+PTX'),
+         ('Turing', '7.5+PTX'),
+         ('Ampere', '8.0;8.6+PTX'),
++        ('Ada', '8.9+PTX'),
+     ])
+ 
+     supported_arches = ['3.5', '3.7', '5.0', '5.2', '5.3', '6.0', '6.1', 
'6.2',
+-                        '7.0', '7.2', '7.5', '8.0', '8.6']
++                        '7.0', '7.2', '7.5', '8.0', '8.6', '8.9']
+     valid_arch_strings = supported_arches + [s + "+PTX" for s in 
supported_arches]
+ 
+     # The default is sm_30 for CUDA 9.x and 10.x

Reply via email to