<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cmp.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Gds-nvme-patch</id>
	<title>Gds-nvme-patch - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://cmp.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Gds-nvme-patch"/>
	<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=Gds-nvme-patch&amp;action=history"/>
	<updated>2026-10-31T07:08:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=Gds-nvme-patch&amp;diff=334&amp;oldid=prev</id>
		<title>ImportBot: Import: gds-nvme-patch, @mountains1605, @markshowa; repos cachenetics/gds-nvme-patch</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=Gds-nvme-patch&amp;diff=334&amp;oldid=prev"/>
		<updated>2026-10-30T08:38:25Z</updated>

		<summary type="html">&lt;p&gt;Import: gds-nvme-patch, @mountains1605, @markshowa; repos cachenetics/gds-nvme-patch&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:38, 30 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{DISPLAYTITLE:gds-nvme-patch}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Status|Reported}} {{Cards|both}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Status|Reported}} {{Cards|both}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key cmp_wiki:diff:1.41:old-170:rev-334:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>ImportBot</name></author>
	</entry>
	<entry>
		<id>https://cmp.wiki/w/index.php?title=Gds-nvme-patch&amp;diff=170&amp;oldid=prev</id>
		<title>ImportBot: Import: gds-nvme-patch, @mountains1605, @markshowa; repos cachenetics/gds-nvme-patch</title>
		<link rel="alternate" type="text/html" href="https://cmp.wiki/w/index.php?title=Gds-nvme-patch&amp;diff=170&amp;oldid=prev"/>
		<updated>2026-10-30T08:04:18Z</updated>

		<summary type="html">&lt;p&gt;Import: gds-nvme-patch, @mountains1605, @markshowa; repos cachenetics/gds-nvme-patch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Status|Reported}} {{Cards|both}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;gds-nvme-patch&amp;#039;&amp;#039;&amp;#039; restores NVIDIA GPUDirect Storage (cuFile and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;nvidia-fs&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, direct NVMe-to-VRAM transfers) on Linux kernels where NVIDIA&amp;#039;s own NVMe patch no longer applies. It patches the kernel&amp;#039;s NVMe driver, not the GPU, and was built and tested on an unlocked CMP 170HX. Author: GitHub cachenetics, GPL-2.0. Repository: https://github.com/cachenetics/gds-nvme-patch {{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514|repo=https://github.com/cachenetics/gds-nvme-patch}}.&lt;br /&gt;
&lt;br /&gt;
@markshowa asked whether GDS can run on the 170HX for model loading and KV cache; @mountains1605 pointed to this repository and said someone had done it a while ago. {{Source|handle=markshowa|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562230888627052556}}&amp;lt;br /&amp;gt;{{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514}} {{Status|Theory}} Expected gains: faster model loading without going through CPU and system RAM, and a place for n-gram tables, PLE and other low-bandwidth parts of inference. Neither poster had tried it. {{Source|handle=mountains1605|date=2026-10-21|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562275277042884740}}&amp;lt;br /&amp;gt;{{Source|handle=mountains1605|date=2026-10-21|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562275604378816625}}&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
* Kernels 7.0 and 7.1 apply; 6.17 and 6.18 are refused; older kernels must use NVIDIA&amp;#039;s MOFED/DOCA patch. x86_64 only. Needs kernel headers, the nvidia-open and nvidia-fs module sources, and CUDA with cuFile.&lt;br /&gt;
* Tested end to end on CachyOS with kernel 7.1.5. Kernel 7.0 (Ubuntu 26.04) is verified at patch level only. The Debian, Ubuntu and Fedora install hooks are written but were never run on real hardware.&lt;br /&gt;
* Mode A (rebuild and reboot, root on NVMe) is the only verified mode, and the installer refuses it without a second rescue kernel unless forced.&lt;br /&gt;
{{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514|repo=https://github.com/cachenetics/gds-nvme-patch}}.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/cachenetics/gds-nvme-patch &amp;amp;&amp;amp; cd gds-nvme-patch&lt;br /&gt;
./probe.sh                 # read-only preflight, test-applies the patch to a copy&lt;br /&gt;
sudo ./install.sh --dry-run&lt;br /&gt;
sudo ./install.sh          # --persist (default) adds a kernel-update rebuild hook&lt;br /&gt;
sudo ./uninstall.sh        # restores the stock NVMe driver&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Check with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;gdscheck.py -p&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (should show NVMe supported) and prove a transfer with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;gdsio&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Installing the patch only makes GDS available: the loader must call cuFile, kvikio or DALI. For ext4 roots it adds &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;rootflags=data=ordered&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the kernel command line. {{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514|repo=https://github.com/cachenetics/gds-nvme-patch}}.&lt;br /&gt;
&lt;br /&gt;
== Known issue on CMP cards ==&lt;br /&gt;
{{Status|Warning}} Loaders that read straight into many destination tensors (for example vLLM fastsafetensors) race NVIDIA&amp;#039;s &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;nvidia-fs&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; bookkeeping and crash with a null dereference, or hang at 0 percent. The window is wider on slow PCIe links, so an unlocked 170HX at low PCIe width reproduces it readily. The fix is bounded staging, implemented in the companion loader cachenetics/vllm-gds-bounded (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--load-format gds_bounded&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). The first GDS load after a boot is the most reliable; between loads run &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;rmmod nvidia_fs &amp;amp;&amp;amp; modprobe nvidia_fs&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or reboot. {{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514|repo=https://github.com/cachenetics/gds-nvme-patch}}.&lt;br /&gt;
&lt;br /&gt;
== Caveats ==&lt;br /&gt;
It modifies the root disk&amp;#039;s NVMe driver. O_DIRECT reads with a small pinned buffer get most of the low-RAM benefit without any kernel patch. Last commit 2026-08-19, before newer kernels. {{Source|handle=mountains1605|date=2026-10-20|link=https://discord.com/channels/1518634379604136178/1518695328008638516/1562246603249680514|repo=https://github.com/cachenetics/gds-nvme-patch}}.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Tools]]&lt;br /&gt;
&lt;br /&gt;
{{ImportFooter}}&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:8 GB]]&lt;br /&gt;
[[Category:10 GB]]&lt;/div&gt;</summary>
		<author><name>ImportBot</name></author>
	</entry>
</feed>