Return to Level1Techs.com

AMD and AVX 512 alternative?


#1

For handbrake I have heard intel is better for HEVC encoding due to AVX 512 on newer intel cpus. Now with the newest build of handbrake, nvenc is included, but i have found i have to double the bitrate to get the same quality as a cpu encode. Does anyone know if Zen 2 or Zen 3 will have avx 512 support or something that would be comparable to it?


Optimal SIMD/Vector array width
#2

i think zen2 has avx512 support?


#3

Nope.

Zen 2 is upgrading from 128 bit to 256 bit wide registers for SIMD instructions.

Ice lake chips will have AVX512 across the board.


#4

Isn’t avx512 relatively new?


#5

How much does avx 512 help? 20%… more? less?


#6

I think your best bet might be to wait for a Zen 2 Threadripper. Or failing that, try to get a 1950X as cheap as you can, the AVX speed is not great, but you still have 16 cores for relatively cheap.


#7

It was introduced with skylake server chips.

Technically Xeon phi before that.


#8

Stupid Joke:

You could get a Talos II and use that for video encoding. PPC was the video king back in the day, I bet POWER, being the child of PPC, would do great. So instead of buying an 1100 buck upgrade system, buy a 2000 buck workstation. lol


#9

I already have a 2700x, and some video that i encode works really well. Say 40fps in handbrake, but other is slow af 23fps. I am just hoping for zen2 offering.


#10

you could try checking if there is an updated version of Handbrake or the x265 encoder with better optimizations for zen, there are a lot of hand crafted assembly functions in high performance video encoders


#11

yeah, but i thought that like zen1 can do 256 bit, zen2 will be able to do 512 bit at half rate using the 256 bit registers.

AMD made a deliberate trade-off because AVX not used so much.

i could be wrong.


#12

Unfortunately we dont know yet.


#13

Not how CPUs work; it’s entirely possible to execute more than one instruction per clock on a single core/thread thanks to pipelining and register aliasing, and various caching and predictive techniques. The nice thing about avx-512 is that the size of the register array was quadrupled - that helps a lot, but doesn’t double the speed.

One thing that might potentially help Zen 2 more than a fancy avx instruction set is a different cache arrangement/bus, that would allow for lower latency sharing across more cores, or maybe some software improvements to reduce the need for synchronized access and minimize the stress on the infinity fabric. e.g. maybe start by doing something naive by splitting the encoding into 4core/8thread groups and encode scenes separately.


#14

It’s how Zen1 does AVX at half the rate of intel with the same bit-ness.


#15

Zen1 is internally 128 wide, but compatible with 256 wide AVX at “half rate”, so AVX on Zen1 usually does not offer speed improvements over 128 wide SSE2/3/4/etc.

Zen2 will be 256 wide internally, and should be able to execute AVX at full speed.
No word on AVX512 support, AFAIK.


Optimal SIMD/Vector array width
#16

Zen 3 will likely have 512 … they are steadily upgrading the registers for SIMD… Zen 2 will be 256. The thing is though your talking 13-18 percent improvement for 512 so the question is … does that percentage mean anything significant to you? Other factors can also improve performance besides Advanced Vector Extensions instruction sets

It takes time to upgrade these registers and incorporate them into the architecture


#17

I don’t think 18% is really necessary for my application. I just was hoping it would boost quite a bit. I just have seen stuff on reddit that suggest intel is ahead of amd for 512avx in encoding.