[Openmp-dev] iomp.h vs omp.h
Jack Howarth
howarth.mailing.lists at gmail.com
Sat May 30 14:10:03 PDT 2015
Jonathan,
Attached is an expanded version of your patch which eliminates
the remaining instances of iomp5/iomp and adds the missing backslash
in front of $ENV for the symlink creation.
Jack
On Sat, May 30, 2015 at 4:26 PM, Jack Howarth
<howarth.mailing.lists at gmail.com> wrote:
> Jonathan,
> FYI, below are the OpenMP3.1_Validation summaries for clang
> 3.7svn with your proposed patch linking against the new libgomp
> symlink....
>
> Summary:
> S Number of tested Open MP constructs: 62
> S Number of used tests: 123
> S Number of failed tests: 28
> S Number of successful tests: 95
> S + from this were verified: 14
>
> Normal tests:
> N Number of failed tests: 14
> N + from this fail compilation: 0
> N + from this timed out 0
> N Number of successful tests: 48
> N + from this were verified: 7
>
> Orphaned tests:
> O Number of failed tests: 14
> O + from this fail compilation: 0
> O + from this timed out 0
> O Number of successful tests: 47
> O + from this were verified: 7
>
> and linking against the actual libgomp from gcc 5.1 instead....
>
> Summary:
> S Number of tested Open MP constructs: 62
> S Number of used tests: 123
> S Number of failed tests: 30
> S Number of successful tests: 93
> S + from this were verified: 12
>
> Normal tests:
> N Number of failed tests: 15
> N + from this fail compilation: 0
> N + from this timed out 0
> N Number of successful tests: 47
> N + from this were verified: 6
>
> Orphaned tests:
> O Number of failed tests: 15
> O + from this fail compilation: 0
> O + from this timed out 0
> O Number of successful tests: 46
> O + from this were verified: 6
>
> Jack
>
> On Sat, May 30, 2015 at 3:11 PM, Jack Howarth
> <howarth.mailing.lists at gmail.com> wrote:
>> Jonathan,
>> Your proposed name_change_v2.patch change fails to install the
>> symlinks due to the omission of an essential escaping back-slash
>> before the $ENV. The following change to the patch eliminates the
>> problem and allows the symlinks to be correctly installed.
>> Jack
>>
>> --- llvm37-libomp.patch.orig 2015-05-30 12:38:05.000000000 -0400
>> +++ llvm37-libomp.patch 2015-05-30 14:45:10.000000000 -0400
>> @@ -717,7 +717,7 @@
>> + set(LIBOMP_ALIASES "libgomp;libiomp5")
>> + foreach(alias IN LISTS LIBOMP_ALIASES)
>> + install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\"
>> -E create_symlink \"${lib_file}\" \"${alias}${dll}\"
>> -+ WORKING_DIRECTORY
>> $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})")
>> ++ WORKING_DIRECTORY
>> \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})")
>> + endforeach()
>> endif()
>> install(
>>
>> On Fri, May 29, 2015 at 5:02 PM, Peyton, Jonathan L
>> <jonathan.l.peyton at intel.com> wrote:
>>> Here is a patch which takes care of all the libiomp name references concerning CMake builds.
>>>
>>> 1) It gets rid of any reference to libiomp and the evil letter 'i' in the CMake files.
>>> 2) Creates new file libomp.rc.var which is a copy of libiomp.rc.var (Windows only), I will delete libiomp.rc.var when I modify the Makefile system.
>>> 3) Creates libomp.so/libomp.dylib/libomp.dll
>>> 4) When installing, creates libgomp.so symlink to libomp.so and libiomp5.so symlink to libomp.so (similar for mac). On Windows, it creates copies of the file since symlinks don't exist on Windows.
>>> 5) Gets rid of references to iomp.h and iomp_lib.h which aren't needed by the LLVM OpenMP Library. Again, I'm not deleting them until the Makefile system has been changed.
>>>
>>> I put in the libgomp.so symlink because libomp.so supports the GNU OpenMP Library interfaces (at both link and run time). If we want this gone, that's fine.
>>>
>>> Please try it out and leave comments/feedback.
>>>
>>> -- Johnny
>>>
>>> -----Original Message-----
>>> From: openmp-dev-bounces at cs.uiuc.edu [mailto:openmp-dev-bounces at cs.uiuc.edu] On Behalf Of Peyton, Jonathan L
>>> Sent: Friday, May 29, 2015 2:19 PM
>>> To: Jack Howarth; openmp-dev at dcs-maillist2.engr.illinois.edu
>>> Subject: Re: [Openmp-dev] iomp.h vs omp.h
>>>
>>> Here is what I have so far for the name change patch. It is successfully creating symlinks at install time and has renamed most of the libiomp stuff to libomp.
>>>
>>> Concerning iomp.h, this header was first created to allow libgomp users to include Intel-specific features in their code while they used libgomp's omp.h file. This way users could just add #include "iomp.h" to use exported kmp[c]_ functions. It is not needed for the LLVM project.
>>>
>>> -- Johnny
>>>
>>> -----Original Message-----
>>> From: Jack Howarth [mailto:howarth.mailing.lists at gmail.com]
>>> Sent: Friday, May 29, 2015 1:46 PM
>>> To: Peyton, Jonathan L; openmp-dev at dcs-maillist2.engr.illinois.edu
>>> Subject: iomp.h vs omp.h
>>>
>>> Jonathan,
>>> I have been taking a stab at renaming libiomp5 to libomp locally and am puzzled by a header name conflict. Currently we have...
>>>
>>> runtime/src/include/30/iomp.h.var
>>> runtime/src/include/30/omp.h.var
>>> runtime/src/include/30/iomp_lib.h.var
>>> runtime/src/include/30/omp_lib.h.var
>>> runtime/src/include/40/iomp.h.var
>>> runtime/src/include/40/omp.h.var
>>> runtime/src/include/40/iomp_lib.h.var
>>> runtime/src/include/40/omp_lib.h.var
>>> runtime/src/include/41/iomp.h.var
>>> runtime/src/include/41/omp.h.var
>>> runtime/src/include/41/iomp_lib.h.var
>>> runtime/src/include/41/omp_lib.h.var
>>>
>>> which will produce filename conflicts when eliminating the usage of iomp. What is the purpose of the headers prefixed with 'i'? Is this some legacy cruft from clang-omp which can be dropped as I don't seen any actual usage of the prefixed headers.
>>> Jack
-------------- next part --------------
A non-text attachment was scrubbed...
Name: name_change_v2-expanded.patch
Type: application/octet-stream
Size: 61491 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150530/4bfd2266/attachment.obj>
More information about the Openmp-dev
mailing list