# AVX & AVX 2 instructions on CPU's



## fraz (May 9, 2019)

Hi,

How many of the current sample libraries & VSTi's use AVX2 instructions? - There are other instructions as well like SSE etc......but for AVX 128 bits & AVX2 being 256 bits it's obvious the benefits of reduced CPU load.

From Haswell CPU's onwards AVX2 was supported and we're on AVX512 but lets focus on AVX2 & AVX

Reason is there are some older CPU's from the Sandy Bridge / Ivy Bridge era - circa 2011 onwards such as 3930K XEON E5 2690, Xeon E5 1680 v2 all supporting AVX but not AVX2 but are still strong CPU's in some cases.

Any info - thanks


----------



## EvilDragon (May 10, 2019)

I think none use AVX2. Synapse Audio The Legend uses AVX.


----------



## fraz (May 12, 2019)

Hey Evil Dragon it's you again - I saw you over on the NI forum!!!

So, you say none of the sample libraries use AVX2 - I'm surprised - There are other instruction sets as well but I don't know them that well yet - SSE etc......which appear in CPU-Z etc.....

I'll find out more when I get round to using more of the libraries and VSTi -


----------



## Pictus (May 13, 2019)

Melda, Voxengo, 2CAudio, FXpansion, UVI, VAST Dynamics and probably others...


----------



## EvilDragon (May 13, 2019)

Sample libraries by themselves don't have anything to do with AVX2 - the sampler playing them might. But Kontakt doesn't use AVX2. AFAIK Falcon doesn't either (maybe just uses regular AVX).


----------



## Pictus (May 13, 2019)

The UVI Plate mention AVX/AVX2
https://www.uvi.net/en/effects/plate.html


----------



## EvilDragon (May 13, 2019)

True. I was just comparing Kontakt and Falcon as far as sample libs are concerned - they're the same in this regard.


----------



## Cinebient (May 22, 2019)

Only i know are 2CAudio Precedence and Breeze 2... They support AVX, AVX-2 and even AVX-512.


----------



## wuubb (May 24, 2019)

I'm not familiar with how multiple instruction sets are used, is it something that you'd need to write the software (or parts of it) in assembly in order to get the benefit, or is it simply using certain compilers/compiler settings to enable the features of said instruction set?


----------



## azeteg (May 24, 2019)

wuubb said:


> I'm not familiar with how multiple instruction sets are used, is it something that you'd need to write the software (or parts of it) in assembly in order to get the benefit, or is it simply using certain compilers/compiler settings to enable the features of said instruction set?



Usually you compile the software for a minimum architecture, we use SSE2 for that. For supporting other architectures, you can use a dynamic dispatch with intrinsics - compiling each unit with different architecture flags. 

We use AVX, AVX2 and FMA in this way. So do the operating systems.


----------



## wuubb (May 28, 2019)

azeteg said:


> Usually you compile the software for a minimum architecture, we use SSE2 for that. For supporting other architectures, you can use a dynamic dispatch with intrinsics - compiling each unit with different architecture flags.
> 
> We use AVX, AVX2 and FMA in this way. So do the operating systems.



Fascinating. Low level stuff has not been my favorite area by far in CS but I do find it interesting.


----------



## fraz (Aug 24, 2019)

Hi,

Just to re-iterate the reason for this thread - The angle is to ascertain, if an older CPU is used such as a 2nd hand Xeon E5_1680_V2 or Xeon E5_2690_V2 etc......is there any REAL dis-advantage / handicap because the processor does not support AVX 2 ?

Some of the Xeons are now affordable in relation to their retail prices of a few years ago so it'd be great to read peoples views on suitability of these CPU's to yield very good amounts of Kontakt intruments / fx etc......

In gaming E5_1680_V2 packs a real good performance --- so it stands to reason in music related tasks it may do as well which would mean it is not irrelevant even if it is old IVY BRIDGE architecture.

Please chip in with some feedback - Thanks


----------

