[Openmp-dev] OpenMP runtime porting and housekeeping status update

Alp Toker alp at nuanti.com
Tue Mar 4 04:32:47 PST 2014


Hi

This the summary and status update I promised for work done on the LLVM 
OpenMP runtime since December's code drop.

We're now building on FreeBSD and OS X with clang ToT, and 
KMP_AFFINITY_SUPPORTED has been introduced to selectively enable/disable 
the feature which simplifies the addition of new ports. Apart from typo 
fixes to some strings there have been no functional changes to existing 
platforms.

(The commits list isn't working so I'm posting a log of recent changes 
at the end of this mail.)

These topics have come up during the work where feedback would be 
appreciated:

  * Open questions:
      o "GCC compatibility (versioned symbols)" - which platforms do we
        want this enabled on? It's currently only for KMP_OS_LINUX but
        I've noticed some third-party forks disable it completely.
      o C++ code in C sources: __kmp_join_call() in kmp.h has a C++
        default argument so the C sources currently have to be compiled
        as C++. The options are either to (a) make the header
        C-compatible or (b) switch the remainder of the sources to C++
        -- any preferences?
  * FreeBSD tasks:
      o GUIDED_ANALYTICAL_WORKAROUND: We need disclosure of this problem
        report to complete support for FreeBSD. Jim, could you provide a
        summary of Intel C75803?
      o KMP_TDATA_GTID implementation with TLS for FreeBSD
      o __kmp_is_address_mapped() implementation for FreeBSD
  * Roadmap:
      o CMake build system: For integration with the LLVM project a
        CMake build system has been proposed. There's an early version
        in the works now.
      o Release plan: Are we aiming for inclusion in +1 (3.5)? soname,
        versioning?



And the commit log:


commit 2c3c8184e8811ee920ba25e2d5d049bb9e69a6e9
Author: Alp Toker <alp at nuanti.com>
Date:   Sun Mar 2 04:12:06 2014 +0000

     Make affinity support conditional on KMP_AFFINITY_SUPPORTED

     The feature was previously guarded with KMP_OS_LINUX || 
KMP_OS_WINDOWS but can
     now be enabled/disabled independently to simplify porting.

     Completes the work started in r202478.

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202613 
91177308-0d34-0410-b5e6-96231b3b80d8

commit 97a872b516f412617939b11740f4e552f5c01513
Author: Alp Toker <alp at nuanti.com>
Date:   Fri Feb 28 09:42:41 2014 +0000

     Add support for FreeBSD

     Port the OpenMP runtime to FreeBSD along with associated build 
system changes.

     Also begin to generalize affinity capabilities so they aren't tied 
explicitly
     to Windows and Linux.

     The port builds with stock clang and gmake and has no additional 
runtime
     dependencies.

     All but a handful of the validation suite tests are now passing on 
FreeBSD 10
     x86_64.

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202478 
91177308-0d34-0410-b5e6-96231b3b80d8

commit 816f7882c3c7f262a82b272818dae416c5bd8e8a
Author: Alp Toker <alp at nuanti.com>
Date:   Tue Feb 25 22:04:37 2014 +0000

     Restore string match behavior following changes in r202018

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202197 
91177308-0d34-0410-b5e6-96231b3b80d8

commit e49a05da06734f67e5937ae8bb641f6ff1ce04c5
Author: Alp Toker <alp at nuanti.com>
Date:   Tue Feb 25 00:38:58 2014 +0000

     Silence -Wdeprecated-register warnings with clang

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202095 
91177308-0d34-0410-b5e6-96231b3b80d8

commit 936e0d0480372239d90b1e2a46a0706364da6e66
Author: Alp Toker <alp at nuanti.com>
Date:   Mon Feb 24 12:29:14 2014 +0000

     Fix linking and get the build working on OS X

     No version of clang installed by XCode, ToT or otherwise recognizes 
the flag
     '-no-intel-extensions' and more recent versions error out on it.

     Prospectively conditionalize the flag behind "icc" to fix the 
mainline build
     with clang.

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202030 
91177308-0d34-0410-b5e6-96231b3b80d8

commit 724ef6a592261750079e17c369c6039211ec646b
Author: Alp Toker <alp at nuanti.com>
Date:   Mon Feb 24 12:29:09 2014 +0000

     Fix clang compiler detection on OS X

     check-tools.pl was hard-wired to expect the Apple compiler version 
string which
     doesn't make much sense, especially for a LLVM project.

     The correctness and value of these compiler version checks still 
isn't clear
     following this build fix but they are retained for now.

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202029 
91177308-0d34-0410-b5e6-96231b3b80d8

commit c3b8311f916acba81315bbdf1d741cdf0438128f
Author: Alp Toker <alp at nuanti.com>
Date:   Mon Feb 24 11:47:00 2014 +0000

     clang build fix: don't check for gnu tools by default

     gcc/g++ don't exist on modern OS X development environments so the 
failed
     checks for gcc were causing the build to break even with 'make 
compiler=clang'.

     (The rationale for the check refers to a file 'touch-test.c' which 
no longer
     exists in the codebase.)

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202027 
91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bf04f627e8005bc19be5ced4eb6ca8fe1812559
Author: Alp Toker <alp at nuanti.com>
Date:   Mon Feb 24 10:40:15 2014 +0000

     Fix typos

     git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@202018 
91177308-0d34-0410-b5e6-96231b3b80d8


Alp.

-- 
http://www.nuanti.com
the browser experts

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20140304/5447b540/attachment.html>


More information about the Openmp-dev mailing list