Skip to content
  1. Dec 27, 2017
  2. Dec 24, 2017
  3. Dec 22, 2017
  4. Dec 21, 2017
  5. Dec 18, 2017
  6. Dec 13, 2017
  7. Dec 08, 2017
    • Jonas Hahnfeld's avatar
      [CMake] Remove legacy LIBOMP_LIT_ARGS · 2fcce313
      Jonas Hahnfeld authored
      The bots have been updated, this option isn't needed anymore.
      
      llvm-svn: 320153
      2fcce313
    • Jonas Hahnfeld's avatar
      Use hyperbarrier by default on all architectures · e628ab4c
      Jonas Hahnfeld authored
      All architectures except x86_64 used the linear barrier implementation
      by default which doesn't give good performance for a larger number
      of threads.
      
      Improvements for PARALLEL overhead (EPCC) with this patch on a Power8
      system (2 sockets x 10 cores x 8 threads, OMP_PLACES=cores)
      
       20 threads:  4.55us -> 3.49us
       40 threads:  8.84us -> 4.06us
       80 threads: 19.18us -> 4.74us
      160 threads: 54.22us -> 6.73us
      
      Differential Revision: https://reviews.llvm.org/D40358
      
      llvm-svn: 320152
      e628ab4c
    • Jonas Hahnfeld's avatar
      Fix thread affinity on non-x86 Linux · ce528acf
      Jonas Hahnfeld authored
      To make thread affinity work according to the OpenMP spec, the
      runtime needs information about the hardware topology. On Linux
      the default way is to parse /proc/cpuinfo which contains this
      information for x86 machines but (at least) not for AArch64 and
      Power architectures.
      
      Fortunately, there is a different code path which is able to get
      that data from sysfs. The needed patch has landed in 2006 for
      Linux 2.6.16 which is safe to assume nowadays (even RHEL 5 had
      a kernel version derived from 2.6.18, and we are now at RHEL 7!).
      
      Differential Revision: https://reviews.llvm.org/D40357
      
      llvm-svn: 320151
      ce528acf
    • Jonas Hahnfeld's avatar
      Add missing memory barrier for queuing locks · 86c30782
      Jonas Hahnfeld authored
      Otherwise I see hangs in the omp_single_copyprivate test when
      compiling in release mode. With the debug assertions, I get a
      failure `head > 0 && tail > 0`.
      
      Differential Revision: https://reviews.llvm.org/D40722
      
      llvm-svn: 320150
      86c30782
  8. Dec 06, 2017
  9. Dec 05, 2017
    • Jonas Hahnfeld's avatar
      Fix alignment in teams-reduction.c test · 241d1d9e
      Jonas Hahnfeld authored
      The runtime will use the global kmp_critical_name as a lock and
      tries to atomically store a pointer in there. This will fail
      if the global is only aligned by 4 bytes, the size of one int32_t
      element. Use a union to ensure the global is aligned to the size
      of a pointer on the current platform.
      
      llvm-svn: 319811
      241d1d9e
    • Jonas Hahnfeld's avatar
      Fix PR30890: Reduction across teams hangs · a4ca525c
      Jonas Hahnfeld authored
      __kmpc_reduce_nowait() correctly swapped the teams for reductions
      in a teams construct. Apply the same logic to __kmpc_reduce() and
      __kmpc_reduce_end().
      
      Differential Revision: https://reviews.llvm.org/D40753
      
      llvm-svn: 319788
      a4ca525c
  10. Nov 30, 2017
  11. Nov 29, 2017
  12. Nov 25, 2017
  13. Nov 22, 2017
Loading