[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