Results 1 to 2 of 2

Thread: OpenCL spec -- Table 7.1: Where do the ULP values come from?

  1. #1
    Junior Member
    Join Date
    Nov 2009

    OpenCL spec -- Table 7.1: Where do the ULP values come from?

    Hi --

    I'm perusing the OpenCL spec as a source of information regarding modern floating point math specifications. In section 7.4, there is a table (table 7.1) listing the minimum accuracy required of various math functions in the OpenCL API. Each function has a required ULP which must be obeyed.

    My question: Where do the ULP values come from? For example, the table calls out that exp(x) must be accurate to within 3 ULPs of the mathematically correct result. Fair enough, but what information was used to create the spec of 3 ULPs? I'm looking for pointers to the literature, estimates based on the "best" implementation of the function, or other considerations which led to this spec.



  2. #2
    Senior Member
    Join Date
    Jul 2009
    Northern Europe

    Re: OpenCL spec -- Table 7.1: Where do the ULP values come from?

    My understanding is that those specs were a compromise between the ultimate goal of exact and what the hardware vendors could do with reasonable performance. I would expect that over time the requirements will improve in accuracy, with the native and fast versions existing for greater speed. As for implementations, that's a really tricky subject. I know a lot of system math libraries have difficulty meeting those standards across the full range, so it's really quite difficult to get it right. Unfortunately I'm not a numerics guy so I can't be more helpful than that.

Similar Threads

  1. ULP accuracy profiles
    By moozoo in forum OpenCL
    Replies: 2
    Last Post: 03-16-2011, 12:22 PM
  2. Replies: 1
    Last Post: 05-07-2009, 03:14 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Proudly hosted by Digital Ocean