Running AVX but log says no AVX support

Nick
Nick
Joined: 12 Oct 13
Posts: 27
Credit: 8949649
RAC: 0
Topic 203379

My event log does not list AVX as a supported instruction on my processor (Xeon) but it's running an AVX binary according to windows task manager. Is this normal?

12/2/2016 3:23:42 PM |  | Processor features: 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 htt tm pni ssse3 cx16 sse4_1 syscall nx lm vmx tm2 dca pbe

 

einstein_O1MD1G_1.00_windows_x86_64_AVX.exe

 

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5869
Credit: 112545866019
RAC: 36285805

My understanding (which could

My understanding (which could be wrong) is that the app will use AVX if the processor supports it but can fall back to lesser capability if the processor doesn't.  So, yes, I think it's normal.

 

Cheers,
Gary.

Nick
Nick
Joined: 12 Oct 13
Posts: 27
Credit: 8949649
RAC: 0

Gary, the point is, the

Gary, the point is, the processor reports that it doesn't support it, yet it's running it.

 

 

Holmis
Joined: 4 Jan 05
Posts: 1118
Credit: 1055935564
RAC: 0

And as Gary said if the app

And as Gary said if the app detects that the processor does not support AVX it will fall back to SSE2 and it will not try to use AVX instructions.

Edit: For an official statement see this post by Christian Beer.

Nick
Nick
Joined: 12 Oct 13
Posts: 27
Credit: 8949649
RAC: 0

I thought I was clear in my

I thought I was clear in my first post but maybe not. I will try again. The processor reports that it does not support AVX instructions yet it runs the AVX binary. So maybe I should be asking a different question? Is there a bug in the code that incorrectly reports the processor's capability? Or are you saying the the code labeled "AVX" will itself fallback to running SSE2 even though it's labeled "AVX"?

 

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

Nick_43 wrote:The processor

Nick_43 wrote:
The processor reports that it does not support AVX instructions yet it runs the AVX binary

As a neutral third party, I will try to mediate.  The "AVX binary" also supports non-AVX processors.  So that term is just a name, but it does not mean that it actually has to run the AVX instructions in all cases.

You can call it the "Donkey binary" if you prefer, and the result is the same.

Mumak
Joined: 26 Feb 13
Posts: 325
Credit: 3381802192
RAC: 63434

If it would attempt to run

If it would attempt to run AVX code on a CPU that doesn't support it, the task would immediately crash.

-----

Christian Beer
Christian Beer
Joined: 9 Feb 05
Posts: 595
Credit: 149680893
RAC: 379512

The AVX in the filename is

The AVX in the filename is just a label we used to distinguish SSE2 and AVX when we had two separate applications. Once we combined SSE2 into the AVX app we kept the label (because we needn't change our workflows). So yes the App can do both SSE2 and AVX else it would fail immediately.

Nick
Nick
Joined: 12 Oct 13
Posts: 27
Credit: 8949649
RAC: 0

Thank you Christian. That

Thank you Christian. That explains the confusion.

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.