Skip to content

Commit ae31993

Browse files
author
Matthew Yeazel
authored
Merge pull request #204 from yeazelm/imex
Add IMEX for 6.12 NVIDIA R570 driver
2 parents cb68b82 + 8ca55d3 commit ae31993

6 files changed

Lines changed: 68 additions & 30 deletions

File tree

packages/kmod-5.15-nvidia/kmod-5.15-nvidia.spec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
%global tesla_patch 01
44
%global tesla_ver %{tesla_major}.%{tesla_minor}.%{tesla_patch}
55
%if "%{?_cross_arch}" == "aarch64"
6-
%global fm_arch sbsa
6+
%global nvidia_arch sbsa
77
%else
8-
%global fm_arch %{_cross_arch}
8+
%global nvidia_arch %{_cross_arch}
99
%endif
1010

1111
# With the split of the firmware binary from firmware/gsp.bin to firmware/gsp_ga10x.bin
@@ -103,8 +103,8 @@ popd
103103

104104
# Extract fabricmanager from the rpm via cpio rather than `%%setup` since the
105105
# correct source is architecture-dependent.
106-
mkdir fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
107-
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
106+
mkdir fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
107+
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
108108

109109
# Add the license.
110110
install -p -m 0644 %{S:2} .
@@ -332,7 +332,7 @@ install -p -m 0644 supported-gpus/open-gpu-supported-devices.json %{buildroot}%{
332332
popd
333333

334334
# Begin NVIDIA fabric manager binaries and topologies
335-
pushd fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
335+
pushd fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
336336
install -p -m 0755 usr/bin/nv-fabricmanager %{buildroot}%{_cross_bindir}
337337
install -p -m 0755 usr/bin/nvswitch-audit %{buildroot}%{_cross_bindir}
338338
ln -rs %{buildroot}%{_cross_bindir}/nv-fabricmanager %{buildroot}%{_cross_libexecdir}/nvidia/tesla/bin/nv-fabricmanager
@@ -358,7 +358,7 @@ popd
358358

359359
%files tesla-%{tesla_major}
360360
%license NVidiaEULAforAWS.pdf
361-
%license fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
361+
%license fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
362362
%dir %{_cross_datadir}/nvidia/tesla
363363
%dir %{_cross_libexecdir}/nvidia/tesla/bin
364364
%dir %{_cross_libdir}/nvidia/tesla

packages/kmod-6.1-nvidia-r570/kmod-6.1-nvidia-r570.spec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
%global tesla_patch 08
44
%global tesla_ver %{tesla_major}.%{tesla_minor}.%{tesla_patch}
55
%if "%{?_cross_arch}" == "aarch64"
6-
%global fm_arch sbsa
6+
%global nvidia_arch sbsa
77
%else
8-
%global fm_arch %{_cross_arch}
8+
%global nvidia_arch %{_cross_arch}
99
%endif
1010

1111
# With the split of the firmware binary from firmware/gsp.bin to firmware/gsp_ga10x.bin
@@ -132,8 +132,8 @@ popd
132132

133133
# Extract fabricmanager from the rpm via cpio rather than `%%setup` since the
134134
# correct source is architecture-dependent.
135-
mkdir fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
136-
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
135+
mkdir fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
136+
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
137137

138138
# Add the license.
139139
install -p -m 0644 %{S:2} %{S:3} .
@@ -432,7 +432,7 @@ install -p -m 0644 supported-gpus/open-gpu-supported-devices.json %{buildroot}%{
432432
popd
433433

434434
# Begin NVIDIA fabric manager binaries and topologies
435-
pushd fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
435+
pushd fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
436436
install -p -m 0755 usr/bin/nv-fabricmanager %{buildroot}%{_cross_bindir}
437437
install -p -m 0755 usr/bin/nvswitch-audit %{buildroot}%{_cross_bindir}
438438
ln -rs %{buildroot}%{_cross_bindir}/nv-fabricmanager %{buildroot}%{_cross_libexecdir}/nvidia/tesla/bin/nv-fabricmanager
@@ -458,7 +458,7 @@ popd
458458

459459
%files tesla
460460
%license NVidiaEULAforAWS.pdf
461-
%license fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
461+
%license fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
462462
%dir %{_cross_datadir}/egl
463463
%dir %{_cross_datadir}/egl/egl_external_platform.d
464464
%dir %{_cross_datadir}/glvnd

packages/kmod-6.1-nvidia/kmod-6.1-nvidia.spec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
%global tesla_patch 01
44
%global tesla_ver %{tesla_major}.%{tesla_minor}.%{tesla_patch}
55
%if "%{?_cross_arch}" == "aarch64"
6-
%global fm_arch sbsa
6+
%global nvidia_arch sbsa
77
%else
8-
%global fm_arch %{_cross_arch}
8+
%global nvidia_arch %{_cross_arch}
99
%endif
1010

1111
# With the split of the firmware binary from firmware/gsp.bin to firmware/gsp_ga10x.bin
@@ -106,8 +106,8 @@ popd
106106

107107
# Extract fabricmanager from the rpm via cpio rather than `%%setup` since the
108108
# correct source is architecture-dependent.
109-
mkdir fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
110-
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
109+
mkdir fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
110+
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
111111

112112
# Add the license.
113113
install -p -m 0644 %{S:2} .
@@ -346,7 +346,7 @@ install -p -m 0644 supported-gpus/open-gpu-supported-devices.json %{buildroot}%{
346346
popd
347347

348348
# Begin NVIDIA fabric manager binaries and topologies
349-
pushd fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
349+
pushd fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
350350
install -p -m 0755 usr/bin/nv-fabricmanager %{buildroot}%{_cross_bindir}
351351
install -p -m 0755 usr/bin/nvswitch-audit %{buildroot}%{_cross_bindir}
352352
ln -rs %{buildroot}%{_cross_bindir}/nv-fabricmanager %{buildroot}%{_cross_libexecdir}/nvidia/tesla/bin/nv-fabricmanager
@@ -372,7 +372,7 @@ popd
372372

373373
%files tesla-%{tesla_major}
374374
%license NVidiaEULAforAWS.pdf
375-
%license fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
375+
%license fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
376376
%dir %{_cross_datadir}/egl
377377
%dir %{_cross_datadir}/egl/egl_external_platform.d
378378
%dir %{_cross_datadir}/glvnd

packages/kmod-6.12-nvidia-r570/Cargo.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@ url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidi
3636
sha512 = "c6425cb53bb7915f5912e49c2b4182fe9875eb60759c15e130ae6d323dc168ad860451e2d69932aba8febb350bc7c0ff6d82df625aa0b63d8601e9fa7cc31b2d"
3737
force-upstream = true
3838

39+
[[package.metadata.build-package.external-files]]
40+
url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-imex-570-570.148.08-1.x86_64.rpm"
41+
sha512 = "846e3f2c6dab2bf097771ec01720cf98ccd30f0dcbad09826d708e29f896982642bad866c38fc116c02f6f0a3feea3eaef69034380dc303dbb50aeee079ed01a"
42+
force-upstream = true
43+
44+
[[package.metadata.build-package.external-files]]
45+
url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-imex-570-570.148.08-1.aarch64.rpm"
46+
sha512 = "13c1ac2f8650a909ea826fbd41c4ba3378a6c83aa6d38996c2a5509aa49f70a90c023ccaa1e1cad6ecd6808e721cc4effcf02f4cc21f0f2a0fc4043a105ba1bd"
47+
force-upstream = true
48+
3949
[[package.metadata.build-package.external-files]]
4050
url = "https://raw.githubusercontent.com/NVIDIA/open-gpu-kernel-modules/570/COPYING"
4151
sha512 = "f9cee68cbb12095af4b4e92d01c210461789ef41c70b64efefd6719d0b88468b7a67a3629c432d4d9304c730b5d1a942228a5bcc74a03ab1c411c77c758cd938"

packages/kmod-6.12-nvidia-r570/kmod-6.12-nvidia-r570.spec

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
%global tesla_patch 08
44
%global tesla_ver %{tesla_major}.%{tesla_minor}.%{tesla_patch}
55
%if "%{?_cross_arch}" == "aarch64"
6-
%global fm_arch sbsa
6+
%global nvidia_arch sbsa
77
%else
8-
%global fm_arch %{_cross_arch}
8+
%global nvidia_arch %{_cross_arch}
99
%endif
1010

1111
%global kernel_major 6.12
@@ -39,6 +39,10 @@ Source3: COPYING
3939
Source10: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-fabric-manager-%{tesla_ver}-1.x86_64.rpm
4040
Source11: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-fabric-manager-%{tesla_ver}-1.aarch64.rpm
4141

42+
# IMEX for GB200
43+
Source20: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-imex-%{tesla_ver}-1.x86_64.rpm
44+
Source21: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-imex-%{tesla_ver}-1.aarch64.rpm
45+
4246
# Common NVIDIA conf files from 200 to 299
4347
Source200: nvidia-tmpfiles.conf.in
4448
Source202: nvidia-dependencies-modules-load.conf
@@ -85,10 +89,18 @@ Requires: %{name}-grid
8589
Summary: NVIDIA fabricmanager config and service files
8690
Requires: %{name}-tesla(fabricmanager)
8791
Requires: %{_cross_os}nvlsm
92+
Requires: %{name}-imex
8893

8994
%description fabricmanager
9095
%{summary}.
9196

97+
%package imex
98+
Summary: NVIDIA IMEX config and service files
99+
Requires: %{name}
100+
101+
%description imex
102+
%{summary}.
103+
92104
%package open-gpu
93105
Summary: NVIDIA %{tesla_major} Open GPU driver
94106
Version: %{tesla_ver}
@@ -135,12 +147,17 @@ popd
135147

136148
# Extract fabricmanager from the rpm via cpio rather than `%%setup` since the
137149
# correct source is architecture-dependent.
138-
mkdir fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
139-
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
150+
mkdir fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
151+
rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
140152

141153
# Add the license.
142154
install -p -m 0644 %{S:2} %{S:3} .
143155

156+
# Extract imex from the rpm via cpio rather than `%%setup` since the
157+
# correct source is architecture-dependent.
158+
mkdir imex-%{nvidia_arch}-%{tesla_ver}-archive
159+
rpm2cpio %{_sourcedir}/nvidia-imex-%{tesla_major}-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D imex-%{nvidia_arch}-%{tesla_ver}-archive
160+
144161
# This recipe was based in the NVIDIA yum/dnf specs:
145162
# https://github.com/NVIDIA/yum-packaging-precompiled-kmod
146163

@@ -429,7 +446,7 @@ install -p -m 0644 supported-gpus/open-gpu-supported-devices.json %{buildroot}%{
429446
popd
430447

431448
# Begin NVIDIA fabric manager binaries and topologies
432-
pushd fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive
449+
pushd fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive
433450
install -p -m 0755 usr/bin/nv-fabricmanager %{buildroot}%{_cross_bindir}
434451
install -p -m 0755 usr/bin/nvswitch-audit %{buildroot}%{_cross_bindir}
435452
ln -rs %{buildroot}%{_cross_bindir}/nv-fabricmanager %{buildroot}%{_cross_libexecdir}/nvidia/tesla/bin/nv-fabricmanager
@@ -442,6 +459,13 @@ done
442459

443460
popd
444461

462+
# Begin IMEX binaries and configuration files
463+
pushd imex-%{nvidia_arch}-%{tesla_ver}-archive
464+
install -p -m 0755 usr/bin/nvidia-imex %{buildroot}%{_cross_bindir}
465+
install -p -m 0755 usr/bin/nvidia-imex-ctl %{buildroot}%{_cross_bindir}
466+
467+
popd
468+
445469
%files
446470
%{_cross_attribution_file}
447471
%dir %{_cross_libexecdir}/nvidia
@@ -455,7 +479,7 @@ popd
455479

456480
%files tesla
457481
%license NVidiaEULAforAWS.pdf
458-
%license fabricmanager-linux-%{fm_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
482+
%license fabricmanager-linux-%{nvidia_arch}-%{tesla_ver}-archive/usr/share/doc/nvidia-fabricmanager/third-party-notices.txt
459483
%dir %{_cross_datadir}/egl
460484
%dir %{_cross_datadir}/egl/egl_external_platform.d
461485
%dir %{_cross_datadir}/glvnd
@@ -708,3 +732,7 @@ popd
708732
%{_cross_factorydir}%{_cross_sysconfdir}/nvidia/fabricmanager.cfg
709733
%{_cross_factorydir}%{_cross_sysconfdir}/nvidia/fabricmanager.env
710734
%{_cross_unitdir}/nvidia-fabricmanager.service
735+
736+
%files imex
737+
%{_cross_bindir}/nvidia-imex
738+
%{_cross_bindir}/nvidia-imex-ctl

packages/nvlsm/nvlsm.spec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
# Both `lib/libgrpc_mgr.so` and `sbin/nvlsm` have RPATHs set to `opt/nvidia/nvlsm` which causes the RPATH check to fail.
66
%global __brp_check_rpaths %{nil}
77
%if "%{?_cross_arch}" == "aarch64"
8-
%global fm_arch sbsa
8+
%global nvidia_arch sbsa
99
%else
10-
%global fm_arch %{_cross_arch}
10+
%global nvidia_arch %{_cross_arch}
1111
%endif
1212

1313
Name: %{_cross_os}nvlsm
@@ -35,14 +35,14 @@ Source204: nvlsm-ld.so.conf.in
3535
%prep
3636
# Extract Subnet Manager from the rpm via cpio rather than `%%setup` since the
3737
# correct source is architecture-dependent.
38-
mkdir nvlsm-linux-%{fm_arch}-%{nvlsm_ver}-archive
39-
rpm2cpio %{_sourcedir}/nvlsm-%{nvlsm_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D nvlsm-linux-%{fm_arch}-%{nvlsm_ver}-archive
38+
mkdir nvlsm-linux-%{nvidia_arch}-%{nvlsm_ver}-archive
39+
rpm2cpio %{_sourcedir}/nvlsm-%{nvlsm_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D nvlsm-linux-%{nvidia_arch}-%{nvlsm_ver}-archive
4040

4141
# Add the license.
4242
install -p -m 0644 %{S:2} .
4343

4444
%install
45-
pushd nvlsm-linux-%{fm_arch}-%{nvlsm_ver}-archive
45+
pushd nvlsm-linux-%{nvidia_arch}-%{nvlsm_ver}-archive
4646

4747
# Install binary
4848
install -d %{buildroot}%{_cross_bindir}
@@ -73,7 +73,7 @@ install -m 0644 nvlsm.conf %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/
7373
%files
7474
%{_cross_attribution_file}
7575
%license NVidiaEULAforAWS.pdf
76-
%license nvlsm-linux-%{fm_arch}-%{nvlsm_ver}-archive/usr/share/nvidia/nvlsm/third-party-notices.txt
76+
%license nvlsm-linux-%{nvidia_arch}-%{nvlsm_ver}-archive/usr/share/nvidia/nvlsm/third-party-notices.txt
7777

7878
%{_cross_bindir}/nvlsm
7979

0 commit comments

Comments
 (0)