[llvm-dev] Issues with omp simd

hameeza ahmed via llvm-dev llvm-dev at lists.llvm.org
Sat Dec 30 11:19:25 PST 2017


I even tried following;

int main(int argc, char **argv)
{
    const int size = 1000000;


    float a[size], b[size],c[size];



        #pragma omp simd
        for (int i=0; i<size; ++i)
        {
             a[i]=2; b[i]=3; c[i]=4;
            c[i]= a[i] + b[i];
        }


    return 0;
}
but the output with and without openmp simd is same. why is that so?

On Sun, Dec 31, 2017 at 12:01 AM, Craig Topper <craig.topper at gmail.com>
wrote:

> I didn’t look at the assembly, but you didn’t initialize your arrays. Your
> program isn’t meaningful.
>
> On Sat, Dec 30, 2017 at 9:08 AM hameeza ahmed <hahmed2305 at gmail.com>
> wrote:
>
>> hello,
>>
>> i am trying to optimize omp simd loop as follows
>>
>> int main(int argc, char **argv)
>> {
>>     const int size = 1000000;
>>
>>
>>     float a[size], b[size],c[size];
>>
>>
>>
>>         #pragma omp simd
>>         for (int i=0; i<size; ++i)
>>         {
>>             c[i]= a[i] + b[i];
>>         }
>>
>>
>>     return 0;
>> }
>>
>> i run it using the following command;
>>
>> g++ -O0 --std=c++14 -fopenmp-simd lab.cpp  -Iinclude -S -o lab.s
>>
>> when i compared it with code as follows without simd
>>
>>
>> int main(int argc, char **argv)
>> {
>>     const int size = 1000000;
>>
>>
>>     float a[size], b[size],c[size];
>>
>>
>>
>>         for (int i=0; i<size; ++i)
>>         {
>>             c[i]= a[i] + b[i];
>>         }
>>
>>
>>     return 0;
>> }
>>
>> using following command
>>
>> g++ -O0 --std=c++14  lab.cpp -Iinclude -S -o lab.s
>>
>> I am getting the same assembly. Why is that so? why not omp simd is more
>> efficient?
>>
>> Please help
>>
>>
>> --
> ~Craig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171231/9687fe24/attachment.html>


More information about the llvm-dev mailing list