Announcement

Collapse
No announcement yet.

Intel Fully Embracing LLVM For Their C/C++ Compilers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Ironmask View Post
    What's the purpose of creating another C++ compiler on top of LLVM instead of just contributing to Clang? Are Intel's optimizations too specific/divergent from Clang's architecture?
    Good point, particularly taking into account the main point of ICC is it used various IS/Microcode hacks/tweaks to squeeze out that extra performance for Intel CPU's where as LLVM is specifically designed to be ISA agnostic.

    Comment


    • #12
      Intel had a techdecoded webinar that covered this move titled "Introducing the Next Gen of IntelĀ® System Studio: Transitioning to the Latest IoT Software Development Suite

      "

      Comment


      • #13
        Originally posted by Ironmask View Post
        What's the purpose of creating another C++ compiler on top of LLVM instead of just contributing to Clang? Are Intel's optimizations too specific/divergent from Clang's architecture?
        They are extending SYCL to create dpc++ adding support for GPUs and FPGAs. Everything is being contributed back to Khronos.
        The icx compiler adds support for their GPUs via openMP 5.1.
        I think their plan is to contribute everything back, but they probably have a schedule to meet for Argonne in the near term.

        Comment


        • #14
          What is happening in compilers is basically the same thing that happened in browsers.

          LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
          MSVC is the king of the hill in windows from Microsoft... just like IE used to be.
          GCC is the mature and established open source solution... just like firefox.

          Comment


          • #15
            Here's a strange detail. In the last q/a of the techdecoded webinar, "Introducing the Next Gen of IntelĀ® Parallel Studio: Transitioning to the Latest HPC Software Development Suite

            ", they state that icx and ifx will still need to be paired with gcc headers and glibc library.

            Comment


            • #16
              I'm glad to see everyone already using LLVM/Clang or moving to using it as their compiler.

              Comment


              • #17
                Originally posted by paulpach View Post
                GCC is the mature and established open source solution... just like firefox.
                Not an apt comparison whatsoever. GCC is still fairly competitive whereas Firefox is an absolute joke and a shell of it's former self.

                Comment


                • #18
                  Intel, I'd like to try out your fancy new compiler very much, but please coordinate your own programmers more effectively to make that practical as the now widely used Meson build system still doesn't support it while you employ one of its lead programmer.

                  Comment


                  • #19
                    Originally posted by paulpach View Post
                    What is happening in compilers is basically the same thing that happened in browsers.

                    LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
                    MSVC is the king of the hill in windows from Microsoft... just like IE used to be.
                    GCC is the mature and established open source solution... just like firefox.
                    MSVC is based on the Watcom compiler, Watcom really knew their stuff, and was soooo far ahead of competitors at their time. It's still a very solid compiler. Fully closed source.
                    LLVM is that good-enough base that has no license restrictions so everyone is using it to cut costs, and avoid actually contributing to open source properly.
                    GCC is still the easiest compiler to get up and running for a new architecture. Downside is it's fully open, and many companies don't want to take OSS seriously.

                    Having had to integrate with LLVM it seems clean, but was absolute mess with bugs and undefined behavior all over the place. Even the Rust team complains a lot about the undefined behavior being a big issue for them, and it seems a very large portion of their bugs can't be fixed without LLVM fixing that, but that would break API, so they wont. Its permissive license is now limiting it as we now have multiple proprietary branches where code never goes upstream, but they all have a vested interest in steering the project.

                    The thing that many people miss, is that CLANG is the very well written project, and it already talks to LLVM, hence LLVM gets all this free publicity.

                    Comment


                    • #20
                      Originally posted by grigi View Post
                      LLVM is that good-enough base that has no license restrictions so everyone is using it to cut costs, and avoid actually contributing to open source properly.
                      GCC is still the easiest compiler to get up and running for a new architecture. Downside is it's fully open, and many companies don't want to take OSS seriously.
                      No, there is not some big grand conspiracy by corporations to not contribute to open source. Virtually all major corporations are contributing to open source, even more so now. These days you see nothing but swaths of projects being published under MIT or BSD or similar licenses by every software and service company out there. The reason nobody wants to contribute to GCC is because it's GPL which is, from a legal standpoint, the most annoying and obnoxious license ever conceived and appreciated by nobody except literal software cultists who think software deserves more rights than human beings.
                      People contribute to projects published under licenses that respect their rights and freedom because they want the freedom to do what they want, not whatever the original publisher wants. GPL is not open source, it's explicitly, vocally not open source, it's practically an educational license or EULA which is why you see Windows installers for GPL'd software put the GPL as a "EULA section" in the installer. When you realize this, you'll see people actively fighting for open source software by trying to make new tools free from the cancer of GPL.

                      Comment

                      Working...
                      X