AVX-512: First Impressions on Performance and Programmability

(shihab-shahriar.github.io)

5 points | by shihab 8 hours ago ago

2 comments

  • pjmlp 23 minutes ago

    > In CPU world there is a desire to shield programmers from those low-level details, but I think there are two interesting forces at play now-a-days that’ll change it soon. On one hand, Dennard Scaling (aka free lunch) is long gone, hardware landscape is getting increasingly fragmented and specialized out of necessity, software abstractions are getting leakier, forcing developers to be aware of the lowest levels of abstraction, hardware, for good performance.

    The problem is that not all programming languages expose SIMD, and even if they do it is only a portable subset, additionally the kind of skills that are required to be able to use SIMD properly isn't something everyone is confortable doing.

    I certainly am not, still managed to get around with MMX and early SSE, can manage shading languages, and that is about it.

  • fithisux 2 hours ago

    What I get in these article is that the original intent on C language stands true.

    Use C as a common platform denominator without crazy optimizations (like tcc). If you need performance, specialize, C gives you the tools to call assembly (or use compiler some intrinsic or even inline assembly).

    Complex compiler doing crazy optimizations, in my opinion, is not worth it.