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