Announcement

Collapse
No announcement yet.

OpenCL C++ / OpenCL 2.2 Support Begins Its Journey To Mainline LLVM Clang

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

  • OpenCL C++ / OpenCL 2.2 Support Begins Its Journey To Mainline LLVM Clang

    Phoronix: OpenCL C++ / OpenCL 2.2 Support Begins Its Journey To Mainline LLVM Clang

    A few weeks back we reported on plans for OpenCL C++ support to be mainlined in LLVM's Clang C/C++ compiler front-end and that work is now happening...

    http://www.phoronix.com/scan.php?pag...Mainline-Begin

  • #2
    OpenCL is one of those projects reported about every day for years but barely used.

    Comment


    • #3
      Originally posted by cl333r View Post
      OpenCL is one of those projects reported about every day for years but barely used.
      Obsoletely. Why, it's been since Friday I was figuring out how to configure Trilinos for OpenCL support, and before that GDAL back in February. Relics of history.

      Doesn't mean I code to OpenCL API directly. But I do know it's there. Some folks use this stuff everyday. Others find no use at all.

      Comment


      • #4
        Originally posted by cl333r View Post
        OpenCL is one of those projects reported about every day for years but barely used.
        I would use it quite often, if only I could on my Kaveri.
        If you're working with pictures (darktable & Co), then OpenCL is an absolute must have.

        But since there is no image support in the amdgpu OpenCL code, it's quite useless …
        Quite honestly, the state of OpenCL support on the slightly older platforms (we're still talking about GCN here) is ridiculous.
        And it doesn't look like that will ever change.

        Comment


        • #5
          You should see some changes in OpenCL in the upcoming 18.10 release - waiting for some last bugs to be addressed but still on track for this month AFAIK.

          Comment


          • #6
            Does anyone use OpenCL higher than 1.2? I mean... everyone knows that NVidia and Apple are just blocking everything. Using OpenCL 2.x means a) exclude all GPUs from the marked leader and b) exclude Apple (a problem for projects like Blender).

            Comment


            • #7
              Originally posted by -MacNuke- View Post
              Does anyone use OpenCL higher than 1.2? I mean... everyone knows that NVidia and Apple are just blocking everything.
              A lot of projects already have a CUDA-specific path, so that's not blocking the OpenCL path from > 1.2.

              Also, Nvidia has beta support for OpenCL >= 2.0. If there would be demand, I think they could be moved.

              https://streamhpc.com/blog/2017-03-0...ncl-2-0-linux/
              Last edited by coder; 04-15-2018, 12:07 PM.

              Comment


              • #8
                The article is over a year old. How is the status now?

                Comment


                • #9
                  Originally posted by Berniyh View Post
                  I would use it quite often, if only I could on my Kaveri.
                  ...
                  But since there is no image support in the amdgpu OpenCL code, it's quite useless …
                  Running clinfo against amdgpu-pro-17.50 on my AMD A10-7800 Kaveri does indicate image support:

                  Code:
                  Number of platforms                               1
                    Platform Name                                   AMD Accelerated Parallel Processing
                    Platform Vendor                                 Advanced Micro Devices, Inc.
                    Platform Version                                OpenCL 2.1 AMD-APP (2527.3)
                    Platform Profile                                FULL_PROFILE
                    Platform Extensions                             cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
                    Platform Host timer resolution                  <gatherPlatformInfo:6: get CL_PLATFORM_HOST_TIMER_RESOLUTION : error -30>
                    Platform Extensions function suffix             AMD
                  
                    Platform Name                                   AMD Accelerated Parallel Processing
                  Number of devices                                 1
                    Device Name                                     Spectre
                    Device Vendor                                   Advanced Micro Devices, Inc.
                    Device Vendor ID                                0x1002
                    Device Version                                  OpenCL 1.2 AMD-APP (2527.3)
                    Driver Version                                  2527.3
                    Device OpenCL C Version                         OpenCL C 1.2
                    Device Type                                     GPU
                    Device Board Name (AMD)                         AMD Radeon Graphics
                    Device Topology (AMD)                           PCI-E, 00:01.0
                    Device Profile                                  FULL_PROFILE
                    Device Available                                Yes
                  
                  ...
                  
                    Image support                                   Yes
                      Max number of samplers per kernel             16
                      Max size for 1D images from buffer            134217728 pixels
                      Max 1D or 2D image array size                 2048 images
                      Base address alignment for 2D image buffers   256 bytes
                      Pitch alignment for 2D image buffers          256 pixels
                      Max 2D image size                             16384x16384 pixels
                      Max 3D image size                             2048x2048x2048 pixels
                      Max number of read image args                 128
                      Max number of write image args                8

                  Comment


                  • #10
                    Originally posted by -MacNuke- View Post
                    The article is over a year old. How is the status now?
                    I don't know and I'm basically beyond caring. I just thought it was interesting that they'd moved at all.

                    IMO, classes, templates, and device-side enqueue will usher in a wave of open source library development to create the reusable building blocks needed to tackle the next level of problems in OpenCL. Not unlike what the Boost library did for C++.

                    If Nvidia and the mobile guys want to join that party, that's great. But I'm sure there'll be enough support from AMD & Intel for it to happen without them.

                    Comment

                    Working...
                    X