<div dir="ltr">Oh, yes, you are right Bataev. thanks a lot for the good call.<div><br></div><div>-Amir</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 26, 2014 at 2:10 AM, Bataev, Alexey <span dir="ltr"><<a href="mailto:a.bataev@hotmail.com" target="_blank">a.bataev@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Amir, just add "-fopenmp" to your
"clang -v llvm_openmp.ll -lm" command. Or add "-liomp5". It must
solve your problems.<span class=""><br>
<pre cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team</pre></span>
26.11.2014 1:27, Amir H. Ashouri пишет:<br>
</div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">Jeremey,
<div><br>
</div>
<div>Could you let me know if in the LLVM-openMP project we have
the same opt <flags> as the default llvm-opt
<flags> ?</div>
<div><br>
</div>
<div>as I am running these procedures:</div>
<div><br>
</div>
<div>
<p>1- clang(Openmp) -S -emit-llvm -fopenmp
llvm_openmp.c</p>
<p>2- opt(Openmp) <some flags> -S -o
hello_opt.ll hello.ll</p>
<p>3- clang(Openmp) hello_opt.ll -lm</p>
<p> I am getting :</p>
<p>[ashouri@savina openmp_power]$ clang -v
llvm_openmp.ll -lm</p>
<p>clang version 3.5.0 (<a href="https://github.com/clang-omp/clang" target="_blank">https://github.com/clang-omp/clang</a>
05ab95f7cb2779bbf20341ae6ed293106de5afda) (<a href="https://github.com/clang-omp/llvm" target="_blank">https://github.com/clang-omp/llvm</a>
e45b045553e027cbe400cbb8ac8c264abbbfaf83)</p>
<p>Target: x86_64-unknown-linux-gnu</p>
<p>Thread model: posix</p>
<p>Found candidate GCC installation:
/usr/lib/gcc/i686-redhat-linux/4.4.4</p>
<p>Found candidate GCC installation:
/usr/lib/gcc/i686-redhat-linux/4.4.7</p>
<p>Found candidate GCC installation:
/usr/lib/gcc/x86_64-redhat-linux/4.4.4</p>
<p>Found candidate GCC installation:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7</p>
<p>Selected GCC installation:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7</p>
<p>Candidate multilib: .;@m64</p>
<p>Candidate multilib: 32;@m32</p>
<p>Selected multilib: .;@m64</p>
<p> "~/llvm/build/Debug+Asserts/bin/clang" -cc1
-triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all
-disable-free -main-file-name llvm_openmp.ll
-mrelocation-model static -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables
-target-cpu x86-64 -target-linker-version 2.20.51.0.2 -v
-dwarf-column-info -resource-dir
~llvm/build/Debug+Asserts/bin/../lib/clang/3.5.0
-fdebug-compilation-dir
/usa/ashouri/phase_ordering/openmp_power -ferror-limit 19
-fmessage-length 204 -mstackrealign -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -o
/tmp/llvm_openmp-3af5c7.o -x ir llvm_openmp.ll</p>
<p>clang -cc1 version 3.5.0 based upon LLVM 3.5.0
default target x86_64-unknown-linux-gnu</p>
<p> "/usr/bin/ld" --eh-frame-hdr -m elf_x86_64
-dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..
-L/~/llvm/build/Debug+Asserts/bin/../lib -L/lib -L/usr/lib
/tmp/llvm_openmp-3af5c7.o -lm -L.
-L/~/openmp/runtime/exports/lin_32e/lib
-L~/openmp/runtime/exports/lin_32e/lib -lgcc --as-needed
-lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
--no-as-needed
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o</p>
<p>/tmp/llvm_openmp-3af5c7.o: In function `main':</p>
<p>llvm_openmp.ll:(.text+0x75): undefined reference
to `__kmpc_fork_call'</p>
<p>/tmp/llvm_openmp-3af5c7.o: In function
`.omp_microtask.':</p>
<p>llvm_openmp.ll:(.text+0xf1): undefined reference
to `omp_get_thread_num'</p>
<p>llvm_openmp.ll:(.text+0xf9): undefined reference
to `omp_get_num_threads'</p>
<p>llvm_openmp.ll:(.text+0x101): undefined reference
to `omp_get_max_threads'</p>
<p>
</p>
<p>llvm_openmp.ll:(.text+0x12d): undefined reference
to `__kmpc_cancel_barrier'</p>
<p><br>
</p>
<p>its strange cuz when I dont invoke -emit-llvm and
just compiler and link at once with <i style="font-weight:bold">clang(openmp) -fopenmp foo.c </i>the
executable can be run with max threads.</p>
<p><br>
</p>
<p>Appreciate any helps,</p>
<p><br>
</p>
<p>-Amir</p>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Nov 12, 2014 at 11:19 AM, Amir
H. Ashouri <span dir="ltr"><<a href="mailto:amirhossein.ashouri@gmail.com" target="_blank">amirhossein.ashouri@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 dir="ltr">Thanks all for their responses. I re-compile
the clang with OpenMP support and the library files and
set the library paths and it worked finally. I might think
as Alexey mentioned, that the CentOS was using the default
clang to that matter before head.
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>-Amir</div>
</div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Nov 12, 2014 at 11:55
AM, Jack Howarth <span dir="ltr"><<a href="mailto:howarth.mailing.lists@gmail.com" target="_blank">howarth.mailing.lists@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 dir="ltr"><font face="arial, helvetica,
sans-serif">Amir,</font>
<div><font face="arial, helvetica, sans-serif">
You didn't say what platform you are
trying to use clang-omp on. If it is OS X,
the llvm34-3.4.2-2 fink package (<a href="http://finkproject.org" target="_blank">http://finkproject.org</a>)
has a port of the clang-omp changes at
commit
13e28835a005b44481387a32666ed39a7db58eb6 over
the llvm 3.4.2 release. While the fink
llvm35 packaging isn't released yet, you can
obtain the necessary llvm35* packaging files
to build it from <a href="http://fink.cvs.sourceforge.net/viewvc/fink/experimental/fangism/finkinfo/" target="_blank">http://fink.cvs.sourceforge.net/viewvc/fink/experimental/fangism/finkinfo/</a>.
This has a port of the clang-omp changes at
commit <font color="#444444"><span style="line-height:16px">3f687cbc520a8b8f506d7941f0cebd6c5af1cef6 over
llvm 3.5.0 with the openmp trunk changes
at r219214.</span></font></font></div>
<span><font color="#888888">
<div><font color="#444444" face="arial,
helvetica, sans-serif"><span style="line-height:16px">
Jack</span></font></div>
</font></span></div>
<div class="gmail_extra"><br>
<div class="gmail_quote">
<div>
<div>On Fri, Nov 7, 2014 at 3:22 PM, Amir H.
Ashouri <span dir="ltr"><<a href="mailto:amirhossein.ashouri@gmail.com" target="_blank">amirhossein.ashouri@gmail.com</a>></span>
wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div dir="ltr">I did that.
<div><br>
</div>
<div>Downloaded and compiled with gcc,
then export all the PATHs.
Otherwise, It would have given me
compile error because the "omp.h" is
different here.</div>
<span><font color="#888888">
<div><br>
</div>
<div>-Amir</div>
</font></span></div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri,
Nov 7, 2014 at 3:13 PM, Millad
Ghane <span dir="ltr"><<a href="mailto:millad.mg@gmail.com" target="_blank">millad.mg@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,
<div><br>
</div>
<div>You haven't imported the
openmp library to Clang yet.
It simply ignores the
pragmas. </div>
<div><br>
</div>
<div>Go to this link and
follow the instructions. </div>
<div><a href="http://clang-omp.github.io" target="_blank">clang-omp.github.io</a></div>
<div><br>
</div>
<div><br>
</div>
<div>Best Regards,</div>
<div>Millad</div>
<div>
<div>
<div><span></span><br>
<br>
On Friday, November 7,
2014, Amir H. Ashouri
<<a href="mailto:amirhossein.ashouri@gmail.com" target="_blank">amirhossein.ashouri@gmail.com</a>>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<p>Greetings,</p>
<p><span style="line-height:17.8048000335693px">so I tried to use opennp with one
of the latest
version of
clang, </span><code>clang
version 3.4.2
(tags/RELEASE_34/dot2-final)</code><span style="line-height:17.8048000335693px">. Followed the procedure to
compilre and
export the
library PATHs,
Compiling my
hello.c using :</span><br>
</p>
<pre style="white-space:pre-wrap;margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.8048000335693px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">clang </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">-</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">fopenmp hello</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">c</span></code></pre>
<p>and
then running it,
still it can't use
more than 1
thread:</p>
<pre style="white-space:pre-wrap;margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.8048000335693px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Bash</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">-</span><span>4.1</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">$ </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">./</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">a</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">out
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Hello</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> from thread </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">0</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> nthreads </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">1</span></code></pre>
<p style="margin:0px 0px 1em;padding:0px;border:0px;vertical-align:baseline;clear:both;background-image:initial;background-repeat:initial"><font color="#000000" face="Arial,
Liberation Sans,
DejaVu Sans,
sans-serif"><span style="font-size:14px;line-height:17.8048000335693px">I tried to
manually
export </span></font><code>export
OMP_NUM_THREADS=8</code><font color="#000000" face="Arial, Liberation
Sans, DejaVu
Sans,
sans-serif"><span style="font-size:14px;line-height:17.8048000335693px"> but that didn't
solve anything
as well, As a
workaround I
define </span></font><span> </span><span>#pragma
omp parallel
num_threads(#noofthreads) </span>inside
the source code
but still the
issue is there.</p>
<p>Any
suggestions would
be appreciated.</p>
<p><br>
</p>
<p>-Amir</p>
<p><br>
</p>
<p><a href="http://p.sl/" target="_blank">p.sl</a>:
This is the
hello.c:</p>
<pre style="white-space:pre-wrap;margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.8048000335693px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,128,128);background:transparent">#include</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent"><omp.h></span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,128,128);background:transparent">#include</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent"><stdio.h></span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">int</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> main</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">()</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">{</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,128,128);background:transparent">#pragma</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> omp parallel
printf</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"Hello from thread %d, nthreads %d\n"</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> omp_get_thread_num</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(),</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> omp_get_num_threads</span></code></pre>
</div>
</blockquote>
</div>
<br>
<br>
</div>
</div>
<span><font color="#888888">--
<br>
Sent from my iPhone<br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
<br>
</div>
</div>
<span>_______________________________________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@dcs-maillist2.engr.illinois.edu" target="_blank">Openmp-dev@dcs-maillist2.engr.illinois.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev</a><br>
<br>
</span></blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Openmp-dev mailing list
<a href="mailto:Openmp-dev@dcs-maillist2.engr.illinois.edu" target="_blank">Openmp-dev@dcs-maillist2.engr.illinois.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>