Enhanced vMotion Compatibility (EVC) is a cluster feature that ensures CPU compatibility between hosts in a cluster so that you can seamlessly migrate virtual machines within the EVC cluster. You can also activate, deactivate, or change the EVC mode at the virtual machine level.

The per-VM EVC feature facilitates the migration of the virtual machine beyond the cluster and across vCenter Server systems and data centers that have different processors. The per-VM EVC feature facilitates the migration of the virtual machine beyond the cluster and across vCenter Server systems and data centers that have different processors.

Starting with vSphere 7.0 Update 1, you can take advantage of the EVC feature for Virtual Shared Graphics Acceleration (vSGA). vSGA allows multiple virtual machines to share GPUs installed on ESXi hosts and leverage the 3D graphics acceleration capabilities.

The EVC mode of a virtual machine is independent from the EVC mode defined at the cluster level. The cluster-based EVC mode limits the CPU features a host exposes to virtual machines. The per-VM EVC mode determines the set of host CPU features that a virtual machine requires to power on and migrate.

By default, when you power on a newly created virtual machine, it inherits the feature set of its parent EVC cluster or host. However, you can change the EVC mode for each virtual machine separately. You can raise or lower the EVC mode of a virtual machine. Lowering the EVC mode increases the CPU compatibility of the virtual machine. You can also use the API calls to customize the EVC mode further.

Cluster-Level EVC and Per-VM EVC

There are several differences between the way the EVC feature works at the host cluster level and at the virtual machine level.

  • Unlike cluster-based EVC, you can change the per-VM EVC mode only when the virtual machine is powered off.
  • With cluster-based EVC, when you migrate a virtual machine out of the EVC cluster, a power cycle resets the EVC mode that the virtual machine has. With Per-VM EVC, the EVC mode becomes an attribute of the virtual machine. A power cycle does not affect the compatibility of the virtual machine with different processors.
  • When you configure EVC at the virtual machine level, the per-VM EVC mode overrides cluster-based EVC. If you do not configure per-VM EVC, when you power on the virtual machine, it inherits the EVC mode of its parent EVC cluster or host.
  • If a virtual machine is in an EVC cluster and the per-VM EVC is also enabled, the EVC mode of the virtual machine cannot exceed the EVC mode of the EVC cluster in which the virtual machine runs. The baseline feature set that you configure for the virtual machine cannot contain more CPU features than the baseline feature set applied to the hosts in the EVC cluster. For example, if you configure a cluster with the Intel "Merom" Generation EVC mode, you should not configure a virtual machine with any other Intel baseline feature set. All other sets contain more CPU features than the Intel "Merom" Generation feature set and as a result of such configuration, the virtual machine fails to power on.

To learn more about EVC clusters, see the vCenter Server and Host Management guide.

Compatibility and Requirements

The per-VM EVC feature has the following requirements.
Compatibility Requirement
Host compatibility

ESXi 7.0 or later.

vCenter Server compatibility

vCenter Server 7.0 or later.

Virtual machine compatibility Virtual hardware version 14 or later.

To check EVC support for a specific processor or server model, see the VMware Compatibility Guide at http://www.vmware.com/resources/compatibility/search.php.

Configure the EVC Mode of a Virtual Machine

Per-VM EVC is deactivated by default. You can activate, deactivate, and change the EVC mode of a virtual machine to ensure its seamless migration across clusters, vCenter Server systems, and data centers that have different processors.

Prerequisites

Power off the virtual machine.

Procedure

  1. Navigate to a virtual machine in the vCenter Server inventory.
  2. On the Configure tab, select VMware EVC.
    The pane shows details about the EVC mode of the virtual machine and CPUID details.
    Important: For newly created virtual machines, the EVC mode that shows in the VMware EVC pane is deactivated.

    For powered off virtual machines, the VMware EVC pane always shows the EVC status defined at the virtual machine level.

    For powered on virtual machines with per-VM EVC enabled, the VMware EVC pane shows the EVC status defined at the virtual machine level.

    For powered on virtual machines with per-VM EVC deactivated, the VMware EVC pane shows the EVC mode that the virtual machine inherits from its parent EVC cluster or host.

  3. Click the Edit button.
    The Change EVC Mode dialog box opens.
  4. In the Change EVC Mode dialog box, select whether to activate or deactivate EVC.
    Option Description
    Disable EVC The EVC feature is deactivated for the virtual machine. When you power on the virtual machine, it inherits the feature set of its parent EVC cluster or host.
    Enable EVC for AMD hosts The EVC feature is enabled for AMD hosts.
    Enable EVC for Intel hosts The EVC feature is enabled for Intel hosts.
    Custom This option is visible only if you have customized the EVC mode of the virtual machine through the API calls.
  5. (Optional) From the CPU Mode drop-down menu, select a baseline CPU feature set.
    Important: If the virtual machine is in an EVC cluster and the per-VM EVC mode exceeds the EVC mode for the cluster, the virtual machine fails to power on. The baseline CPU feature set for the virtual machine must not contain more CPU features than the baseline CPU feature set of the cluster.
  6. (Optional) From the Graphics Mode (vSGA) drop-down menu, select a baseline graphics feature set.
    Option Description
    Baseline Graphics Applies the Baseline Graphics feature set that includes features through Direct3D 10.1/OpenGL 3.3.
    Note: To configure the vSGA mode to apply the Baseline Graphics set that includes features through Direct3D 10.1/OpenGL 3.3, the virtual machine must be compatible with ESXi 7.0 Update 1 or earlier.
    D3D 11.0 class features Applies the baseline graphics feature set that includes features through Direct3D 11.0/OpenGL 4.3
    Note: To configure the vSGA mode to apply the Baseline Graphics set that includes features through Direct3D 11.0/OpenGL 4.3, verify that the virtual machine is compatible with ESXi 8.0 or later and has installed VMware Tools 12.0.0 or later.

    To power on a virtual machine, configured with Direct3D 11.0/OpenGL 4.3, verify that the ESXi host graphics hardware is available.

  7. Click OK.

How to Determine the EVC Mode of Your Virtual Machine

The EVC mode of a virtual machine determines the CPU and graphics features that a host must have in order for the virtual machine to migrate to that host and power on. The EVC mode of a virtual machine is independent from the EVC mode that you configure for the cluster in which the virtual machine runs.

The EVC mode of a virtual machine is determined when the virtual machine powers on. At power-on, the virtual machine also determines the EVC mode of the cluster in which it runs. If the EVC mode of a running virtual machine or the entire EVC cluster is raised, the virtual machine does not change its EVC mode until it is powered off and powered on again. This means that the virtual machine does not use any CPU features exposed by the new EVC mode until the virtual machine is powered off and powered on again.

For example, you create an EVC cluster that contains hosts with Intel processors and you set the EVC mode to Intel "Merom" Generation (Xeon Core 2). When you power on a virtual machine in this cluster, it runs in the Intel Merom Generation (Xeon Core 2) EVC mode. If you raise the EVC mode of the cluster to Intel "Penryn" Generation (Xeon 45 nm Core 2), the virtual machine retains the lower Intel "Merom" Generation (Xeon Core 2) EVC mode. To use the feature set of the higher EVC mode, such as SSE4.1, the virtual machine must be powered off and powered on again.

Procedure

  1. Navigate to a cluster or a host in the vCenter Server inventory.
  2. Click the VMs > Virtual Machines tab.
    A list of all virtual machines in the selected cluster or on the selected host appears.
  3. To verify the status of the CPU mode, check the EVC CPU Mode column.
    1. If the column is not visible, click the Manage columns icon (Select which columns to show in the object list view.) at the bottom left corner of the Virtual Machines table.
      The Show Columns pop-up appears.
    2. To show the EVC CPU Mode column, locate and select the respective check box from the list.
    The EVC CPU Mode column shows the CPU modes of all virtual machines in the cluster or on the host.
    Important: For each virtual machine, the EVC CPU Mode column displays the EVC mode defined at the virtual machine level.

    However, if you do not configure per-VM EVC for a virtual machine, the virtual machine inherits the EVC mode of its parent cluster or host. As a result, for all virtual machines that do not have per-VM EVC configured, the EVC CPU Mode column displays the inherited EVC mode of the parent host or cluster.

    If the virtual machine is in an EVC cluster, the EVC mode that you see in the EVC CPU Mode column is defined in the following manner.
    • When the virtual machine is powered on, the EVC CPU Mode column displays either the per-VM EVC mode, or the cluster-level EVC mode.
      Per-VM EVC Cluster-Level EVC EVC Mode for the Virtual Machine
      Activated Activated Enabled. The EVC CPU Mode column displays the EVC mode of the virtual machine.
      Deactivated Activated Enabled. The EVC CPU Mode column displays the EVC mode of the EVC cluster.
    • When the virtual machine is powered off, the EVC CPU Mode column displays the per-VM EVC mode. If per-VM EVC is deactivated, the EVC CPU Mode column for the virtual machine is empty.
    When the virtual machine is not in an EVC cluster and per-VM EVC is not configured, the EVC mode that you see in the EVC CPU Mode column is defined in the following manner.
    • When the virtual machine is powered on, the EVC CPU Mode column displays the EVC mode of the parent host.
    • When the virtual machine is powered off, the EVC CPU Mode column is empty.
  4. To verify the status of the graphics mode, check the EVC Graphics Mode (vSGA) column.
    1. If the column is not visible, click the Manage columns icon (Select which columns to show in the object list view.) at the bottom left corner of the Virtual Machines table.
      The Show Columns pop-up appears.
    2. To show the EVC Graphics Mode (vSGA) column, locate and select the respective check box from the list.
    The EVC Graphics Mode (vSGA) column displays the baseline graphics features set. To view the baseline graphics, you must enable 3D graphics in the virtual machine.

    For information about configuring 3D graphics in a virtual machine, see Configure 3D Graphics and Video Cards.