An Intro to AVX-512 Assembly Programming - Comments

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
10 replies · 2K views
Messages
38,138
Reaction score
10,725
Greg Bernhardt submitted a new blog post

An Intro to AVX-512 Assembly Programming
AVX-512_Assembly_Programming.png


Continue reading the Original Blog Post.
 

Attachments

  • AVX-512_Assembly_Programming.png
    AVX-512_Assembly_Programming.png
    5.9 KB · Views: 718
  • Like
Likes   Reactions: QuantumQuest, jedishrfu and Greg Bernhardt
on Phys.org
Very cool, will this technology be integrated into Machine Learning applications as it seems its geared for matrix operations doing parallel adds like that.

Also I found some videos on Youtube covering the topic in more detail for those of us who are reading challenged.
 
jedishrfu said:
Very cool, will this technology be integrated into Machine Learning applications as it seems its geared for matrix operations doing parallel adds like that.
No idea -- I don't know much of anything about machine learning or neural network algorithms or the like. If they involve working with matrices, then this stuff is applicable.

jedishrfu said:
Also I found some videos on Youtube covering the topic in more detail for those of us who are reading challenged.
This article is the first in a series of five or more. What I covered in the first article is a bit of background history and a very simple example, for which lots of documentation and examples already exist. In the next few articles I plan to talk about other AVX-512 instructions for which 1) the Intel documentation is very minimal, and 2) there are no usage examples online (if there are any, I couldn't find them after long searches), let alone videos.

"Real programmers don't need no stinkin' videos!" :oldbiggrin:
 
  • Like
Likes   Reactions: Greg Bernhardt
In the next installment, I'll look at how you can go through a fairly large array of signed numbers, separating out the positive and negative values, and generating totals for each, without using any kind of decision control structures (i.e., no if statements).

Coming Real Soon...
 
jedishrfu said:
So true, REAL programmers don't read either until they have a problem with their code, if ever.
But if you're working with an API that you aren't intimately familiar with, you need to have the API docs very handy.
 
  • Like
Likes   Reactions: jedishrfu
I usually start with example code in Netbeans where little api help tips pop up. Only when I hit a bigger issue do I need to delve into the reference docs. It’s coding on the edge of a precipice.
 
jedishrfu said:
where little api help tips pop up
LOL! There are zero API help tips that pop up in my VS IDE. Maybe the Intel C/C++ compiler has them, or maybe not - don't know 'cause I don't have that compiler. I'm reasonably sure they don't pop up in the Gnu compiler, either. That's why I keep the PDF of the Intel Software Developer's Manual open when I'm writing that code.
 
jedishrfu said:
will this technology be integrated into Machine Learning applications
It occurred to me later that one of the parts of AVX-512 is VNNI, or Vector Neural Network Instructions. It isn't here now, but is slated to be released with the Ice Lake microarchitecture, the 10th gen Core architecture. The release is slated for sometime this year or next.

There's also another part, GFNI, Galois Field New Instructions, that are also tied to the Ice Lake microarchitecture.
At this point, there are 18 separate subsets of the AVX-512 instruction set, not all of which have been released just yet. My new computer, with its Xeon Silver 10-core processor, supports 5 of those subsets.