Difference between revisions of "GVM"

From Open-IOV
Jump to navigation Jump to search
Line 1: Line 1:
[https://github.com/OpenMdev/GVM GVM] is a GPU Virtualization Machine for Linux on x86 hardware. It consists of a loadable kernel module, gvm.ko, that provides the core virtualization infrastructure and a processor specific module, gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko.
[https://github.com/OpenMdev/GVM GVM] is a GPU Virtualization Machine for Linux on x86 hardware. It consists of a loadable kernel module, gvm.ko, that provides the core virtualization infrastructure and a processor specific module, gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko.


== Planning ==
== Plan ==


# Survey available information on Mdev/SR-IOV internals.
# Survey available information on Mdev/SR-IOV internals.
# Comprehensive documentation of [https://openmdev.io/index.php/Mediated_Device_Internals Mediated Device Internals] (in progress).
# Comprehensive documentation of [https://openmdev.io/index.php/Mediated_Device_Internals Mediated Device Internals] (in progress).
# Meta-analysis of collected Mediated Device Internals documentation.
# Meta-analysis of collected Mediated Device Internals documentation (draw diagrams to explore first principles concepts, come up with working abstractions about device mediation for use with C code).
# Adjustments to GVM Planning.
# Adjustments to GVM Planning/Software Programming.


== Software Programming ==
== Software Programming ==


# Creation of simple gvm.ko infrastructure based on common GPU internals (core RPC functions suitable for use with driver submodules).
# Creation of simple gvm.ko core based on [https://openmdev.io/index.php/Mediated_Device_Internals Mediated Device Internals] meta-analysis (common interrupt and memory management functions suitable for use with driver submodules).
# Creation of gvm.ko submodule interface (suitable for use with interchangeable processor modules such as gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko).
# Creation of gvm.ko submodule interface (suitable for use with interchangeable processor modules such as gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko).
# Creation of gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko processor submodules.
# Creation of gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko processor submodules.

Revision as of 20:08, 22 April 2022

GVM is a GPU Virtualization Machine for Linux on x86 hardware. It consists of a loadable kernel module, gvm.ko, that provides the core virtualization infrastructure and a processor specific module, gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko.

Plan

  1. Survey available information on Mdev/SR-IOV internals.
  2. Comprehensive documentation of Mediated Device Internals (in progress).
  3. Meta-analysis of collected Mediated Device Internals documentation (draw diagrams to explore first principles concepts, come up with working abstractions about device mediation for use with C code).
  4. Adjustments to GVM Planning/Software Programming.

Software Programming

  1. Creation of simple gvm.ko core based on Mediated Device Internals meta-analysis (common interrupt and memory management functions suitable for use with driver submodules).
  2. Creation of gvm.ko submodule interface (suitable for use with interchangeable processor modules such as gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko).
  3. Creation of gvm-intel.ko, gvm-amd.ko, gvm-nvidia.ko processor submodules.