diff options
| author | Open-IOV <dev@open-iov.org> | 2026-09-23 05:44:08 -0400 |
|---|---|---|
| committer | Open-IOV <dev@open-iov.org> | 2026-09-23 05:46:43 -0400 |
| commit | 2302fc09080bad51c73f293294e19fd4db464eb0 (patch) | |
| tree | c722d186347fdef5a34131e9e143b1549b1daf8e /wiki/open-iov.org/resources/src | |
| download | open-iov-2302fc09080bad51c73f293294e19fd4db464eb0.tar.gz open-iov-2302fc09080bad51c73f293294e19fd4db464eb0.zip | |
Open-IOV: initial public release
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with
real GPU functionality - CUDA first, 3D and video to follow - on unmodified
hosts, without a proprietary vGPU license and without patching any driver,
firmware or hypervisor.
Core principle: emulate the interface, pass through the work.
kernel/ open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device
(PCI config space, BAR shadows, MSI-X), GSP boot emulation,
GSP-RM message-queue/RPC emulation, memory model (GPU-VA to
guest-PA discovery) and the semaphore-completion service that
advances guest UVM progress.
userspace/ libiov.so management API and examples.
tools/ guest diagnostics, firmware analysis wrappers, RM probes.
scripts/ stack manager, VM harness, build/load/test automation.
config/ hardware/version profiles (the portability surface).
docs/ documentation tree - start at docs/README.md.
wiki/ long-form firmware and protocol deep dives.
Status: initialization works end to end for a stock 570.144 Linux guest on
Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery,
object creation and the early CUDA/UVM start-up path. GPU work forwarding -
the step that makes CUDA kernels execute on real hardware - is the active
work item; see docs/04-implementation/01-known-knowns-and-unknowns.md.
License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link
GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
Diffstat (limited to 'wiki/open-iov.org/resources/src')
21 files changed, 89 insertions, 0 deletions
diff --git a/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_both.svg?0e440 b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_both.svg?0e440 new file mode 100644 index 0000000..29297cb --- /dev/null +++ b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_both.svg?0e440 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="21" height="9" viewBox="0 0 21 9"> + <path d="m14.5 5-4 4-4-4zm0-1-4-4-4 4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_down.svg?4b69e b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_down.svg?4b69e new file mode 100644 index 0000000..38b22bc --- /dev/null +++ b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_down.svg?4b69e @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="21" height="4" viewBox="0 0 21 4"> + <path d="m14.5 0-4 4-4-4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_up.svg?2ff5c b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_up.svg?2ff5c new file mode 100644 index 0000000..9278829 --- /dev/null +++ b/wiki/open-iov.org/resources/src/jquery.tablesorter.styles/images/sort_up.svg?2ff5c @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="21" height="4" viewBox="0 0 21 4"> + <path d="m6.5 4 4-4 4 4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/checker.svg?ff513 b/wiki/open-iov.org/resources/src/mediawiki.action/images/checker.svg?ff513 new file mode 100644 index 0000000..86e0ab0 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/checker.svg?ff513 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> + <path d="M0 0h8v16h8V8H0z" opacity=".07"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.png?778f7 b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.png?778f7 Binary files differnew file mode 100644 index 0000000..d99ba3c --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.png?778f7 diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.svg?3ffd5 b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.svg?3ffd5 new file mode 100644 index 0000000..34d7035 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-ltr.svg?3ffd5 @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="42" height="20" viewBox="0 0 42 20"> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width="2" d="M11 10h17.064"/> + <path d="m23 6 8 4-8 4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.png?3fa7a b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.png?3fa7a Binary files differnew file mode 100644 index 0000000..a25d78a --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.png?3fa7a diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.svg?67397 b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.svg?67397 new file mode 100644 index 0000000..4259cb8 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/nextredirect-rtl.svg?67397 @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="42" height="20" viewBox="0 0 42 20"> + <path fill="#fff" stroke="#000" stroke-miterlimit="10" stroke-width="2" d="M31 10H13.936"/> + <path d="m19 6-8 4 8 4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.png?926f7 b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.png?926f7 Binary files differnew file mode 100644 index 0000000..ef4a110 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.png?926f7 diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.svg?ff441 b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.svg?ff441 new file mode 100644 index 0000000..f13a26b --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-ltr.svg?ff441 @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="47" height="20" viewBox="0 0 47 20"> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="2" d="M14.98 2.5V11c0 1.04 1.02 1.98 2.02 1.98h6l3 .02"/> + <path d="m23.48 9.5.02 7L30 13z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.png?adb14 b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.png?adb14 Binary files differnew file mode 100644 index 0000000..c883795 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.png?adb14 diff --git a/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.svg?db62f b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.svg?db62f new file mode 100644 index 0000000..e9dfe51 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.action/images/redirect-rtl.svg?db62f @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="47" height="20" viewBox="0 0 47 20"> + <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="2" d="M32.002 2.5V11c0 1.04-1.02 1.98-2.02 1.98h-6l-3 .02"/> + <path d="m23.502 9.5-.02 7-6.5-3.5z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/audio-ltr.svg?74d04 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/audio-ltr.svg?74d04 new file mode 100644 index 0000000..cbcd07a --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/audio-ltr.svg?74d04 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#36b" d="m7.002 1.01-3 3h-3v4h3l3 3zm-1 2.5v5l-1.5-1.5h-2.5v-2h2.5z"/> + <path fill="#15a5ea" d="M7.432 4.11c0-.621.621-1.243 1.243-.621 0 0 .621.621.621 2.485s-.62 2.485-.62 2.485c-.622.621-1.244 0-1.244-.622 0 0 .621-.62.621-1.864s-.62-1.864-.62-1.864z"/> + <path fill="#15a5ea" d="M9.292 2.81c0-.621.621-1.243 1.243-.621 0 0 1.243 1.243 1.243 3.728s-1.243 3.728-1.243 3.728c-.621.621-1.243 0-1.243-.622 0 0 1.243-1.243 1.243-3.107S9.292 2.81 9.292 2.81z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/chat-ltr.svg?e0649 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/chat-ltr.svg?e0649 new file mode 100644 index 0000000..1424c5a --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/chat-ltr.svg?e0649 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#36b" d="m1.622 2.01-.621.621v5.757l.621.622h1.69l-.622 2.728L7 9.01h4.38l.62-.622V2.631l-.621-.621zm.379 1h9v5H7L4.099 9.907 5 8.01H2z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/document-ltr.svg?0bf90 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/document-ltr.svg?0bf90 new file mode 100644 index 0000000..ee318c6 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/document-ltr.svg?0bf90 @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#15a5ea" d="M7.5 2v3H10l1-1H8.5V1z"/> + <path fill="#36b" d="M3 1v10h8V4L8.5 1zm1 1h4l2 2.5V10H4z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/external-ltr.svg?59558 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/external-ltr.svg?59558 new file mode 100644 index 0000000..ae47a02 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/external-ltr.svg?59558 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#36b" d="M5.002 1.01h7v7l-2-2-3 2v-1l3-2.25 1 1V2.01h-3.75l1 1-2.25 3h-1l2-3z"/> + <path fill="#36b" d="M7.002 3.01h-5v8h8v-5h-1v4h-6v-6h4z"/> + <path fill="#15a5ea" d="M4.082 5.51c0-.621.621-.621.621-.621 1.864.621 3.107 1.864 3.728 3.728 0 0 0 .621-.62.621-1.245-1.864-1.866-2.485-3.73-3.728z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/ftp-ltr.svg?c5643 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/ftp-ltr.svg?c5643 new file mode 100644 index 0000000..d8845aa --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/ftp-ltr.svg?c5643 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#3465ba" d="M1.043 2.466v7.5l1-.987V2.966h2l2 1h4v2h1v-2.5l-.5-.5h-4.5l-2-1h-2.5z"/> + <path fill="#16a4e8" d="M6.043 4.966h-3.5l-.5.5-1 4.5h10v-4.5l-.5-.5zm0 1h4v3h-7.75l.75-3h2z"/> + <path fill="#3465ba" d="M2.043 10.966v1h8v-1z"/> + <path fill="#3465ba" d="M5.043 9.466v2h2v-2c0-.5-2-.5-2 0z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-ltr.svg?8330e b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-ltr.svg?8330e new file mode 100644 index 0000000..574635a --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-ltr.svg?8330e @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" viewBox="0 0 11 15"> + <g id="magnify-clip" fill="#fff" stroke="#000"> + <path id="bigbox" d="M1.509 1.865h10.99v7.919H1.509z"/> + <path id="smallbox" d="M-1.499 6.868h5.943v4.904h-5.943z"/> + </g> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-rtl.svg?38fd5 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-rtl.svg?38fd5 new file mode 100644 index 0000000..31176d2 --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/magnify-clip-rtl.svg?38fd5 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" viewBox="0 0 11 15"> + <g id="magnify-clip" fill="#fff" stroke="#000"> + <path id="bigbox" d="M9.491 1.865h-10.99v7.919h10.99z"/> + <path id="smallbox" d="M12.499 6.868H6.556v4.904h5.943z"/> + </g> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/mail.svg?8a79c b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/mail.svg?8a79c new file mode 100644 index 0000000..9a33dce --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/mail.svg?8a79c @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#15a5ea" d="M1.84 4 6.5 8.349 11.16 4l-.621-.621L9.296 4 6.5 6.485 3.704 4 2.46 3.38z"/> + <path fill="#36b" d="M1 3v8h11V3zm1 1h9v6H2z"/> +</svg> diff --git a/wiki/open-iov.org/resources/src/mediawiki.skinning/images/video.svg?a3758 b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/video.svg?a3758 new file mode 100644 index 0000000..d683adc --- /dev/null +++ b/wiki/open-iov.org/resources/src/mediawiki.skinning/images/video.svg?a3758 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13"> + <path fill="#15a5ea" d="M2.492 2.01v.621h8.098V2.01zm0 8h8.098v-.621H2.492zm0-6.1v.621h1.87V3.91zm6.23 0v.621h1.868V3.91zm-6.23 3.7v.621h1.87V7.61zm6.23 0v.621h1.868V7.61zm-6.23-1.2h8.098v-.621H2.492z"/> + <path fill="#15a5ea" d="M4.362 5.51v1.243h4.36V5.51z"/> + <path fill="#36b" d="M4.002 2.01v8h5v-8zm1 1h3v6h-3zm-3-2h1v10h-1zm8 0h1v10h-1z"/> +</svg> |
