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/skins | |
| 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/skins')
14 files changed, 105 insertions, 0 deletions
diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/arrow-down.svg?9426f b/wiki/open-iov.org/skins/Vector/resources/common/images/arrow-down.svg?9426f new file mode 100644 index 0000000..7bf356a --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/arrow-down.svg?9426f @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> + <path fill="#202122" d="m11.05 3.996-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/bullet-icon.svg?d4515 b/wiki/open-iov.org/skins/Vector/resources/common/images/bullet-icon.svg?d4515 new file mode 100644 index 0000000..d047217 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/bullet-icon.svg?d4515 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"> + <circle cx="2.5" cy="9" r="2.5" fill="#202122"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/external-link-ltr-icon.svg?48e54 b/wiki/open-iov.org/skins/Vector/resources/common/images/external-link-ltr-icon.svg?48e54 new file mode 100644 index 0000000..526f999 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/external-link-ltr-icon.svg?48e54 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"> + <path fill="#fff" stroke="#36c" d="M1.5 4.518h5.982V10.5H1.5z"/> + <path fill="#36c" d="M5.765 1H11v5.39L9.427 7.937l-1.31-1.31L5.393 9.35l-2.69-2.688 2.81-2.808L4.2 2.544z"/> + <path fill="#fff" d="m9.995 2.004.022 4.885L8.2 5.07 5.32 7.95 4.09 6.723l2.882-2.88-1.85-1.852z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/portal-separator.png?4ab04 b/wiki/open-iov.org/skins/Vector/resources/common/images/portal-separator.png?4ab04 Binary files differnew file mode 100644 index 0000000..942674b --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/portal-separator.png?4ab04 diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/search.svg?bbf78 b/wiki/open-iov.org/skins/Vector/resources/common/images/search.svg?bbf78 new file mode 100644 index 0000000..9868bac --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/search.svg?bbf78 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"> + <title> + search + </title> + <path fill-rule="evenodd" d="M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/tab-normal-fade.png?1cc52 b/wiki/open-iov.org/skins/Vector/resources/common/images/tab-normal-fade.png?1cc52 Binary files differnew file mode 100644 index 0000000..daac499 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/tab-normal-fade.png?1cc52 diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/tab-separator.png?09d4b b/wiki/open-iov.org/skins/Vector/resources/common/images/tab-separator.png?09d4b Binary files differnew file mode 100644 index 0000000..860be48 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/tab-separator.png?09d4b diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon-hl.svg?5e652 b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon-hl.svg?5e652 new file mode 100644 index 0000000..f9c3555 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon-hl.svg?5e652 @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"> + <defs> + <linearGradient id="a"> + <stop offset="0" stop-color="#c2edff"/> + <stop offset=".5" stop-color="#68bdff"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + <linearGradient id="b" x1="13.47" x2="4.596" y1="14.363" y2="3.397" gradientUnits="userSpaceOnUse" xlink:href="#a"/> + </defs> + <path fill="url(#b)" stroke="#c8b250" d="m8.103 1.146 2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon.svg?c5368 b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon.svg?c5368 new file mode 100644 index 0000000..fe3f94a --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-icon.svg?c5368 @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"> + <title> + unwatch + </title> + <defs> + <linearGradient id="a"> + <stop offset="0" stop-color="#c2edff"/> + <stop offset=".5" stop-color="#68bdff"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + <linearGradient id="b" x1="13.5" x2="4.6" y1="14.4" y2="3.4" gradientUnits="userSpaceOnUse" xlink:href="#a"/> + </defs> + <path fill="url(#b)" stroke="#7cb5d1" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon-hl.svg?f3db6 b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon-hl.svg?f3db6 new file mode 100644 index 0000000..c5c8cc7 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon-hl.svg?f3db6 @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> + <title> + unwatch temporary highlighted + </title> + <defs> + <linearGradient id="a" x1="60.6%" x2="43.1%" y1="98.7%" y2="16.8%"> + <stop offset="0" stop-color="#c2edff"/> + <stop offset=".5" stop-color="#68bdff"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + </defs> + <g fill="none"> + <path fill="#fff" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> + <path fill="url(#a)" d="M7 .4v10.9l-4.2 2.2.8-4.8L0 5.3l4.8-.7z" transform="translate(1 1)"/> + <path stroke="#c8b250" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> + </g> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon.svg?195f5 b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon.svg?195f5 new file mode 100644 index 0000000..1a472cd --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/unwatch-temp-icon.svg?195f5 @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> + <title> + unwatch temporary + </title> + <defs> + <linearGradient id="a" x1="60.6%" x2="43.1%" y1="98.7%" y2="16.8%"> + <stop offset="0" stop-color="#c2edff"/> + <stop offset=".5" stop-color="#68bdff"/> + <stop offset="1" stop-color="#fff"/> + </linearGradient> + </defs> + <g fill="none"> + <path fill="#fff" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> + <path fill="url(#a)" d="M7 .4v10.9l-4.2 2.2.8-4.8L0 5.3l4.8-.7z" transform="translate(1 1)"/> + <path stroke="#7cb5d1" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> + </g> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon-hl.svg?9bf90 b/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon-hl.svg?9bf90 new file mode 100644 index 0000000..c26b54e --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon-hl.svg?9bf90 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> + <title> + watch highlighted + </title> + <path fill="#fff" stroke="#c8b250" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon.svg?6ab6f b/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon.svg?6ab6f new file mode 100644 index 0000000..9cb8506 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/common/images/watch-icon.svg?6ab6f @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> + <title> + watch + </title> + <path fill="#fff" stroke="#7cb5d1" d="m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z"/> +</svg> diff --git a/wiki/open-iov.org/skins/Vector/resources/skins.vector.styles.legacy/images/user-avatar.svg?b7f58 b/wiki/open-iov.org/skins/Vector/resources/skins.vector.styles.legacy/images/user-avatar.svg?b7f58 new file mode 100644 index 0000000..aa4ef95 --- /dev/null +++ b/wiki/open-iov.org/skins/Vector/resources/skins.vector.styles.legacy/images/user-avatar.svg?b7f58 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"> + <g fill="#54595d"> + <path d="M10 11c-5.92 0-8 3-8 5v3h16v-3c0-2-2.08-5-8-5z"/> + <circle cx="10" cy="5.5" r="4.5"/> + </g> +</svg> |
