[Openmp-dev] Some more patches
Peyton, Jonathan L
jonathan.l.peyton at intel.com
Fri Jan 30 15:42:17 PST 2015
These patches have more meat to them.
two_task_teams.patch - The tt_state flag is removed and replaced by an array of two task_team pointers in the team struct. Each thread's local th_task_team points to one of those two task_teams on the team struct, and the thread's th_task_state indicates which one. With this change, inside a barrier, the master thread can now change out the task_team on the team struct at any time, because the threads will switch to look at the other task_team. This gives us some flexibility in implementing barrier algorithms that don't have separate gather and release phases, like dissemination barriers.
backtrace_fix_cfi.patch - Inline assembly breaks back trace for OpenMP applications. This change adds CFI directives for stack tracing.
omp_is_initial_device.patch - omp_is_initial_device() was implemented based on operating system:
We use _Offload_get_device_number() on Linux.
And on other operating systems, omp_is_initial_device() always returns 1.
debugger_struct_update.patch - updates the kmp_omp_struct_info_t for debuggers. Kmp_omp_struct_info_t is a structure that was prepared and exported as a static symbol
to be used for interfacing with debuggers. In this change, kmp_omp_struct_info_t structure was fixed to reflect the current OpenMP RTL structures.
loop_out_of_bounds_fix.patch - small patch to fix a loop-out-of-bounds error for Fortran.
Applying patches (all independent):
$ patch -p0 < two_task_teams.patch
$ patch -p0 < backtrace_fix_cfi.patch
$ patch -p0 < omp_is_initial_device.patch
$ patch -p0 < debugger_struct_update.patch
$ patch -p0 < loop_out_of_bounds_fix.patch
-- Johnny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: two_task_teams.patch
Type: application/octet-stream
Size: 38478 bytes
Desc: two_task_teams.patch
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: backtrace_fix_cfi.patch
Type: application/octet-stream
Size: 6861 bytes
Desc: backtrace_fix_cfi.patch
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omp_is_initial_device.patch
Type: application/octet-stream
Size: 8045 bytes
Desc: omp_is_initial_device.patch
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debugger_struct_update.patch
Type: application/octet-stream
Size: 6216 bytes
Desc: debugger_struct_update.patch
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loop_out_of_bounds_fix.patch
Type: application/octet-stream
Size: 516 bytes
Desc: loop_out_of_bounds_fix.patch
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150130/e92c379e/attachment-0004.obj>
More information about the Openmp-dev
mailing list