<font size=2 face="sans-serif">This fixed it for me:</font><br><br><font size=2 face="sans-serif">    #pragma omp target map(tofrom:
y[:n]) map(to:x[:n])</font><br><font size=2 face="sans-serif">    #pragma omp parallel for</font><br><font size=2 face="sans-serif">    for (int i = 0; i <
n; i++)</font><br><font size=2 face="sans-serif">      y[i] += a * x[i];</font><br><br><font size=2 face="sans-serif">--Doru<br></font><br><br><br><br><font size=1 color=#5f5f5f face="sans-serif">From:      
 </font><font size=1 face="sans-serif">Talita Perciano via
Openmp-dev <openmp-dev@lists.llvm.org></font><br><font size=1 color=#5f5f5f face="sans-serif">To:      
 </font><font size=1 face="sans-serif">Alexey Bataev <a.bataev@outlook.com></font><br><font size=1 color=#5f5f5f face="sans-serif">Cc:      
 </font><font size=1 face="sans-serif">"openmp-dev@lists.llvm.org"
<openmp-dev@lists.llvm.org></font><br><font size=1 color=#5f5f5f face="sans-serif">Date:      
 </font><font size=1 face="sans-serif">02/12/2019 04:45 PM</font><br><font size=1 color=#5f5f5f face="sans-serif">Subject:    
   </font><font size=1 face="sans-serif">Re: [Openmp-dev]
Segmentation fault libomptarget.so</font><br><font size=1 color=#5f5f5f face="sans-serif">Sent by:    
   </font><font size=1 face="sans-serif">"Openmp-dev"
<openmp-dev-bounces@lists.llvm.org></font><br><hr noshade><br><br><br><font size=3>Tried all the above... still segfault on my end. BTW,
I don't know if that's relevant but I'm using cuda 9.2.</font><br><br><font size=3>On Tue, Feb 12, 2019 at 1:42 PM Alexey Bataev <</font><a href="mailto:a.bataev@outlook.com"><font size=3 color=blue><u>a.bataev@outlook.com</u></font></a><font size=3>>
wrote:</font><br><font size=3>Tried your example with my correction,</font><p><font size=3>$./a.out 1000<br>Here<br><br>min = 0.000047, max = 0.999994, avg = 0.504811</font><p><font size=3>$</font><p><tt><font size=3>-------------<br>Best regards,<br>Alexey Bataev</font></tt><br><font size=3>12.02.2019 16:38, Talita Perciano пишет:</font><br><font size=3>Thanks for your quick response Alexey. I've just tried
what you suggested and I'm still getting the same error. </font><br><br><font size=3>Best,</font><br><font size=3>Talita</font><br><br><font size=3>On Tue, Feb 12, 2019 at 1:36 PM Alexey Bataev <</font><a href="mailto:a.bataev@outlook.com" target="_blank"><font size=3 color=blue><u>a.bataev@outlook.com</u></font></a><font size=3>>
wrote:</font><br><font size=3>Try to modify target pragma this way</font><p><font size=3>#pragma omp target map(from: x[:n]) map(tofrom:y[:n])</font><p><tt><font size=3>-------------<br>Best regards,<br>Alexey Bataev</font></tt><br><font size=3>12.02.2019 16:33, Talita Perciano via Openmp-dev пишет:</font><br><font size=3>Hi, </font><br><br><font size=3>I'm trying openmp offloading to gpu and I'm getting
a segfault when trying to run a test code. I followed the instructions
explained here </font><a href="https://www.hahnjo.de/blog/2018/10/08/clang-7.0-openmp-offloading-nvidia.html" target="_blank"><font size=3 color=blue><u>https://www.hahnjo.de/blog/2018/10/08/clang-7.0-openmp-offloading-nvidia.html</u></font></a><font size=3>.</font><br><br><font size=3>Here is the piece of code I'm trying to run:</font><br><br><font size=3>#include <malloc.h></font><br><font size=3>#include <stdio.h></font><br><font size=3>#include <stdlib.h></font><br><font size=3> </font><br><font size=3>int main(int argc, char* argv[])</font><br><font size=3>{</font><br><font size=3>    if (argc != 2)</font><br><font size=3>    {</font><br><font size=3>        printf("Usage: %s \n",
argv[0]);</font><br><font size=3>        return 0;</font><br><font size=3>    }</font><br><font size=3>     </font><br><font size=3>    int n = atoi(argv[1]);</font><br><font size=3>     </font><br><font size=3>    double* x = (double*)malloc(sizeof(double)
* n);</font><br><font size=3>    double* y = (double*)malloc(sizeof(double)
* n);</font><br><font size=3> </font><br><font size=3>    double idrandmax = 1.0 / RAND_MAX;</font><br><font size=3>    double a = idrandmax * rand();</font><br><font size=3>    for (int i = 0; i < n; i++)</font><br><font size=3>    {</font><br><font size=3>        x[i] = idrandmax * rand();</font><br><font size=3>        y[i] = idrandmax * rand();</font><br><font size=3>    }</font><br><font size=3>    printf("Here\n\n");</font><br><font size=3>    #pragma omp target</font><br><font size=3>    #pragma omp parallel for</font><br><font size=3>    {</font><br><font size=3>        for (int i = 0; i < n;
i++)</font><br><font size=3>            y[i] += a *
x[i];</font><br><font size=3>    }</font><br><font size=3>     </font><br><font size=3>    double avg = 0.0, min = y[0], max = y[0];</font><br><font size=3>    for (int i = 0; i < n; i++)</font><br><font size=3>    {</font><br><font size=3>        avg += y[i];</font><br><font size=3>        if (y[i] > max) max = y[i];</font><br><font size=3>        if (y[i] < min) min = y[i];</font><br><font size=3>    }</font><br><font size=3>     </font><br><font size=3>    printf("min = %f, max = %f, avg = %f\n",
min, max, avg / n);</font><br><font size=3>     </font><br><font size=3>    free(x);</font><br><font size=3>    free(y);</font><br><font size=3> </font><br><font size=3>    return 0;</font><br><font size=3>}</font><br><br><font size=3>I'm compiling the code like this: clang -fopenmp
-fopenmp-targets=nvptx64 -O2 example.c</font><br><font size=3>When I run I get a Segmentation fault immediately.</font><br><br><font size=3>Any thoughts?</font><br><br><font size=3>Thanks!</font><br><font size=3>Talita</font><br><br><br><tt><font size=3>_______________________________________________<br>Openmp-dev mailing list<br></font></tt><a href="mailto:Openmp-dev@lists.llvm.org" target="_blank"><tt><font size=3 color=blue><u>Openmp-dev@lists.llvm.org</u></font></tt></a><tt><font size=3><br></font></tt><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" target="_blank"><tt><font size=3 color=blue><u>https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</u></font></tt></a><tt><font size=3><br></font></tt><br><br><br><font size=3>-- </font><br><font size=3>Dr. Talita Perciano</font><br><font size=3>Research Scientist - CRD, Lawrence Berkeley National Laboratory<br>Data Analytics & Visualization Group</font><br><font size=2>Center for Advanced Mathematics for Energy Research Applications</font><br><font size=2>One Cyclotron Road<br>Berkeley, CA 94720</font><br><font size=2>059-3034B  </font><font size=3>M/S 59R3103</font><br><font size=3>Work: (510) 486-5060</font><br><a href="mailto:tperciano@lbl.gov" target="_blank"><font size=3 color=blue><u>tperciano@lbl.gov</u></font></a><br><a href="http://tperciano.wixsite.com/home" target="_blank"><font size=3 color=blue><u>http://tperciano.wixsite.com/home</u></font></a><br><br><br><font size=3>-- </font><br><font size=3>Dr. Talita Perciano</font><br><font size=3>Research Scientist - CRD, Lawrence Berkeley National Laboratory<br>Data Analytics & Visualization Group</font><br><font size=2>Center for Advanced Mathematics for Energy Research Applications</font><br><font size=2>One Cyclotron Road<br>Berkeley, CA 94720</font><br><font size=2>059-3034B  </font><font size=2 color=#2f2f2f face="sans-serif">M/S
59R3103</font><br><font size=3>Work: (510) 486-5060</font><br><a href="mailto:tperciano@lbl.gov" target="_blank"><font size=3 color=blue><u>tperciano@lbl.gov</u></font></a><br><a href="http://tperciano.wixsite.com/home" target="_blank"><font size=3 color=blue><u>http://tperciano.wixsite.com/home</u></font></a><tt><font size=2>_______________________________________________<br>Openmp-dev mailing list<br>Openmp-dev@lists.llvm.org<br></font></tt><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev"><tt><font size=2>https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</font></tt></a><tt><font size=2><br></font></tt><br><br><BR>