Комментарии:
I came here because I vaguely remember someone mentioning something that can cause a CPU to overheat insanely fast. Is there something else that can overheat a CPU even faster, or was this it?
ОтветитьI thought it would be worth noting that just because AVX512 instructions work on 16 floats in one instruction doesn't make them faster than AVX2 instructions in practice, since as far as I know, in desktop and laptop CPU's the avx512 instructions are limited to a single execution port in the CPU, whereas the AVX2 instructions can execute on 2 ports simultaneously (duplication of the fast add and FMA capabilities) and for simpler 256-bit vector ALU functions like and, xor, blend and integer arithmetic, there's 3 ports they can execute through for 3 instructions per clock. The biggest benefit of the AVX512 instruction set seems to be versatility, with selective operation on partial vectors via the k-registers. I believe sapphire-rapids server and workstation CPU's have 2 AVX512 execution ports though. zen4 does avx512 instructions in 2 clocks, putting each half through the same 256-bit pipeline in turn.
ОтветитьHow important is volatile when coding with AVX?
Ответитьthx for excelent video !
ОтветитьVery underrated video!
Ответитьthese video are distraction
Ответитьavx hinders performance it can take things that used to work and by putting AVX into programs (even decades old) it now makes it so they no longer even launch.
ОтветитьVery nice and gentle introduction to the topic :)
ОтветитьExcellent video! Effectively explains AVX
ОтветитьI know, I'm adding to this comment section nearly two years later BUT... AVX-512 was almost certainly more than 77.5% faster than scalar. The values for the arrays were read "cold" from RAM for the AVX-512 function call, but the memory reads for that operation placed those values in the L1 data cache for the scalar loop. Benchmarking is HARD!
Ответитьi7 10700F vs 11700F , which one is better at AVX512 ???
ОтветитьAmazing video! I was interested in what AVX512 (and AVX2 in general) actually are and i found your great video explaining more than i hoped for!
Ответитьis there a way to remove AVX instruction from a game
ОтветитьYour explanation at the end was very helpful!
Me: "Why the hell would I ever use AVX instructions?"
AVX: "Umm, you can skip an extra loop to transverse a vector, giving you a lot of performance if you do a lot of vector arithmetic!"
I too am a fan of AVX
ОтветитьThis video has been in my browser for about a month+, finally watched it. pretty dank video, thanks brother I'm still getting into the groove
ОтветитьYou should make sure your memory is aligned to 32 bits when using load function.
Also chances are, the non avx version got auto-vectorized by the compiler to use avx/2.
Just one small question: How can you return the array ret[16] in the function linear::vector_add()? It's a local variable so how can it be returned? Or am I missing something that is possible in C++?
ОтветитьWith this level of content, it's a matter of time before your channel blows up! Thank you for the explanation!
Ответить