<div dir="ltr">i changed my code to following;<div><div>   #pragma omp simd</div><div>        for (int i=0; i<size; ++i)</div><div>        {</div><div>             a[i]=2; b[i]=3; c[i]=4;</div><div>            c[i]= a[i] + b[i];</div><div>    printf("c value %f",c[i]);</div><div>        }</div></div><div><br></div><div>still no effect of omp simd?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 31, 2017 at 12:26 AM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">The for loop has no effect on the observable behavior of the program. If you run the program there is no way to tell if the numbers were added or not. So the loop doesn’t matter, so the compiler deleted the code. You need to print the contents of c or something so that it matters.</div><div><div class="h5"><div dir="auto"><br></div><div dir="auto"><br></div><br><div class="gmail_quote"><div>On Sat, Dec 30, 2017 at 11:19 AM hameeza ahmed <<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I even tried following;<div><br></div><div></div></div><div><div><div>int main(int argc, char **argv)</div><div>{</div><div>    const int size = 1000000; </div><div><br></div><div><br></div><div>    float a[size], b[size],c[size];</div><div><br></div><div><br></div><div>    </div><div>        #pragma omp simd</div><div>        for (int i=0; i<size; ++i)</div><div>        {</div></div></div><div><div><div>             a[i]=2; b[i]=3; c[i]=4;</div></div></div><div><div><div>            c[i]= a[i] + b[i];</div><div>        }</div><div>    </div><div><br></div><div>    return 0;</div><div>}</div></div></div><div><div></div><div>but the output with and without openmp simd is same. why is that so?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Dec 31, 2017 at 12:01 AM, Craig Topper <span><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">I didn’t look at the assembly, but you didn’t initialize your arrays. Your program isn’t meaningful.</div><div><div class="m_3760427678924649597m_-715340566504891095h5"><br><div class="gmail_quote"><div>On Sat, Dec 30, 2017 at 9:08 AM hameeza ahmed <<a href="mailto:hahmed2305@gmail.com" target="_blank">hahmed2305@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="gmail_quote"><div>hello,<div><br></div><div>i am trying to optimize omp simd loop as follows</div><div><br></div><div><div>int main(int argc, char **argv)</div><div>{</div><div>    const int size = 1000000; </div><div><br></div><div><br></div><div>    float a[size], b[size],c[size];</div><div><br></div><div><br></div><div>    </div><div>        #pragma omp simd</div><div>        for (int i=0; i<size; ++i)</div><div>        {</div><div>            c[i]= a[i] + b[i];</div><div>        }</div><div>    </div><div><br></div><div>    return 0;</div><div>}</div></div><div><br></div><div>i run it using the following command;</div><div><br></div><div>g++ -O0 --std=c++14 -fopenmp-simd lab.cpp  -Iinclude -S -o lab.s<br></div><div><br></div><div>when i compared it with code as follows without simd</div><div><br></div><div><br></div><div><div>int main(int argc, char **argv)</div><div>{</div><div>    const int size = 1000000; </div><div><br></div><div><br></div><div>    float a[size], b[size],c[size];</div><div><br></div><div><br></div><div>    </div><div>        for (int i=0; i<size; ++i)</div><div>        {</div><div>            c[i]= a[i] + b[i];</div><div>        }</div><div>    </div><div><br></div><div>    return 0;</div><div>}</div></div><div><br></div><div>using following command</div><div><br></div><div><div>g++ -O0 --std=c++14  lab.cpp -Iinclude -S -o lab.s<br></div></div><div><br></div><div>I am getting the same assembly. Why is that so? why not omp simd is more efficient?</div><div><br></div><div>Please help</div><div><br></div></div>
</div><br></div>
</blockquote></div></div></div></div><span class="m_3760427678924649597m_-715340566504891095HOEnZb"><font color="#888888"><div>-- <br></div><div class="m_3760427678924649597m_-715340566504891095m_5381352197596575827gmail_signature" data-smartmail="gmail_signature">~Craig</div>
</font></span></blockquote></div><br></div>
</blockquote></div></div></div></div><span class="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div class="m_3760427678924649597gmail_signature" data-smartmail="gmail_signature">~Craig</div>
</font></span></blockquote></div><br></div>