GPU解锁:Nvidia 3000系列卡的FP/BF16指令发射率
GPU解锁 1.0.0 解锁Nvidia 3000系列卡的FP/BF16指令发射率至其专业等效版本。该Linux内核模块结合了CMP解锁器的V67/PLM技术与UEFI方法的预驱动定时。它在未修改NVIDIA驱动程序绑定卡片之前运行解锁,写入速度选择器(SS0 0x88888888,选择完整的BF16速率,以及4位SS1 0x8 IMLA4),并执行FLR。它既不是UEFI应用程序,也不是补丁NVIDIA驱动程序。这个早期kmod驱动程序的好处在于它不需要在每次nvidia发布新驱动版本时手动打补丁。此解锁的效果是将FP/BF16 FMA指令发射速度翻倍至FP32操作,适用于GA102、GA103、GA104和GA106卡片。3090 Ti在450 W下执行密集的8192³ GEMM,使用FP32累积的五个样本中位数:输入 前 后 FP16 87.46 TFLOPS 118.39 TFLOPS BF16 87.50 TFLOPS 157.41 TFLOPS TF32 42.58 TFLOPS 82.61 TFLOPS 如何安装 首先运行:git clone https://github.com/Zagitta/gpu-unlock cd gpu-unlock make install 然后将gpu_unlock.targets=all附加到您的内核命令行中,保留现有选项:GRUB(Debian/Ubuntu/Mint):将其添加到/etc/default/grub中的GRUB_CMDLINE_LINUX_DEFAULT内,然后运行sudo update-grub。GRUB(Arch/CachyOS):相同编辑,然后运行sudo grub-mkconfig -o /boot/grub/grub.cfg。Fedora/RHEL:运行sudo grubby --update-kernel=ALL --args="gpu_unlock.targets=all"。systemd-boot:将其附加到引导条目中的选项行(bootctl status显示其位置)。UKI/生成条目:将其添加到/etc/kernel/cmdline并重新生成您的引导映像/条目(例如,sudo mkinitcpio -P用于mkinitcpio UKIs)。本地构建 每个构建通过HTTPS下载固定的NVIDIA/CachyOS输入,检查其SHA-256,并仅在构建目录和二进制包中生成固件。所有三种格式通过相同的make install-*目标安装。软件包从提交的HEAD构建,构建、安装构建依赖项并在一步中安装软件包(询问您的sudo密码):make install # 检测发行版并选择安装程序 make install-arch # makepkg -sif make install-deb # apt-get build-dep,dpkg-buildpackage,apt-get install make install-rpm # dnf builddep,rpmbuild,dnf install make install使用/etc/os-release(ID,然後ID_LIKE)来检测Arch、Debian/Ubuntu或Fedora/RHEL/CentOS系列。RPM安装程序需要DNF。对于其他发行版,请选择上面的相应显式目标。make arch,make deb和make rpm仅构建。Debian和RPM软件包进入build/deb和build/rpm。NVIDIA输入缓存于~/.cache/gpu-unlock/inputs(make inputs;使用INPUTS=重写)。dpkg-buildpackage本身从不使用网络,因此干净的chroot构建(sbuild或pbuilder)需要GPU_UNLOCK_INPUTS指向该缓存。make dist归档、Debian源包和.nosrc.rpm不包含任何NVIDIA档案或生成的固件。引导流程和选择加入 这些软件包将gpu_unlock及其固件放入initramfs,并在nvidia绑定卡片之前加载它:mkinitcpio:/etc/mkinitcpio.conf.d/zz-gpu-unlock.conf在MODULES中插入gpu_unlock,紧跟在nvidia之前,以便显示卡片空白的时间尽可能短。在映像中没有nvidia时,它排在最后,仍然在根文件系统加载的nvidia之前运行。安装时重建映像。mkinitcpio忽略为使用-c <config>或预设_config构建的映像的drop-ins;请自己将gpu_unlock放在该配置的MODULES之前。initramfs-tools:/usr/share/initramfs-tools/modules.d/gpu-unlock.conf。dracut:/usr/lib/dracut/dracut.conf.d/gpu-unlock.conf。使用initramfs-tools和dracut时,该模块为每个安装了头文件的内核构建,并在安装和移除时重建这些内核的映像。稍后安装的内核通过其自己的安装钩子获取模块和新映像。没有softdep nvidia pre:规则:kmod仅遵循它读取的第一条softdep nvidia行,因此其他软件包的规则(nvidia-utils,gddr6_hwmon)可能会静默覆盖它,或者它将覆盖它们。该模块在内核命令行选择加入之前不会做任何事情:gpu_unlock.targets=all # 每个未绑定的GA102/GA103/GA104/GA106卡 gpu_unlock.targets=0000:21:00.0 # 仅这些卡 gpu_unlock.targets=0000:21:00.0,0000:22:00.0 # 用逗号分隔地址是完全的PCI名称,如lspci -D打印(无论如何都是十六进制数字),与GPU编号和显示角色无关。不是GA102/GA103/GA104/GA106卡的条目,包括与地址混合全部的条目,都会被记录并忽略。卡片同时解锁,无论有多少,每个卡片大约需要一秒,已经绑定或关闭电源的卡片将被跳过。
阅读全文 →本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡