diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 3169292b6b..ccd0969ce3 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -88,9 +88,6 @@ Topics: - Name: Control plane architecture File: control-plane Distros: openshift-enterprise,openshift-origin,openshift-online -- Name: NVIDIA GPU architecture overview - File: nvidia-gpu-architecture-overview - Distros: openshift-enterprise - Name: Understanding OpenShift development File: understanding-development Distros: openshift-enterprise @@ -3301,6 +3298,8 @@ Distros: openshift-origin,openshift-enterprise Topics: - Name: About hardware accelerators File: about-hardware-accelerators +- Name: NVIDIA GPU architecture + File: nvidia-gpu-architecture --- Name: Backup and restore Dir: backup_and_restore diff --git a/hardware_accelerators/about-hardware-accelerators.adoc b/hardware_accelerators/about-hardware-accelerators.adoc index 394214ce49..ef43364746 100644 --- a/hardware_accelerators/about-hardware-accelerators.adoc +++ b/hardware_accelerators/about-hardware-accelerators.adoc @@ -16,7 +16,7 @@ Red{nbsp}Hat {product-title} provides support for cards and peripheral hardware * Data processing units (DPUs) -image::OCP_HW_Accelerators_4.png[Supported hardware accelerators cards and peripherals] +image::OCP_HW_Accelerators_5.png[Supported hardware accelerators cards and peripherals] Specialized hardware accelerators provide a rich set of benefits for AI/ML development: @@ -44,3 +44,4 @@ NVIDIA GPU Operator on Red Hat OpenShift Container Platform] * link:https://www.amd.com/en/products/accelerators/instinct.html[AMD Instinct Accelerators] * link:https://www.intel.com/content/www/us/en/products/details/processors/ai-accelerators/gaudi-overview.html[Intel Gaudi Al Accelerators] + diff --git a/hardware_accelerators/nvidia-gpu-architecture.adoc b/hardware_accelerators/nvidia-gpu-architecture.adoc new file mode 100644 index 0000000000..a6ec3bcdc2 --- /dev/null +++ b/hardware_accelerators/nvidia-gpu-architecture.adoc @@ -0,0 +1,106 @@ +:_mod-docs-content-type: ASSEMBLY +[id="nvidia-gpu-architecture"] += NVIDIA GPU architecture +include::_attributes/common-attributes.adoc[] +:context: nvidia-gpu-architecture + +toc::[] + +NVIDIA supports the use of graphics processing unit (GPU) resources on {product-title}. {product-title} is a security-focused and hardened Kubernetes platform developed and supported by Red Hat for deploying and managing Kubernetes clusters at scale. {product-title} includes enhancements to Kubernetes so that users can easily configure and use NVIDIA GPU resources to accelerate workloads. + +The NVIDIA GPU Operator uses the Operator framework within {product-title} to manage the full lifecycle of NVIDIA software components required to run GPU-accelerated workloads. + +These components include the NVIDIA drivers (to enable CUDA), the Kubernetes device plugin for GPUs, the NVIDIA Container Toolkit, automatic node tagging using GPU feature discovery (GFD), DCGM-based monitoring, and others. + +[NOTE] +==== +The NVIDIA GPU Operator is only supported by NVIDIA. For more information about obtaining support from NVIDIA, see link:https://access.redhat.com/solutions/5174941[Obtaining Support from NVIDIA]. +==== + +//TELCODOCS-1956 - Moved to Hardware accelerators section + +include::modules/nvidia-gpu-prerequisites.adoc[leveloffset=+1] + +// New enablement modules +ifndef::openshift-dedicated,openshift-rosa[] +include::modules/nvidia-gpu-enablement.adoc[leveloffset=+1] + +include::modules/nvidia-gpu-bare-metal.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://docs.nvidia.com/ai-enterprise/deployment-guide-openshift-on-bare-metal/0.1.0/on-bare-metal.html[Red Hat OpenShift on Bare Metal Stack] + +include::modules/nvidia-gpu-virtualization.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/openshift/openshift-virtualization.html[NVIDIA GPU Operator with OpenShift Virtualization] + +include::modules/nvidia-gpu-vsphere.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/openshift/nvaie-with-ocp.html#openshift-container-platform-on-vmware-vsphere-with-nvidia-vgpus[OpenShift Container Platform on VMware vSphere with NVIDIA vGPUs] + +include::modules/nvidia-gpu-kvm.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://computingforgeeks.com/how-to-deploy-openshift-container-platform-on-kvm/[How To Deploy OpenShift Container Platform 4.13 on KVM] + +include::modules/nvidia-gpu-csps.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://docs.nvidia.com/ai-enterprise/deployment-guide-cloud/0.1.0/aws-redhat-openshift.html[Red Hat Openshift in the Cloud] +endif::openshift-dedicated,openshift-rosa[] + +// Include this module at a higher leveloffset for OSD/ROSA. +ifdef::openshift-dedicated,openshift-rosa[] +include::modules/nvidia-gpu-csps.adoc[leveloffset=+1] +[role="_additional-resources"] +.Additional resources +* link:https://docs.nvidia.com/ai-enterprise/deployment-guide-cloud/0.1.0/aws-redhat-openshift.html[Red Hat Openshift in the Cloud] +endif::openshift-dedicated,openshift-rosa[] + +ifndef::openshift-dedicated,openshift-rosa[] +include::modules/nvidia-gpu-red-hat-device-edge.adoc[leveloffset=+2] +[role="_additional-resources"] +.Additional resources +* link:https://cloud.redhat.com/blog/how-to-accelerate-workloads-with-nvidia-gpus-on-red-hat-device-edge[How to accelerate workloads with NVIDIA GPUs on Red Hat Device Edge] +endif::openshift-dedicated,openshift-rosa[] + +// TELCODOCS-1092 GPU sharing methods +include::modules/nvidia-gpu-sharing-methods.adoc[leveloffset=+1] +.Additional resources +* link:https://developer.nvidia.com/blog/improving-gpu-utilization-in-kubernetes/[Improving GPU Utilization] + +include::modules/nvidia-gpu-cuda-streams.adoc[leveloffset=+2] +.Additional resources +* link:https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#asynchronous-concurrent-execution[Asynchronous Concurrent Execution] + +include::modules/nvidia-gpu-time-slicing.adoc[leveloffset=+2] + +include::modules/nvidia-gpu-cuda-mps.adoc[leveloffset=+2] +.Additional resources +* link:https://docs.nvidia.com/deploy/mps/index.html[CUDA MPS] + +include::modules/nvidia-gpu-mig-gpu.adoc[leveloffset=+2] +.Additional resources +* link:https://docs.nvidia.com/datacenter/tesla/mig-user-guide/[NVIDIA Multi-Instance GPU User Guide] + +include::modules/nvidia-gpu-virtualization-with-gpu.adoc[leveloffset=+2] +.Additional resources +* link:https://www.nvidia.com/en-us/data-center/virtual-solutions/[Virtual GPUs] + +include::modules/nvidia-gpu-features.adoc[leveloffset=+1] +[role="_additional-resources"] +.Additional resources + +* link:https://docs.nvidia.com/ngc/ngc-deploy-on-premises/nvidia-certified-systems/index.html[NVIDIA-Certified Systems] +* link:https://docs.nvidia.com/ai-enterprise/index.html#deployment-guides[NVIDIA AI Enterprise] +* link:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/overview.html#[NVIDIA Container Toolkit] +* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/enable-gpu-monitoring-dashboard.html[Enabling the GPU Monitoring Dashboard] +* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/mig-ocp.html[MIG Support in OpenShift Container Platform] +* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/time-slicing-gpus-in-openshift.html[Time-slicing NVIDIA GPUs in OpenShift] +* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/mirror-gpu-ocp-disconnected.html[Deploy GPU Operators in a disconnected or airgapped environment] +// Topic not available in OSD/ROSA +ifndef::openshift-dedicated,openshift-rosa[] +* xref:../hardware_enablement/psap-node-feature-discovery-operator.html[Node Feature Discovery Operator] +endif::openshift-dedicated,openshift-rosa[] diff --git a/images/OCP_HW_Accelerators_5.png b/images/OCP_HW_Accelerators_5.png new file mode 100644 index 0000000000..6b92895837 Binary files /dev/null and b/images/OCP_HW_Accelerators_5.png differ diff --git a/modules/nvidia-gpu-architecture.adoc b/modules/nvidia-gpu-architecture.adoc new file mode 100644 index 0000000000..99d25207cc --- /dev/null +++ b/modules/nvidia-gpu-architecture.adoc @@ -0,0 +1,18 @@ +// Module included in the following assemblies: +// +// * hardware_accelerators/about-hardware-accelerators.adoc + +:_mod-docs-content-type: CONCEPT +[id="nvidia-gpu-architecture_{context}"] += NVIDIA GPU architecture + +NVIDIA supports the use of graphics processing unit (GPU) resources on {product-title}. {product-title} is a security-focused and hardened Kubernetes platform developed and supported by Red Hat for deploying and managing Kubernetes clusters at scale. {product-title} includes enhancements to Kubernetes so that users can easily configure and use NVIDIA GPU resources to accelerate workloads. + +The NVIDIA GPU Operator leverages the Operator framework within {product-title} to manage the full lifecycle of NVIDIA software components required to run GPU-accelerated workloads. + +These components include the NVIDIA drivers (to enable CUDA), the Kubernetes device plugin for GPUs, the NVIDIA Container Toolkit, automatic node tagging using GPU feature discovery (GFD), DCGM-based monitoring, and others. + +[NOTE] +==== +The NVIDIA GPU Operator is only supported by NVIDIA. For more information about obtaining support from NVIDIA, see link:https://access.redhat.com/solutions/5174941[Obtaining Support from NVIDIA]. +==== diff --git a/modules/nvidia-gpu-bare-metal.adoc b/modules/nvidia-gpu-bare-metal.adoc index deb65bb463..7c8bf98012 100644 --- a/modules/nvidia-gpu-bare-metal.adoc +++ b/modules/nvidia-gpu-bare-metal.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-bare-metal_{context}"] diff --git a/modules/nvidia-gpu-csps.adoc b/modules/nvidia-gpu-csps.adoc index 98f70d1404..97880e9652 100644 --- a/modules/nvidia-gpu-csps.adoc +++ b/modules/nvidia-gpu-csps.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-csps_{context}"] diff --git a/modules/nvidia-gpu-cuda-mps.adoc b/modules/nvidia-gpu-cuda-mps.adoc index 3827eac60d..7443257a15 100644 --- a/modules/nvidia-gpu-cuda-mps.adoc +++ b/modules/nvidia-gpu-cuda-mps.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-cuda-mps_{context}"] diff --git a/modules/nvidia-gpu-cuda-streams.adoc b/modules/nvidia-gpu-cuda-streams.adoc index 654e63c926..daad360cfe 100644 --- a/modules/nvidia-gpu-cuda-streams.adoc +++ b/modules/nvidia-gpu-cuda-streams.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-cuda-streams_{context}"] diff --git a/modules/nvidia-gpu-enablement.adoc b/modules/nvidia-gpu-enablement.adoc index 23e9037f2c..61abf456ef 100644 --- a/modules/nvidia-gpu-enablement.adoc +++ b/modules/nvidia-gpu-enablement.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-enablement_{context}"] diff --git a/modules/nvidia-gpu-features.adoc b/modules/nvidia-gpu-features.adoc index dc80c1fba2..cdcfe39e54 100644 --- a/modules/nvidia-gpu-features.adoc +++ b/modules/nvidia-gpu-features.adoc @@ -1,7 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc - +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-features_{context}"] diff --git a/modules/nvidia-gpu-kvm.adoc b/modules/nvidia-gpu-kvm.adoc index 97f5c6f8a4..b4456da1e2 100644 --- a/modules/nvidia-gpu-kvm.adoc +++ b/modules/nvidia-gpu-kvm.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-kvm_{context}"] diff --git a/modules/nvidia-gpu-mig-gpu.adoc b/modules/nvidia-gpu-mig-gpu.adoc index 80e34cd767..d9d2e98cad 100644 --- a/modules/nvidia-gpu-mig-gpu.adoc +++ b/modules/nvidia-gpu-mig-gpu.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-mig-gpu_{context}"] diff --git a/modules/nvidia-gpu-prerequisites.adoc b/modules/nvidia-gpu-prerequisites.adoc index 94111d0ba0..34f249692d 100644 --- a/modules/nvidia-gpu-prerequisites.adoc +++ b/modules/nvidia-gpu-prerequisites.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT diff --git a/modules/nvidia-gpu-red-hat-device-edge.adoc b/modules/nvidia-gpu-red-hat-device-edge.adoc index e91a916ad3..b31e2f19f7 100644 --- a/modules/nvidia-gpu-red-hat-device-edge.adoc +++ b/modules/nvidia-gpu-red-hat-device-edge.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-red-hat-device-edge_{context}"] diff --git a/modules/nvidia-gpu-sharing-methods.adoc b/modules/nvidia-gpu-sharing-methods.adoc index ef9e2fe440..68d17a2e70 100644 --- a/modules/nvidia-gpu-sharing-methods.adoc +++ b/modules/nvidia-gpu-sharing-methods.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-sharing-methods_{context}"] diff --git a/modules/nvidia-gpu-time-slicing.adoc b/modules/nvidia-gpu-time-slicing.adoc index 382d626e0f..706041e178 100644 --- a/modules/nvidia-gpu-time-slicing.adoc +++ b/modules/nvidia-gpu-time-slicing.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-time-slicing_{context}"] diff --git a/modules/nvidia-gpu-virtualization-with-gpu.adoc b/modules/nvidia-gpu-virtualization-with-gpu.adoc index bba1ccf13e..bb3e622115 100644 --- a/modules/nvidia-gpu-virtualization-with-gpu.adoc +++ b/modules/nvidia-gpu-virtualization-with-gpu.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-virtualization-with-gpu_{context}"] diff --git a/modules/nvidia-gpu-virtualization.adoc b/modules/nvidia-gpu-virtualization.adoc index 9b70d95c90..d087bb0767 100644 --- a/modules/nvidia-gpu-virtualization.adoc +++ b/modules/nvidia-gpu-virtualization.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-virtualization_{context}"] diff --git a/modules/nvidia-gpu-vsphere.adoc b/modules/nvidia-gpu-vsphere.adoc index 997177bfb3..c600d72123 100644 --- a/modules/nvidia-gpu-vsphere.adoc +++ b/modules/nvidia-gpu-vsphere.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * architecture/nvidia-gpu-architecture-overview.adoc +// * hardware_accelerators/about-hardware-accelerators.adoc :_mod-docs-content-type: CONCEPT [id="nvidia-gpu-vsphere_{context}"]