summaryrefslogtreecommitdiffstats
path: root/openmp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix for KMP_AFFINITY=respect with multiple processor groupsJonathan Peyton2017-05-151-3/+2
| | | | | | | | | An assert() was being tripped when KMP_AFFINITY=respect + Multiple Processor Groups. Let __kmp_affinity_create_proc_group_map() function be able to create address2os object which contains a single group by deleting restriction that process affinity mask must span multiple groups. llvm-svn: 303101
* Remove some outdated commentsJonathan Peyton2017-05-151-11/+0
| | | | llvm-svn: 303086
* Add the .clang-format file which the formatting was based onJonathan Peyton2017-05-151-0/+91
| | | | llvm-svn: 303079
* Clang-format and whitespace cleanup of source codeJonathan Peyton2017-05-1275-54486/+53500
| | | | | | | | | | | | | This patch contains the clang-format and cleanup of the entire code base. Some of clang-formats changes made the code look worse in places. A best effort was made to resolve the bulk of these problems, but many remain. Most of the problems were mangling line-breaks and tabbing of comments. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D32659 llvm-svn: 302929
* [OpenMP] Changes in the plugin interfaceGeorge Rokos2017-05-105-47/+158
| | | | | | | | | | | This patch chagnes the plugin interface so that: 1) future plugins can take advantage of systems with shared CPU/device storage 2) instead of using base addresses, target regions are launched by providing target addresseds and base offsets explicitly. Differential revision: https://reviews.llvm.org/D33028 llvm-svn: 302663
* [OpenMP] libomptarget: test correction for use with OpenMP 4.5George Rokos2017-04-272-2/+2
| | | | | | | | Differential Revision: https://reviews.llvm.org/D32562 Thanks to Sergey Dmitriev for submitting the patch. llvm-svn: 301577
* Fix Hwloc API IncompatibilityJonathan Peyton2017-04-252-5/+11
| | | | | | | | | | | Older Hwloc libraries (< 1.10.0) don't offer the HWLOC_OBJ_NUMANODE nor HWLOC_OBJ_PACKAGE types. Instead they are named HWLOC_OBJ_NODE and HWLOC_OBJ_SOCKET instead. This patch just defines the newer names based on the older names when using an older Hwloc. Differential Revision: https://reviews.llvm.org/D32496 llvm-svn: 301349
* [OpenMP] Optimized default kernel launch parameters in CUDA pluginGeorge Rokos2017-04-251-11/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D32321 llvm-svn: 301321
* [OpenMP] Add missing parenthesis which triggers a compile errorGeorge Rokos2017-04-251-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D32490 llvm-svn: 301318
* [OpenMP] libomptarget: Set ref count for global objects to positive infinityGeorge Rokos2017-04-221-5/+15
| | | | | | Differential Revision: https://reviews.llvm.org/D32326 llvm-svn: 301076
* [OpenMP] libomptarget: Remove obsolete negative device IDs -2/-3George Rokos2017-04-222-16/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D32325 llvm-svn: 301075
* [OpenMP] Run libomptarget regression tests using all available system threads.George Rokos2017-04-221-1/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D32327 llvm-svn: 301074
* Fix crash in invoking microtask on ios arm64.Andrey Churbanov2017-04-172-5/+26
| | | | | | | | Patch by Ni Hui. Differential Revision: https://reviews.llvm.org/D31923 llvm-svn: 300448
* KMP_HW_SUBSET extended with NUMA support when HWLOC enabledAndrey Churbanov2017-04-137-380/+834
| | | | | | Differential Revision: https://reviews.llvm.org/D31600 llvm-svn: 300220
* Test cancellation_for_sections.c expectedly fails on GCCOlga Malysheva2017-04-041-0/+1
| | | | llvm-svn: 299437
* Reset cancellation status for 'parallel', 'sections' and 'for' constracts.Olga Malysheva2017-04-043-0/+71
| | | | | | | | | Without this fix cancellation status for parallel, sections and for persists across construct boundaries. Differential Revision: https://reviews.llvm.org/D31419 llvm-svn: 299434
* Test check-in, comment changedOlga Malysheva2017-04-041-1/+2
| | | | llvm-svn: 299428
* Fix for bug https://llvm.org/bugs/show_bug.cgi?id=32456Andrey Churbanov2017-03-311-0/+5
| | | | | | | | ITT Notify disabled for static build of OpenMP RTL. Differential Revision: https://reviews.llvm.org/D31466 llvm-svn: 299230
* Fix for bug https://llvm.org/bugs/show_bug.cgi?id=30889Andrey Churbanov2017-03-281-1/+1
| | | | | | | | Condition adjusted for Debug assertion. Differential Revision: https://reviews.llvm.org/D29638 llvm-svn: 298915
* GOMP compatibility: add missing OpenMP4.0 task deps handling codePaul Osmialowski2017-03-231-1/+22
| | | | | | Differential Revision: https://reviews.llvm.org/D31071 llvm-svn: 298605
* [OpenMP] CUDA plugin: More descriptive error messagesGeorge Rokos2017-03-221-2/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D31206 llvm-svn: 298527
* [OpenMP] Allow multiple weak symbols to be loaded from the fat binaryGeorge Rokos2017-03-221-10/+9
| | | | | | | | For compatibility with Fortran. Differential Revision: https://reviews.llvm.org/D31205 llvm-svn: 298516
* [OpenMP] CUDA plugin: add include directory for libelfGeorge Rokos2017-03-221-1/+2
| | | | | | | | Allow the user to manually specify where libelf is installed. Differential Revision: https://reviews.llvm.org/D31207 llvm-svn: 298515
* [OpenMP] libomptarget: Disable on MacOS XGeorge Rokos2017-03-211-1/+4
| | | | | | | | Disable compilation of libomptarget on MacOS X. Differential Revision: https://reviews.llvm.org/D31055 llvm-svn: 298411
* Fixed intermittent hang on tests with "target teams if(0)" construct with no ↵Andrey Churbanov2017-03-212-6/+74
| | | | | | | | parallel inside. Differential Revision: https://reviews.llvm.org/D29597 llvm-svn: 298373
* Stride in distribute parallel for loops with no chunk size.Andrey Churbanov2017-03-211-0/+1
| | | | | | | | Patch by George Rokos. Differential Revision: https://reviews.llvm.org/D24486 llvm-svn: 298362
* Minor improvement of KMP_YIELD_NOW() macro.Jonathan Peyton2017-03-202-7/+11
| | | | | | | | | | | This change slightly improves performance of KMP_YIELD_NOW() macro, by using _rdtsc() intrinsic function if possible. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D31008 llvm-svn: 298314
* Fix incorrect initial value of __kmp_affinity_type.Jonathan Peyton2017-03-201-0/+1
| | | | | | | | | | | | | Affinity initialization code expects __kmp_affinity_type has the value affinity_default by default, but the cleanup code does not properly set the value back to affinity_default. This may introduce some issues when multiple roots are trying to initialize/uninitialize the runtime successively. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D31012 llvm-svn: 298313
* Create a git ignore file for openmp runtime.Andrey Churbanov2017-03-111-0/+42
| | | | | | | | Patch by Guansong Zhang. Differential Revision: https://reviews.llvm.org/D30784 llvm-svn: 297562
* Fix assertion failure when 'proclist' is used without 'explicit' in KMP_AFFINITYJonathan Peyton2017-03-101-2/+5
| | | | | | | | | | | | This change fixes an assertion failure the in case KMP_AFFINITY is set with 'proclist' specified but without 'explicit' e.g., KMP_AFFINITY=verbose,proclist=[0-31] Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30404 llvm-svn: 297480
* Fix GNU strerror_r check for Android.Dan Albert2017-03-071-1/+3
| | | | | | | | | | | | | | | | | Summary: Bionic didn't get a GNU style strerror_r until Android M. Until then we unconditionally exposed the POSIX one. Expand the check to account for this. Reviewers: pirama, AndreyChurbanov, jlpeyton Reviewed By: jlpeyton Subscribers: openmp-commits, srhines Differential Revision: https://reviews.llvm.org/D30056 llvm-svn: 297235
* OpenMP version 5.0 addedJonathan Peyton2017-03-0610-12/+2753
| | | | | | | | | | | | Add build option LIBOMP_OMP_VERSION=50, 5.0 headers, and add the year/month associated with OpenMP 5.0 in relevant source locations. Also, remove the deprecated LIBOMP_OMP_VERSION=41 option. Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30450 llvm-svn: 297083
* Mixed type atomic routines added to Windows DLLJonathan Peyton2017-03-062-0/+8
| | | | | | | | Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30408 llvm-svn: 297082
* Add AArch64 support.Paul Osmialowski2017-03-067-1/+26
| | | | | | | | This adds AArch64 support to recently added part of the runtime responsible for offloading to target. This piece of code allows offloading-to-self on AArch64 machines. Differential Revision: https://reviews.llvm.org/D30644 llvm-svn: 297070
* Removing couple unnecessary architecture guards.Jonathan Peyton2017-02-281-2/+2
| | | | | | | | | This section of code (__kmp_test_then_* functions) is guarded by (KMP_ARCH_X86 || KMP_ARCH_X86_64) so it does not make sense to have other architecture guards inside this section. Non-x86 architectures always use intrinsics (__sync_*) llvm-svn: 296525
* [test] Try to link -latomic to provide atomics when availableMichal Gorny2017-02-243-1/+16
| | | | | | | | | | | | | | | | | | | When using -rtlib=libgcc, the fallback implementation of __atomic_* builtins is provided via libatomic (included in GCC). However, neither GCC itself nor clang link libatomic implicitly, and it seems that GCC upstream expects projects to link it explicitly as necessary. Since compiler-rt provides __atomic_* builtins directly in the main library, check if they are provided by the default libraries first. If they are not, check if -latomic is available to provide them and add explicit -latomic for tests in this case. This fixes unresolved __atomic_load() references when running openmp tests on i386 with libgcc backend. Differential Revision: https://reviews.llvm.org/D30083 llvm-svn: 296183
* [OpenMP] Missing virtual destructor in KMPAffinityGeorge Rokos2017-02-221-0/+2
| | | | | | | | Added virtual destructor in a class containing virtual functions. Differential Revision: https://reviews.llvm.org/D30271 llvm-svn: 295896
* [stats] add stats-gathering for static_steal scheduling methodJonathan Peyton2017-02-172-0/+8
| | | | | | | | Add counter to count number of static_steal for loops Add counter for number of chunks executed per static_steal for loop Add counter for number of chunks stolen per static_steal for loop llvm-svn: 295461
* Run-time library part of OpenMP 5.0 task reduction implementation.Andrey Churbanov2017-02-164-1/+602
| | | | | | | | | Added test kmp_task_reduction_nest.cpp which has an example of possible compiler codegen. Differential Revision: https://reviews.llvm.org/D29600 llvm-svn: 295343
* Added an option to bind initial thread at the start of applicationAndrey Churbanov2017-02-161-3/+8
| | | | | | | | via setting envirable KMP_INITIAL_THREAD_BIND=1. Differential Revision: https://reviews.llvm.org/D29665 llvm-svn: 295339
* [OpenMP] libomptarget: Protect parent struct from being deallocatedGeorge Rokos2017-02-151-8/+19
| | | | | | | | Fixed bug due to which a parent struct was deallocated when one of the struct's pointers was being unmapped. Differential Revision: https://reviews.llvm.org/D29914 llvm-svn: 295231
* Enable yield cycle on LinuxJonathan Peyton2017-02-154-11/+14
| | | | | | | | | | | | This change allows the runtime to turn __kmp_yield() on/off repeatedly on Linux. This feature was removed when disabling monitor thread, but there are applications that perform better with this feature on. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D29227 llvm-svn: 295203
* [OpenMP] New Tsan annotations to remove false positive on reduction and barriersJonas Hahnfeld2017-02-152-21/+31
| | | | | | | | | | | Added new ThreadSanitizer annotations to remove false positives with OpenMP reduction. Cleaned up Tsan annotations header file from unused annotations. Patch by Simone Atzeni! Differential Revision: https://reviews.llvm.org/D29202 llvm-svn: 295158
* libomptarget: Disable on Win32Hans Wennborg2017-02-101-1/+4
| | | | | | | | | It's not supported, and currently breaks the weekly LLVM snapshot builds. Differential Revision: https://reviews.llvm.org/D29801 llvm-svn: 294758
* [libomptarget] Align test code with runtime/Jonas Hahnfeld2017-02-072-13/+13
| | | | | | | | | | | | | This change allows setting LIBOMPTARGET_LLVM_LIT_EXECUTABLE and LIBOMPTARGET_FILECHECK_EXECUTABLE as full path. It also honors OPENMP_LLVM_TOOLS_DIR which is meant as a common configuration for both libomp and libomptarget. Maybe this should be done in a common CMake module, but I'm no expert here. Differential Revision: https://reviews.llvm.org/D29172 llvm-svn: 294284
* Fix a race in shutdown when tasking is used.Andrey Churbanov2017-02-064-1/+41
| | | | | | | | Patch by Terry Wilmarth. Differential Revision: https://reviews.llvm.org/D28377 llvm-svn: 294214
* [OpenMP] Redefined macro warning in libomptargetGeorge Rokos2017-02-011-0/+3
| | | | | | | | Fixed compilation warning in libomptarget. Differential Revision: https://reviews.llvm.org/D29353 llvm-svn: 293747
* [OpenMP] Initial implementation of OpenMP offloading library - libomptarget ↵George Rokos2017-02-0110-0/+1249
| | | | | | | | | | plugins. This is the patch upstreaming the plugins part of libomptarget (CUDA, generic-elf-64). Differential Revision: https://reviews.llvm.org/D14253 llvm-svn: 293724
* Correct wrong comment in bug_nested_proxy_task.cJonas Hahnfeld2017-01-301-1/+1
| | | | | | The nested proxy task does not have dependencies. llvm-svn: 293472
* [libomptarget] Fix Debug build with glibc < 2.18Jonas Hahnfeld2017-01-301-0/+1
| | | | | | | | | | | glibc < 2.18 is C99 compliant and only provides the format macros in C++ if __STDC_FORMAT_MACROS is defined. This change fixes the debug build for GCC 4.8, GCC 6.2 and Clang 3.9.1 that were previously broken on my machine. It shows no regression for libc++ >= 4.0.0 which has a fix since September: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160926/171659.html llvm-svn: 293468
OpenPOWER on IntegriCloud