Difference between revisions of "Main Page"
m (Fix repository links to the cgit tree/repo URLs) |
|||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{About message}} | |||
= | __NOTOC__ | ||
''' | <div style="border:1px solid #c8ccd1; background:#f8f9fa; padding:0.9em 1.2em; margin-bottom:1em;"> | ||
'''Open-IOV''' is an open-source virtualization layer for NVIDIA GPUs: it runs '''stock, unmodified NVIDIA drivers inside virtual machines''' — Linux and Windows — with CUDA on hardware you own, '''without proprietary vGPU licenses''', without patching the guest driver, the host driver, the hypervisor or the firmware. | |||
'''''Emulate the interface. Pass through the work. Never patch anyone.''''' | |||
The only new component is one host kernel module (<code>vgsp.ko</code>), which implements the interface the guest driver expects to talk to — the GPU System Processor and its resource-manager firmware — and arranges for the guest's work to run on real GPU hardware. | |||
== | '''[[Open-IOV:About|About Open-IOV]]''' · '''[[Community|Community]]''' · '''[[Documentation|Documentation]]''' | ||
''' | </div> | ||
== Start here == | |||
* '''[[Project Status]]''' — the honest, dated state of the project. | |||
* '''[[Install and First Run]]''' — fresh host to a stock guest driver in about half an hour. | |||
* '''[[System Overview]]''' — how Open-IOV works, in one page. | |||
* '''[[Documentation]]''' — the full index of this wiki. | |||
* '''[[FAQ]]''' — the questions we get asked most. | |||
== Project status (2026-10-12) == | |||
{| class="wikitable" | |||
! Area !! State | |||
|- | |||
| Emulated vGPU device (PCI, BARs, MSI-X, VFIO mdev) || Working | |||
|- | |||
| GSP boot emulation and GSP-RM message queues / RPC || Working | |||
|- | |||
| Stock guest driver probe, nvidia-smi (TU104) || Working | |||
|- | |||
| CUDA userspace init and the driver-API smoke (ALL OK, 64-byte payload round-trips) || Working | |||
|- | |||
| Guest CUDA kernel execution on real hardware || In progress — a forwarded launch reaches the engine queue; engine execution is the frontier | |||
|- | |||
| OpenGL / Vulkan, Windows guests, multi-tenancy, migration, performance || Not yet | |||
|} | |||
The full story, with evidence and the current wall: [[Project Status]] and [[The Execution Frontier]]. | |||
== Deep dives == | |||
* [[System Overview]] — the architecture before any subsystem | |||
* [[GSP and GSP-RM]] — the firmware interface we emulate | |||
* [[The vGSP Execution Plane (vEP)]] — how guest work becomes execution and completion | |||
* [[The Host Module (vgsp.ko)]] — the module internals | |||
* [[The Guest Stack and CUDASW]] — what runs unmodified in the guest | |||
* [[CUDA Userspace Driver]] — the <code>libcuda.so</code> analysis | |||
* [[Introduction to GMMU]] — GPU address translation from first principles | |||
* [[UVM in the Guest]] — unified memory as a correctness oracle | |||
* [[Physical GPU Backend and Guest Wiring]] — how work reaches real hardware | |||
* [[The Execution Frontier]] — the leading edge, evidence-led | |||
* [[Guest Driver Lifecycle: A Field Guide]] — boot to CUDA with real IDs and log signatures | |||
== Firmware interoperability == | |||
* [[GSP 570.144W Firmware Analysis]] | |||
* [[Address Reference]] | |||
* [[RPC Message Format]] · [[BAR Emulation Specification]] · [[WPR Management]] · [[Migration Protocol]] · [[GSP RPC Emulation]] (historical, superseded) | |||
* [[risc-v-gsp-rm-debugger]] — the firmware runtime workbench | |||
== | == Project and ecosystem == | ||
* [[Hardware and Software Matrix]] — supported combinations, honestly labelled | |||
* [[HAAEEP and Collaboration]] — the agent-edge use case and how to work with us | |||
* [[FAQ]] · [[Glossary]] | |||
== Community == | |||
* Source and issues: [https://git.vgpu.io/open-iov.git/ git.vgpu.io/open-iov] | |||
* Chat: [https://discord.gg/Rb9K9DYxKK Open-IOV Discord] | |||
== | == About Open-IOV == | ||
Open-IOV runs unmodified NVIDIA driver stacks inside virtual machines with GPU compute on hardware you own — no proprietary vGPU license, and no patches to the guest driver, the host driver, the hypervisor or the firmware. The project adds one host kernel module (<code>vgsp.ko</code>) that implements the interface the guest driver expects to talk to — the GPU System Processor and its resource-manager firmware — and arranges for the guest's work to run on real GPU hardware. | |||
* '''Mission:''' make NVIDIA GPUs fully virtualizable, by anyone, for any hypervisor, without modifying NVIDIA software, firmware or hardware. | |||
* '''Principles:''' no patches anywhere; honest status carried with dated evidence; an independent, self-contained IP block; durability by owning the interface rather than a snapshot of it. | |||
* '''Licensing:''' all documentation on this site is [https://creativecommons.org/licenses/by/4.0/ CC-BY-4.0]; the project's code is BSD-3-Clause (GPL-2.0 for the kernel modules); NVIDIA software and firmware are used unmodified and are not redistributed. | |||
'''[[Open-IOV:About|Read more about Open-IOV →]]''' | |||
== About this wiki == | |||
This wiki previously hosted documentation from the earlier project era (2021–2023). Those pages are retained for reference under [[Documentation|History]]; current documentation starts at [[Documentation]]. | |||
Latest revision as of 04:40, 12 October 2026
An absence of critical technical documentation has historically slowed growth and adoption of developer ecosystems for GPU virtualization.
This CC-BY-4.0 licensed content can either be used with attribution, or used as inspiration for new documentation, created by GPU vendors for public commercial distribution as developer documentation.
Where possible, this documentation will clearly label dates and versions of observed-but-not-guaranteed behaviour vs. vendor-documented stable interfaces/behaviour with guarantees of forward or backward compatibility.
Open-IOV is an open-source virtualization layer for NVIDIA GPUs: it runs stock, unmodified NVIDIA drivers inside virtual machines — Linux and Windows — with CUDA on hardware you own, without proprietary vGPU licenses, without patching the guest driver, the host driver, the hypervisor or the firmware.
Emulate the interface. Pass through the work. Never patch anyone.
The only new component is one host kernel module (vgsp.ko), which implements the interface the guest driver expects to talk to — the GPU System Processor and its resource-manager firmware — and arranges for the guest's work to run on real GPU hardware.
Start here
- Project Status — the honest, dated state of the project.
- Install and First Run — fresh host to a stock guest driver in about half an hour.
- System Overview — how Open-IOV works, in one page.
- Documentation — the full index of this wiki.
- FAQ — the questions we get asked most.
Project status (2026-10-12)
| Area | State |
|---|---|
| Emulated vGPU device (PCI, BARs, MSI-X, VFIO mdev) | Working |
| GSP boot emulation and GSP-RM message queues / RPC | Working |
| Stock guest driver probe, nvidia-smi (TU104) | Working |
| CUDA userspace init and the driver-API smoke (ALL OK, 64-byte payload round-trips) | Working |
| Guest CUDA kernel execution on real hardware | In progress — a forwarded launch reaches the engine queue; engine execution is the frontier |
| OpenGL / Vulkan, Windows guests, multi-tenancy, migration, performance | Not yet |
The full story, with evidence and the current wall: Project Status and The Execution Frontier.
Deep dives
- System Overview — the architecture before any subsystem
- GSP and GSP-RM — the firmware interface we emulate
- The vGSP Execution Plane (vEP) — how guest work becomes execution and completion
- The Host Module (vgsp.ko) — the module internals
- The Guest Stack and CUDASW — what runs unmodified in the guest
- CUDA Userspace Driver — the
libcuda.soanalysis - Introduction to GMMU — GPU address translation from first principles
- UVM in the Guest — unified memory as a correctness oracle
- Physical GPU Backend and Guest Wiring — how work reaches real hardware
- The Execution Frontier — the leading edge, evidence-led
- Guest Driver Lifecycle: A Field Guide — boot to CUDA with real IDs and log signatures
Firmware interoperability
- GSP 570.144W Firmware Analysis
- Address Reference
- RPC Message Format · BAR Emulation Specification · WPR Management · Migration Protocol · GSP RPC Emulation (historical, superseded)
- risc-v-gsp-rm-debugger — the firmware runtime workbench
Project and ecosystem
- Hardware and Software Matrix — supported combinations, honestly labelled
- HAAEEP and Collaboration — the agent-edge use case and how to work with us
- FAQ · Glossary
Community
- Source and issues: git.vgpu.io/open-iov
- Chat: Open-IOV Discord
About Open-IOV
Open-IOV runs unmodified NVIDIA driver stacks inside virtual machines with GPU compute on hardware you own — no proprietary vGPU license, and no patches to the guest driver, the host driver, the hypervisor or the firmware. The project adds one host kernel module (vgsp.ko) that implements the interface the guest driver expects to talk to — the GPU System Processor and its resource-manager firmware — and arranges for the guest's work to run on real GPU hardware.
- Mission: make NVIDIA GPUs fully virtualizable, by anyone, for any hypervisor, without modifying NVIDIA software, firmware or hardware.
- Principles: no patches anywhere; honest status carried with dated evidence; an independent, self-contained IP block; durability by owning the interface rather than a snapshot of it.
- Licensing: all documentation on this site is CC-BY-4.0; the project's code is BSD-3-Clause (GPL-2.0 for the kernel modules); NVIDIA software and firmware are used unmodified and are not redistributed.
About this wiki
This wiki previously hosted documentation from the earlier project era (2021–2023). Those pages are retained for reference under History; current documentation starts at Documentation.