AVX Support in your VPS/Server
-
Mongodb 5.0 requires AVX support. See https://github.com/docker-library/mongo/issues/485 .
Are you affected? Let us know your VPS provider and if
cat /proc/cpuinfo | grep -i avx
produces output. If that command does not produce any output, you are affected.Also, found this - https://pavel.network/please-do-not-require-avx-for-your-software/
Edit: @humptydumpty has created a helpful list of CPUs with AVX support.
Intel Consumer Processors with AVX Support: 2nd Generation Intel Core Processors (Sandy Bridge, 2011): Core i3/i5/i7 (2000 series) 3rd Generation Intel Core Processors (Ivy Bridge, 2012): Core i3/i5/i7 (3000 series) 4th Gen Intel Core Processors (Haswell, 2013): Core i3/i5/i7 (4000 series) 5th Gen Intel Core Processors (Broadwell, 2015): Core i3/i5/i7 (5000 series) 6th Gen Intel Core Processors (Skylake, 2015): Core i3/i5/i7 (6000 series) 7th Gen Intel Core Processors (Kaby Lake, 2017): Core i3/i5/i7 (7000 series) 8th Gen Intel Core Processors (Coffee Lake, 2017): Core i3/i5/i7 (8000 series) 9th Gen Intel Core Processors (Coffee Lake Refresh, 2018): Core i3/i5/i7/i9 (9000 series) 10th Gen Intel Core Processors (Comet Lake, 2020): Core i3/i5/i7/i9 (10000 series) 11th Gen Intel Core Processors (Tiger Lake, 2020): Core i3/i5/i7 (11000 series) Intel Server Processors with AVX Support: Intel Xeon E5 and E7 Processors (Sandy Bridge, Ivy Bridge, Haswell, Broadwell): These processor families generally support AVX and AVX2 instructions. Intel Xeon Scalable Processors (Skylake, Cascade Lake): Many models within these families support AVX and AVX2 instructions. Intel Server Processors with AVX-512 Support: Intel Xeon Scalable Processors (Skylake-SP, Cascade Lake-SP, Cooper Lake-SP): These processor families introduced varying levels of AVX-512 support, with more advanced models supporting higher-level AVX-512 instruction sets. Intel Xeon Scalable Processors (Ice Lake-SP): The Ice Lake-SP processors feature even more extensive support for AVX-512, including AVX-512 VNNI (Vector Neural Network Instructions). AMD Consumer Processors with AVX Support: AMD Ryzen Processors (Zen, Zen+): Ryzen 1000 series (e.g., Ryzen 7 1800X) Ryzen 2000 series (e.g., Ryzen 7 2700X) AMD Ryzen Processors (Zen 2): Ryzen 3000 series (e.g., Ryzen 9 3950X) Ryzen 4000 series (APUs) AMD Ryzen Processors (Zen 3): Ryzen 5000 series (e.g., Ryzen 9 5950X) AMD Server Processors with AVX Support: AMD EPYC 7001 Series (Naples, 2017): EPYC 7251, 7281, 7301, 7351, 7401, 7451, 7551, 7601, and others AMD EPYC 7002 Series (Rome, 2019): EPYC 7252, 7302, 7352, 7402, 7452, 7502, 7532, 7542, 7702, 7742, and others AMD EPYC 7003 Series (Milan, 2021): EPYC 7313, 7323, 7333, 7343, 7353, 7373, 7383, 7393, 7413, 7443, 7453, 7463, 7503, 7543, 7553, 7713, and others.
-
I have tested on Digital Ocean, Linode, Vultr, Hetzner (Dedi) . They all support AVX. But feel free to double check your server/region as well.
My Netcup server doesn't have AVX.
-
@girish said in AVX Support in your VPS/Server:
My Netcup server doesn't have AVX.
Neither do mine.
My Hetzner Cloud VPS servers do though.
As per that article, it's a bit shitty of people to require this.
But this seems to me to be another reason for me to consolidate my various small VPS servers on Netcup/ Hetzner into one dedicated Hetzner Server.
-
My Netcup RS 1000 G9.5 displays this:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities
-
@_pressanykey so that has
avx2
then. -
Contabo VPS L (AMD EPYC 7282)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities
Home server (Intel i5-6500T)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities
BTW, is there anything I need to do? -
next output from
a netcup
RS 4000 SAS G8SE
:flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave **avx** f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle **avx2** smep bmi2 erms invpcid rtm mpx **avx512f** **avx512dq** rdseed adx smap clflushopt clwb **avx512cd** **avx512bw** **avx512vl** xsaveopt xsavec xgetbv1 xsaves arat umip pku ospke md_clear
a netcup
RS 2000 SSD G8
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave **avx** f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle **avx2** smep bmi2 erms invpcid rtm mpx **avx512f** **avx512dq** rdseed adx smap clflushopt clwb **avx512cd** **avx512bw** **avx512vl** xsaveopt xsavec xgetbv1 xsaves arat umip pku ospke **avx512_vnni** md_clear arch_capabilities
a netcup
RS 2000 G9
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave **avx** f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 **avx2** smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities
-
@girish said in AVX Support in your VPS/Server:
My Netcup server doesn't have AVX.
Netcup RS4000
root@my:~# cat /proc/cpuinfo | grep -i avx flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities
-
@girish said in AVX Support in your VPS/Server:
NetCup VPS 3000 G9: no AVX support
NetCup RS 8000 G9: AVX support
NetCup RS 4000 G9: AVX support -
Registered to chime in, I have netcup
VPS 2000 G9
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm nopl cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave rdrand hypervisor lahf_lm cmp_legacy 3dnowprefetch ssbd ibpb vmmcall
So no avx.
EDIT: Sent a request to support about it.
-
netcup VPS 500 G10s
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti ssbd ibrs ibpb invpcid md_clear arch_capabilities
So no AVX.
-
@privsec Not currently but this will be a problem when we upgrade the mongodb addon to use Mongo 5.x and beyond. Currently, it is on Mongo 4.4 which is reaching end of life sometime next year.
So, unfortunately, we have no choice but to stop supporting servers which have no AVX when we upgrade Mongo.
-
@girish said in AVX Support in your VPS/Server:
cat /proc/cpuinfo | grep -i avx
I have avx on my system.
AVX was launched ~2011 (https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)If a new system doesn't support avx, it's likely a celeron system or a lower speced system.