It is difficult to runtime optimize away the difference between a CPU and GPU

Article: Introduction to OpenCL
By: anon (anon.delete@this.anon.com), December 12, 2010 3:24 pm
Room: Moderated Discussions
hobold (hobold@vectorizer.org) on 12/12/10 wrote:
---------------------------
>Mark Roulo (nothanks@xxx.com) on 12/12/10 wrote:
>---------------------------
>[...]
>> Or are you more optimistic than I am?
>>
>Slightly more optimistic.
>
>An illustrative analogy: GMP (an open source bignum library) isn't really parameterized
>the way I described, but it does contain very different algorithms for some of its
>functions. Wide integer multiply, for instance, has implementations for various
>relative speeds of multiply vs add machine operations, or implementations using
>the FPU, or hybrids that use both integer and FP multiplier hardware. I think there
>is even a SIMD variant. On a higher level, GMP can do very large multiplies by the
>schoolbook algorithm, or based on some recurrence with lower than quadratic complexity,
>or based on integer FFT in logarithmic time.

Don't you mean linearithmic?


>All of the different low level algorithms were originally devised for different
>machines. Every single one is basically unportable, because they are implemented in the respective assembly language.
>
>If they were all implemented in a common language, it would suddenly be practical
>to check which works best for some new hardware architecture. That best candidate
>might be nowhere near a specifically tailored variant for the new machine, but it
>would be a much better starting point than some plain reference implementation.
>
>So yes, we'll keep writing special code for each and every machine. But we'll have
>a much easier time bringing something up on a new kind of machine. And the very
>first version will be not nearly as bad as first versions used to be. OpenCL is
>not fairy dust. But it is an expert tool that IMHO will lead to a real improvement
>of the whole "custom coprocessor" hen-egg problem.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
OpenCL article onlineDavid Kanter2010/12/09 01:44 AM
  OpenCL article onlineXN2010/12/09 05:33 AM
    OpenCL article onlineDavid Kanter2010/12/09 12:54 PM
  OpenCL article onlineanon2010/12/09 01:33 PM
    OpenCL article onlineDavid Kanter2010/12/09 01:38 PM
      OpenCL article onlineIan Ameline2010/12/09 02:47 PM
      OpenCL article onlineAnon2010/12/09 07:27 PM
        OpenCL article onlineDavid Kanter2010/12/09 09:58 PM
  Performance portabilityBryan Catanzaro2010/12/10 11:43 AM
    Performance portabilityltcommander.data2010/12/10 06:11 PM
      It is difficult to runtime optimize away the difference between a CPU and GPUMark Roulo2010/12/10 06:50 PM
        It is difficult to runtime optimize away the difference between a CPU and GPUhobold2010/12/11 02:35 AM
          It is difficult to runtime optimize away the difference between a CPU and GPUMark Roulo2010/12/12 12:20 PM
            It is difficult to runtime optimize away the difference between a CPU and GPUhobold2010/12/12 02:31 PM
              It is difficult to runtime optimize away the difference between a CPU and GPUanon2010/12/12 03:24 PM
                It is difficult to runtime optimize away the difference between a CPU and GPUhobold2010/12/13 02:44 AM
        Specially when the language provides almost no hardware abstraction (NT)EduardoS2010/12/11 09:53 AM
    Performance portabilityWainwright2010/12/11 02:44 PM
      Performance portabilityEduardoS2010/12/11 02:57 PM
        Performance portabilityWainwright2010/12/11 03:02 PM
          Performance portabilityEduardoS2010/12/11 07:20 PM
            Performance portabilityWainwright2010/12/12 01:22 AM
      Performance portabilityDavid Kanter2010/12/11 04:53 PM
        Performance portabilityEduardoS2010/12/11 07:23 PM
          Performance portabilityDavid Kanter2010/12/11 08:06 PM
            Performance portabilityWainwright2010/12/12 01:26 AM
            Performance portabilityEduardoS2010/12/12 08:04 AM
  OpenCL article onlineAlan Commike2010/12/14 12:01 PM
  OpenCL - why are there any pointers at all?Rob Thorpe2010/12/16 02:45 AM
    OpenCL - why are there any pointers at all?EduardoS2010/12/16 12:51 PM
      OpenCL - why are there any pointers at all?Rob Thorpe2010/12/17 02:19 AM
        OpenCL - why are there any pointers at all?Richard Cownie2010/12/17 06:02 AM
          OpenCL - why are there any pointers at all?Rob Thorpe2010/12/17 07:29 AM
            OpenCL - why are there any pointers at all?Richard Cownie2010/12/17 08:13 AM
              OpenCL - why are there any pointers at all?Rob Thorpe2010/12/17 09:03 AM
                OpenCL - why are there any pointers at all?Richard Cownie2010/12/17 09:53 AM
                  OpenCL - why are there any pointers at all?Rob Thorpe2010/12/17 10:19 AM
                    OpenCL - why are there any pointers at all?Richard Cownie2010/12/17 10:51 AM
                OpenCL - why are there any pointers at all?hobold2010/12/17 10:06 AM
          OpenCL - why are there any pointers at all?EduardoS2010/12/18 06:58 AM
            OpenCL - why are there any pointers at all?anon2010/12/18 09:27 AM
            OpenCL - why are there any pointers at all?BorisG2010/12/18 09:33 AM
              OpenCL - why are there any pointers at all?Richard Cownie2010/12/18 01:39 PM
  OpenCL article onlineEmil Briggs2010/12/19 05:40 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?