[Openmp-dev] [cfe-dev] Error building openmp 3.1 on clang 3.7

Marcelo Novaes via Openmp-dev openmp-dev at lists.llvm.org
Tue Nov 28 05:46:08 PST 2017


Hi Jonas,

Thank you for replying :)

I apologize for posting this question.

1) They are actually not related.
2) I meant #pragma omp teams and distribute parallel for. I have found it.

thank you!
Marcelo



2017-11-27 12:35 GMT-02:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:

> Hi,
>
> I don't see a connection to the topic that was originally discussed in the
> thread?
> In general I'm not sure if I correctly understand your question: If you
> use parallel regions on the host there is only one team of threads and its
> size is influenced in the usual ways (num_threads() clause,
> omp_set_num_threads() API call, OMP_NUM_THREADS environment variable). As
> you talk about "thread-blocks" and explicitly mention OpenMP 4.x do you
> mean execution on the host or are you using the teams construct inside a
> target region?
>
> Jonas
>
>
> Am 2017-11-23 13:52, schrieb Marcelo Novaes:
>
>> Hi all,
>>
>> I was wondering if from OpenMP 4.0 to OpenMP 4.5, does the way it
>> chooses the number of thread-blocks and the number of threads per
>> block was changed?
>>
>> Thank you very much in advance.
>>
>> best,
>> Marcelo
>>
>> 2017-08-10 6:00 GMT-03:00 Marcelo Novaes <novaes.ssa at gmail.com>:
>>
>> That's fine, for my purpose, it would be good, but I don't need to
>>> reflect the current implementation.
>>>
>>> I'll try to update it asap :) thank you!
>>>
>>> best,
>>> Marcelo
>>>
>>> 2017-08-10 5:53 GMT-03:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:
>>> Hmm, that's bad: 3.7 has been released almost 2 years ago, so
>>> whatever results you measure with this pretty much won't reflect the
>>> current implementation.
>>>
>>> Jonas
>>>
>>> Am 2017-08-10 10:43, schrieb Marcelo Novaes:
>>>
>>> hello Jonas, I meant, I didn't try any newer version by now.
>>>
>>> 2017-08-10 5:43 GMT-03:00 Marcelo Novaes <novaes.ssa at gmail.com>:
>>>
>>> Hello Jonas,
>>>
>>> I am not able to answer that at least until this weekend, sorry (I
>>> am in a rush with a strict deadline).
>>>
>>> But I can get back to you with the answer soon.  If you need it
>>> really soon, let me know.
>>>
>>> best regards,
>>> Marcelo
>>>
>>> 2017-08-10 5:31 GMT-03:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:
>>> Hi Marcelo,
>>>
>>> so does this need to be fixed in the source or has that already
>>> happened for newer versions?
>>>
>>> Thanks,
>>> Jonas
>>>
>>> Am 2017-08-10 10:27, schrieb Marcelo Novaes:
>>>
>>> Hi Jonas,
>>>
>>> I've figured it out and forgot to reply here.
>>>
>>> Anyways, thank you for the reply!
>>>
>>> best
>>>
>>> --
>>> Solution: added ffi dynamic lib inside the
>>> openmp/src/CMakeLists.txt.
>>> Then, built openmp (make sure the binary once compiled is linked
>>> with
>>> the correct omp, not gomp (from gcc) checking via ldd).
>>>
>>> 2017-08-10 4:12 GMT-03:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:
>>>
>>> Hi,
>>>
>>> +openmp-dev for discussion about the runtime.
>>>
>>> 3.7 is quite old, do you see the same problem with 4.0.1? There
>>> might be some patches in that fixed the build for ARM.
>>>
>>> Regards,
>>> Jonas
>>>
>>> Am 2017-08-09 19:15, schrieb Marcelo Novaes via cfe-dev:
>>>
>>> Hi all,
>>>
>>> Should I be able to use OpenMP 3.1 using Clang 3.7 on  LLVM 3.7 on
>>> an
>>> ARM board with a Linux 3.10.63+?
>>>
>>> I've built the llvm 3.7 with clang 3.7 successfully, but it didn't
>>> generate omp dynamic lib. I'm getting an error when I try to do a
>>> "make" inside of my build/projects/openmp.
>>>
>>> Linking C shared library ../../../../lib/libomp.so
>>> CMakeFiles/omp.dir/z_Linux_util.c.o: In function
>>> `__kmp_invoke_microtask':
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0x9e): undefined
>>> reference to `ffi_prep_cif'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xac): undefined
>>> reference to `ffi_call'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xd4): undefined
>>> reference to `ffi_type_pointer'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xd8): undefined
>>> reference to `ffi_type_void'
>>> collect2: error: ld returned 1 exit status
>>> make[2]: *** [lib/libomp.so] Error 1
>>>
>>> However, I have libffi linked, it didn't help.
>>>
>>> I want to generate a dyn lib I can call, I was calling a dyn from
>>> my
>>> gcc, but clang was not able to execute multi thread code compiled
>>> with
>>> the gcc's dynamic lib (it basically ignored the pragmas).
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev [1] [1] [1]
>>>
>>> --
>>>
>>> Best,
>>> Marcelo
>>>
>>> Links:
>>> ------
>>> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev [1] [1]
>>>
>>> --
>>>
>>> Best,
>>> Marcelo
>>>
>>> --
>>>
>>> Best,
>>> Marcelo
>>>
>>> Links:
>>> ------
>>> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev [1]
>>>
>>
>> --
>>
>> Best,
>> Marcelo
>>
>> --
>>
>> Best,
>> Marcelo
>>
>> Links:
>> ------
>> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>


-- 
Best,
Marcelo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20171128/cbb55f70/attachment.html>


More information about the Openmp-dev mailing list