Announcement

Collapse
No announcement yet.

AMD's GPUOpen HIP Project Made Progress Over The Summer

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

  • AMD's GPUOpen HIP Project Made Progress Over The Summer

    Phoronix: AMD's GPUOpen HIP Project Made Progress Over The Summer

    The HIP project has made good progress over the summer. HIP from AMD's GPUOpen project is part of the puzzle for converting CUDA to portable C++ code. That source code can then run on AMD GPUs while having little to no performance impact, at least according to AMD...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    How about using an LLVM-Based compiler for CUDA? Would it work?

    From a quick google search, it seems there exists such a thing, so compiling to native Radeon machine code shouldn't be a real problem. Or is it?

    Comment


    • #3
      As far as I know NVidia uses LLVM (the NVPTX backend) but their compiler and runtime for CUDA is closed.

      Comment


      • #4
        Originally posted by M@yeulC View Post
        How about using an LLVM-Based compiler for CUDA? Would it work?

        From a quick google search, it seems there exists such a thing, so compiling to native Radeon machine code shouldn't be a real problem. Or is it?
        Probably better to compile to something like SPIR-V, this way the driver can do the things it needs to do between various graphics cards.

        Comment


        • #5
          Originally posted by -MacNuke- View Post
          As far as I know NVidia uses LLVM (the NVPTX backend) but their compiler and runtime for CUDA is closed.
          Well, I was more thinking about using the nVidia CUDA LLVM Frontend, then use the GCN backend. But you are right in that it would probably require a runtime. So there is still quite a lot of engineering work on this front.
          As for the compiler... you mean, their LLVM fork? Damn this BSD-like license! Can we at least separate the backend from the frontend?
          Originally posted by boxie View Post

          Probably better to compile to something like SPIR-V, this way the driver can do the things it needs to do between various graphics cards.
          That's true, and I didn't think about this opportunity.

          Comment


          • #6
            What's "portable C++ code"? OpenCL?

            Comment


            • #7
              So wait the purpose of this project is basically to hack in support for nvidia proprietary technologies like Physx and shit for AMD gpus?

              Comment


              • #8
                Originally posted by rabcor View Post
                So wait the purpose of this project is basically to hack in support for nvidia proprietary technologies like Physx and shit for AMD gpus?
                I’d say that that it’s aimed especially at compute tasks. Lots of libraries (like machine learning, such as TensorFlow) or programs (like Matlab) support acceleration through CUDA, but do not support OpenCL because it’s a difficult and expensive task for a reduced user base, which creates a chicken and egg problem. The problem here is that AMD’s set of libraries for computing is lacking a lot and leaves a lot to be desired. Worse than that, AMD doesn’t even have a complete accelerated BLAS library. AMD doesn’t invest much in their set of libraries to lure developers into OpenlCL or HIP.
                Nvidia promotes vendor lock-in providing world class computing libraries based on CUDA. AMD should team up with Intel to break this de facto monopoly. It’s also in Intel’s interest to put their Xeon Phi line in a better competitive position.

                Comment


                • #9
                  I'm not sure I fully understand the purpose of this, when you consider the alternatives. If I understand this correctly, this doesn't make existing CUDA software compatible with AMD GPUs; it just makes it so the software can be re-compiled to be compatible. CUDA, to my knowledge, is now open-sourced. As far as I'm concerned, that means we should only have to develop drivers for AMD GPUs to utilize it. By doing that, you should be able use existing CUDA software without doing anything else. But, maybe there's something more complicated that I'm not aware of.

                  Anyway, it would be nice for either AMD or Intel to get support for CUDA. IGPs would make a great resource for PhysX.

                  Comment


                  • #10
                    Originally posted by timofonic View Post
                    What's "portable C++ code"?
                    http://en.cppreference.com/w/cpp/language

                    Comment

                    Working...
                    X