- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have an algorithm that has been running floating point on CPUs for years, creating images.
We're moving the algorithm onto GPU, but the client strongly insists that the output must be identical between CPU and GPU.
We have fixed point implementations for both CPU and GPU, so we can meet this criteria, however the fixed point introduces small inaccuracies at extreme corner cases, so we would like to avoid using this where possible.
So we would like to know if floating point operations on Intel GPU and Intel CPU will always result in the same floating point output, thus removing the need for the fixed point implementation in all-Intel environments.
Can you tell me whether this assumption is reasonable?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As you know, guaranteeing bit for bit identical results is hard to do across hardware architectures even when hardware instructions conform to the same standards. Here CPU and GPU have different hardware and different compilers. You can increase equivalence by making things like type conversions and order of operations explicit in your kernel code. However, as far as I know there is no way to ensure that all results will be 100% identical across hardware types.
The compute architecture guide from Steve Junkins is an excellent place to start for information on GPU execution unit architecture:
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As you know, guaranteeing bit for bit identical results is hard to do across hardware architectures even when hardware instructions conform to the same standards. Here CPU and GPU have different hardware and different compilers. You can increase equivalence by making things like type conversions and order of operations explicit in your kernel code. However, as far as I know there is no way to ensure that all results will be 100% identical across hardware types.
The compute architecture guide from Steve Junkins is an excellent place to start for information on GPU execution unit architecture:

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page