Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: LLVM Working On Intel AVX-512 Support

  1. #1
    Join Date
    Jan 2007
    Posts
    15,121

    Default LLVM Working On Intel AVX-512 Support

    Phoronix: LLVM Working On Intel AVX-512 Support

    Intel developers working on the LLVM compiler infrastructure have been working on AVX-512 instruction set support in recent days. Intel AVX-512 instructions support 512-bit SIMD instructions with providing twice the number of data elements handled by AVX/AVX2 with a single instruction and four times that of SSE instructions...

    http://www.phoronix.com/vr.php?view=MTQyODk

  2. #2
    Join Date
    Jun 2013
    Location
    Canada
    Posts
    30

    Default OpenMP

    We need OpenMP support WAY more urgently than new vector instructions... but more supported instructions is always good, but not important vs the speedup a simple OpenMP implementation could give.

  3. #3
    Join Date
    May 2012
    Posts
    866

    Default

    Yes, as one keeps doubling down these special registers the yield gets smaller and smaller because the use cases are more seldom, like with threads - 2 threads (cores) are enough to have responsive programs (gui thread and worker thread) which is used by almost any program, while 2+ threads (cores) are much less useful and only used for relatively few use cases like parallel compilation or video encoding.

    Point is, AVX2 and/or SSE4.2 offer plenty of acceleration on the CPU, if still not enough, don't double the registers, the CPU isn't meant for that - the GPU is.

  4. #4
    Join Date
    Jun 2013
    Location
    Canada
    Posts
    30

    Default You must be kidding me...

    At the moment, clang wastes 75% of a cpu's compute capability on a 4-core and 84% of the compute performance of a 6-core, how in the world is that remotely ok?



    Now just realize clang uses only 1 of those at the moment... basically wasting the money you spent on a core count more than 2 and I WANT clang/LLVM to do multithreading and OpenMP is the normal and easy way to do it.

    It's beyond bad since the problem is compounded quite bad on a 6-8 core machine because only 1 hyperthread is usable, not "core" so thats 1/2 a physical CPU being used, but I do know what you mean, UI responsiveness is fine with just 2 cores, but its just a terrible state to be in

  5. #5
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Quote Originally Posted by HeavensRevenge View Post
    At the moment, clang wastes 75% of a cpu's compute capability on a 4-core and 84% of the compute performance of a 6-core, how in the world is that remotely ok?



    Now just realize clang uses only 1 of those at the moment... basically wasting the money you spent on a core count more than 2 and I WANT clang/LLVM to do multithreading and OpenMP is the normal and easy way to do it.

    It's beyond bad since the problem is compounded quite bad on a 6-8 core machine because only 1 hyperthread is usable, not "core" so thats 1/2 a physical CPU being used, but I do know what you mean, UI responsiveness is fine with just 2 cores, but its just a terrible state to be in
    It's being worked on by Intel, Apple and others within the LLVM Group. When there is an inclusion into trunk I'm sure Phoronix will publish it.

  6. #6
    Join Date
    Feb 2013
    Posts
    6

    Thumbs up Elena Demikovsky

    You forgot to mention that this work is done by Elena Demikovsky from the Intel site in Israel.

  7. #7
    Join Date
    May 2012
    Posts
    119

    Default

    Quote Originally Posted by xterminator View Post
    LLVM is terrible

    It should be replaced with GCC.
    GCC is terrible

    It should be replaced with LLVM.

  8. #8
    Join Date
    Jun 2013
    Location
    Canada
    Posts
    30

    Default I love Clang & LLVM

    I love clang & llvm, they are marvelous and I love playing with it more than GCC by far. It's just that this is an achilles heel, basically its a car without a windshield or with only 1 gear. We need to give llvm code a gearbox so it can gear up and go as fast as needed without such an artificial limitation with no OpenMP support.

  9. #9
    Join Date
    May 2012
    Posts
    119

    Default

    Quote Originally Posted by HeavensRevenge View Post
    I love clang & llvm, they are marvelous and I love playing with it more than GCC by far. It's just that this is an achilles heel, basically its a car without a windshield or with only 1 gear. We need to give llvm code a gearbox so it can gear up and go as fast as needed without such an artificial limitation with no OpenMP support.
    Wow, hyperbole or what. I've used a copy of GCC for ages that doesn't have OpenMP support and it has never been an issue building anything or running any software. A car like that no one would consider using. With GCC or another compiler that isn't even close to the case. Yes it would be nice for LLVM to have OpenMP and it will happen in due time, but the reality is it that for the avg end user it doesn't make any difference and the software still works as is. The other thing too is that only a very tiny percentage of software even has support for utilizing OpenMP.

  10. #10
    Join Date
    Sep 2010
    Posts
    474

    Default

    Quote Originally Posted by mark45 View Post
    Yes, as one keeps doubling down these special registers the yield gets smaller and smaller because the use cases are more seldom, like with threads - 2 threads (cores) are enough to have responsive programs (gui thread and worker thread) which is used by almost any program, while 2+ threads (cores) are much less useful and only used for relatively few use cases like parallel compilation or video encoding.

    Point is, AVX2 and/or SSE4.2 offer plenty of acceleration on the CPU, if still not enough, don't double the registers, the CPU isn't meant for that - the GPU is.
    You miscalculated. It's two threads for each program! This means for running multiple responsive programs would benefit from at least 4 cores (min 2 programs with each a gui and a worker thread).
    It's definitely useful to have more cores. And what if you want to edit some documents while playing some music or something in the background? That's two programs already, not including antivirus software that also takes resources.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •