Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development Tools (Compilers, Debuggers, Profilers & Analyzers)
- Analyzers
- Accuracy of parallel vs. sequential computations

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

Highlighted

Brynne_N_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-15-2018
01:59 PM

36 Views

I have a finite element code in which I am trying to parallelize a subroutine. The difference in the results between parallel and sequential computation is around 1E-7. I read in the StackOverflow post linked below that floating point operations are not commutative, so one should not expect identical results when performing calculations in multithreaded codes. How large can this type of error become? After several thousand time steps, would an error of 1E-7 be understandable?

Another issue we have considered is the precision of different threads. Are all the threads in a given computer guaranteed to have the same precision? Or could differing precision be contributing to the difference in the results?

Thank you for any information you can provide.

StackOverflow: https://stackoverflow.com/questions/13937328/division-of-floating-point-numbers-on-gpu-different-fro...

Accepted Solutions

Highlighted
It would be unusual to see more overall precision than that in a finite element code compiled in single precision. The usual reasons for differing roundoff among threads would be use of parallel reduction. Some applications use a build option to avoid reduction so as to isolate those.

TimP

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-16-2018
04:25 AM

36 Views

2 Replies

Highlighted
It would be unusual to see more overall precision than that in a finite element code compiled in single precision. The usual reasons for differing roundoff among threads would be use of parallel reduction. Some applications use a build option to avoid reduction so as to isolate those.

TimP

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-16-2018
04:25 AM

37 Views

Highlighted

Brynne_N_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

02-18-2018
12:17 PM

36 Views

Tim P. wrote:

Thank you for your reply, this makes sense as we are using parallel reduction.

For more complete information about compiler optimizations, see our Optimization Notice.