Skip to content

v1.7

Latest
Compare
Choose a tag to compare
@jblueh jblueh released this 07 Feb 16:46

Restructure data of parallel regions and implicit tasks

  • associate tapes, positions, and adjoint access modes with tasks instead of parallel regions
  • extend data of parallel regions by pointers to the parent task and child tasks
  • backend support for querying the current task's data
  • create task data for initial implicit tasks
  • track adjoint access mode entirely via tasks
  • support resetting tasks according to a tape position, to recover previous adjoint access modes

Features

  • track adjoint access mode of initial implicit task
  • support additional sync region and worksharing types
  • support use of mutexes before tool initialization (OMPT backend)
  • support posting messages that are printed during the reverse pass

Instrument

  • implement onSetAdjointAccessMode in OmpLogicOutputInstrument
  • adapt OmpLogicInstrumentInterface and OmpLogicOutputInstrument according to the other changes

Tests

  • run build tests with enabled output instrument
  • tests treat non-empty output on stderr as error (can be disabled)
  • add tests' error output files to gitignore
  • add assertions to adjoint access control tests
  • add TestAdjointAccessControlNested2, TestTaskReset

Fixes

  • fix transport of adjoint access mode into and out of parallel regions
  • fix using directive in second order test driver
  • fix placement of skipParallelHandling decrement

Chore

  • update license headers for 2025
  • update OpDiLib-related publications in README