<div dir="ltr">I even tried following;<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>             a[i]=2; b[i]=3; c[i]=4;</div><div>            c[i]= a[i] + b[i];</div><div>        }</div><div>    </div><div><br></div><div>    return 0;</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 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">I didn’t look at the assembly, but you didn’t initialize your arrays. Your program isn’t meaningful.</div><div><div class="h5"><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="HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div class="m_5381352197596575827gmail_signature" data-smartmail="gmail_signature">~Craig</div>
</font></span></blockquote></div><br></div>