[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