Unable to upgrade an application within Guest OS with error: AVX instruction set not supported on this node.
search cancel

Unable to upgrade an application within Guest OS with error: AVX instruction set not supported on this node.

book

Article ID: 403240

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • Following error messages could be observed while attempting to upgrade an application or OS in a virtual machine.
    • Error: The upgrade cannot proceed because one or more nodes in the cluster do not support the AVX/AVX2 instruction set required by this <application name> version.
    • AVX instruction set not supported on this node.
  • The processor supports AVX/AVX2 instruction sets, however the Guest-OS is not exposed to the same instruction sets.
  • EVC (Enhanced vMotion Compatibility) is enabled in the Cluster and masks newer CPU features for compatibility. To validate, click "Hosts and Clusters" in vSphere Client, select a cluster, go to "Configure" tab, under "VMware EVC".
  • AVX was first introduced with Intel's Sandy Bridge processors and AMD's Bulldozer processors. AVX2 was first introduced with Intel's Haswell processors and AMD's Excavator processors. Refer KB: Enhanced vMotion Compatibility (EVC) processor support
  • Virtual machines in the Cluster with VMware EVC mode lower than that below mentioned CPU modes will have the issue.
    • The following CPU mode for Intel processor exposes AVX/AVX2 instruction sets
      • For AVX:  Intel® "Sandy Bridge" Generation
      • For AVX2:  Intel® "Haswell" Generation
    • The following CPU mode for AMD processor exposes AVX/AVX2 instruction sets: 
      • For AVX:  AMD Opteron™ Generation 4
      • For AVX2:  AMD Zen Generation
  • Similar issue can also be observed on virtual machine on Virtual Hardware version 10 or below.

Cause

The issue occurred because VMware EVC (Enhanced vMotion Compatibility) was configured to enforce a lower-generation CPU baseline across the cluster. This setting masked advanced CPU features like AVX and AVX2 instruction sets from being exposed to the virtual machines.

Resolution

  • To raise the EVC mode to a CPU baseline with more features:
    • In the vSphere client, click "Hosts and Clusters", select the cluster, go to "Configure" tab, under "Configuration" click on "VMware EVC".
    • Click "Edit" to change the EVC mode.
    • On the "Change EVC Mode" page, click on the "CPU Mode" drop-down menu, select the required baseline CPU feature set (that enables the required CPU instruction sets) for the cluster.
    • Click "OK" to apply the change.
  •  New EVC mode features are not available to the virtual machines until they are powered off and powered back on again. A full power cycling is required. Rebooting the guest operating system or suspending and resuming the virtual machine is not sufficient.