Announcement

Collapse
No announcement yet.

POCL Is Maturing Well For Running OpenCL On The CPU

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

  • POCL Is Maturing Well For Running OpenCL On The CPU

    Phoronix: POCL Is Maturing Well For Running OpenCL On The CPU

    POCL, the Portable Computing Language, continues making headway for executing OpenCL kernels on CPUs. POCL now supports much of OpenCL 1.x and continues being refined for better support...

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

  • #2
    A terrific project that can save OpenCL programmers a lot of work in supporting multiple platforms. It basically ensures that an application will work even when a GPGPU is not available.

    Comment


    • #3
      POCL + Clover

      Can it coexist with Clover (i mean, no libOpenCL overrides or conflicts), so that we can use both CPU and GPU as compute devices ?

      Comment


      • #4
        Originally posted by Bitiquinho View Post
        Can it coexist with Clover (i mean, no libOpenCL overrides or conflicts), so that we can use both CPU and GPU as compute devices ?
        Yes, both support OpenCL ICDs.
        Michael Larabel
        http://www.michaellarabel.com/

        Comment


        • #5
          Wonderful. This goes a long way in helping development OpenCL applications and drivers.

          Is it possible to specify use of Only CPU if no OpenCL supporting GPU is found?
          (Because then you have to synchronise data and workflows less.)

          Comment


          • #6
            Originally posted by plonoma View Post
            Wonderful. This goes a long way in helping development OpenCL applications and drivers.

            Is it possible to specify use of Only CPU if no OpenCL supporting GPU is found?
            (Because then you have to synchronise data and workflows less.)
            It's up to the application for selecting the CL device it wants. If it explicitly just wants a GPU and no GPU is found, it will fail. AFAIK, there's no way as a fallback for then telling the CPU device to fake itself as a GPU device.
            Michael Larabel
            http://www.michaellarabel.com/

            Comment


            • #7
              Originally posted by Michael View Post
              It's up to the application for selecting the CL device it wants. If it explicitly just wants a GPU and no GPU is found, it will fail. AFAIK, there's no way as a fallback for then telling the CPU device to fake itself as a GPU device.
              I meant as a fallback.
              Using only a GPU as preferred, but when not found the application can be made aware of this and fallback on a CPU only OpenCL implementation.
              Being able to get and work with the distinction might be important for some program algorithms and coding choices.
              Would give application developers good control over selection of processing devices for best choice of using OpenCL devices.

              Comment


              • #8
                Originally posted by plonoma View Post
                I meant as a fallback.
                Using only a GPU as preferred, but when not found the application can be made aware of this and fallback on a CPU only OpenCL implementation.
                Being able to get and work with the distinction might be important for some program algorithms and coding choices.
                Would give application developers good control over selection of processing devices for best choice of using OpenCL devices.
                It still would be left up to each individual application to then consider using it if no GPU is found and it wants a GPU. POCL is exposed regardless with all of its properties along with all other OpenCL ICD-registered drivers/devices all in the same manner, but it's up to the application for selecting it.
                Michael Larabel
                http://www.michaellarabel.com/

                Comment


                • #9
                  @Michael

                  Thanks for the answers.

                  It's fine that the application will have to implement what exact processor affinity it uses.
                  This depends on the application logic. And thus must be application dependent.

                  Comment

                  Working...
                  X