<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
The order that the different threads execute the output statement is
not predetermined; i.e. it can vary from one execution to the next.
For example, the program below sometimes generates the output<br>
0231<br>
and other times<br>
2301<br>
on a four core machine that I have access to.<br>
<br>
# include <iostream><br>
<br>
int main(void)<br>
{<br>
double t1, t2;<br>
double t0 = 0.0, tf = 1.0;<br>
double nn[] = {1.0,2.0,3.0,4.0,5.0};<br>
int i;<br>
<br>
#pragma omp parallel shared(t0,tf,nn) private(i,t1,t2)<br>
{<br>
#pragma omp for nowait<br>
for (i=0;i<4;i++) {<br>
t1 = (t0+tf)*nn[i];<br>
t2 = (t0+tf)*nn[i+1];<br>
std::cout << i;<br>
}<br>
}<br>
std::cout << std::endl;<br>
return 0;<br>
}<br>
<br>
<br>
On 9/17/2011 1:15 PM, Ingrid Hallen wrote:
<blockquote cite="mid:COL106-W190023014C72CC78341381D2090@phx.gbl"
type="cite">
<pre wrap="">
Hi everyone!
I've been experimenting a bit with adol-c and OpenMP (not differentiating
OpenMP code, just trying to paralellize some code that uses adoubles). Anyway,
I have a piece of code that looks something like this:
"adouble t1, t2;
adouble t0, tf;
t0.setValue(0.0); tf.setValue(1.0);
double nn[] = {1.0,2.0,3.0,4.0,5.0};
int i;
#pragma omp parallel shared(t0,tf,nn) private(i,t1,t2)
{
#pragma omp for nowait
for (i=0;i<4;i++) {
t1 = (t0+tf)*nn[i];
t2 = (t0+tf)*nn[i+1];
std::cout << i << i+1 << t1.value() << t2.value();
}
}"
Now if I run the loop using just one thread everything works fine, but for more
than one I get some weird results, like, say, the following output:
0 1 1.000 2.000
2 3 3.000 2.000
3 4 4.000 4.000
1 2 2.000 3.000
Here I think the second line should read "2 3 3.000 4.000" and the third "3 4 4.000 5.000".
Anyone have an idea why this strange behavior occurs?
cheers
ingrid
                                          
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
ADOL-C mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ADOL-C@list.coin-or.org">ADOL-C@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="http://list.coin-or.org/mailman/listinfo/adol-c">http://list.coin-or.org/mailman/listinfo/adol-c</a></pre>
</blockquote>
<br>
</body>
</html>