<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/openmp/runtime/src/ompt-general.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[OpenMP][OMPT][OMPD] Fix frame flags for OpenMP tool APIs (#114118)</title>
<updated>2025-02-27T17:47:57+00:00</updated>
<author>
<name>Joachim</name>
<email>jenke@itc.rwth-aachen.de</email>
</author>
<published>2025-02-27T17:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=12a9e2adc3842aee4d6ae01a33eb3103e2224af9'/>
<id>12a9e2adc3842aee4d6ae01a33eb3103e2224af9</id>
<content type='text'>
In several cases the flags entries in ompt_frame_t are not initialized.
According to @jdelsign the address provided as reenter and exit address
is the canonical frame address (cfa) rather than a "framepointer". This
patch makes sure that the flags entry is always initialized and changes
the value from ompt_frame_framepointer to ompt_frame_cfa.

The assertion in the tests makes sure that the flags are always set,
when a tool (callback.h in this case) looks at the value.

Fixes #89058</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In several cases the flags entries in ompt_frame_t are not initialized.
According to @jdelsign the address provided as reenter and exit address
is the canonical frame address (cfa) rather than a "framepointer". This
patch makes sure that the flags entry is always initialized and changes
the value from ompt_frame_framepointer to ompt_frame_cfa.

The assertion in the tests makes sure that the flags are always set,
when a tool (callback.h in this case) looks at the value.

Fixes #89058</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Using `SimpleVLA` to handle vla usage in ompt-general.cpp. (#114583)</title>
<updated>2024-11-04T17:42:16+00:00</updated>
<author>
<name>Daniel Chen</name>
<email>cdchen@ca.ibm.com</email>
</author>
<published>2024-11-04T17:42:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d3d8103d533280f322383e35cf5a9fe3075e236c'/>
<id>d3d8103d533280f322383e35cf5a9fe3075e236c</id>
<content type='text'>
The `openmp` runtime failed to build on LoP with LLVM18 on LoP due to
the addition of `-Wvla-cxx-extension` as
```
llvm-project/openmp/runtime/src/ompt-general.cpp:711:15: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
  711 |   int tmp_ids[ids_size];
      |               ^~~~~~~~
llvm-project/openmp/runtime/src/ompt-general.cpp:711:15: note: function parameter 'ids_size' with unknown value cannot be used in a constant expression
llvm-project/openmp/runtime/src/ompt-general.cpp:704:65: note: declared here
  704 | OMPT_API_ROUTINE int ompt_get_place_proc_ids(int place_num, int ids_size,
      |                                                                 ^
1 error generated.
```

This patch is to ignore the checking against this usage.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `openmp` runtime failed to build on LoP with LLVM18 on LoP due to
the addition of `-Wvla-cxx-extension` as
```
llvm-project/openmp/runtime/src/ompt-general.cpp:711:15: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
  711 |   int tmp_ids[ids_size];
      |               ^~~~~~~~
llvm-project/openmp/runtime/src/ompt-general.cpp:711:15: note: function parameter 'ids_size' with unknown value cannot be used in a constant expression
llvm-project/openmp/runtime/src/ompt-general.cpp:704:65: note: declared here
  704 | OMPT_API_ROUTINE int ompt_get_place_proc_ids(int place_num, int ids_size,
      |                                                                 ^
1 error generated.
```

This patch is to ignore the checking against this usage.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Miscellaneous small code improvements (#95603)</title>
<updated>2024-08-15T15:42:22+00:00</updated>
<author>
<name>Hansang Bae</name>
<email>hansang.bae@intel.com</email>
</author>
<published>2024-08-15T15:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=598970904736f3535939f6a5525022219e4ae517'/>
<id>598970904736f3535939f6a5525022219e4ae517</id>
<content type='text'>
Removes a few uninitialized variables, possible resource leaks, and
redundant code.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removes a few uninitialized variables, possible resource leaks, and
redundant code.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] [OMPT] Callback registration should not depend on the device init callback. (#96371)</title>
<updated>2024-07-01T17:07:05+00:00</updated>
<author>
<name>dhruvachak</name>
<email>Dhruva.Chakrabarti@amd.com</email>
</author>
<published>2024-07-01T17:07:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=946f5d111d5e3cb19055dc78959d9ee5a19c163a'/>
<id>946f5d111d5e3cb19055dc78959d9ee5a19c163a</id>
<content type='text'>
Even if the device init callback is not registered, a tool should be
allowed to register other callbacks.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even if the device init callback is not registered, a tool should be
allowed to register other callbacks.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] [OMPT] [6/8] Added callback support for target data operations, target submit, and target regions.</title>
<updated>2023-07-21T10:24:12+00:00</updated>
<author>
<name>Michael Halkenhaeuser</name>
<email>MichaelGerald.Halkenhauser@amd.com</email>
</author>
<published>2022-06-08T23:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=453a75dc52e73a664505ebb196c93ff952754909'/>
<id>453a75dc52e73a664505ebb196c93ff952754909</id>
<content type='text'>
This patch adds support for invoking target callbacks but does not yet
invoke them. A new structure OmptInterface has been added that tracks
thread local states including correlation ids. This structure defines
methods that will be called from the device independent target library
with information related to a target entry point for which a callback
is invoked. These methods in turn use the callback functions maintained
by OmptDeviceCallbacksTy to invoke the tool supplied callbacks.

Depends on D124652

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
With contributions from:
Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;

Differential Revision: https://reviews.llvm.org/D127365
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for invoking target callbacks but does not yet
invoke them. A new structure OmptInterface has been added that tracks
thread local states including correlation ids. This structure defines
methods that will be called from the device independent target library
with information related to a target entry point for which a callback
is invoked. These methods in turn use the callback functions maintained
by OmptDeviceCallbacksTy to invoke the tool supplied callbacks.

Depends on D124652

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
With contributions from:
Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;

Differential Revision: https://reviews.llvm.org/D127365
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] [OMPT] [amdgpu] [5/8] Implemented device init/fini/load callbacks</title>
<updated>2023-07-11T11:13:22+00:00</updated>
<author>
<name>Michael Halkenhaeuser</name>
<email>MichaelGerald.Halkenhauser@amd.com</email>
</author>
<published>2023-06-20T16:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=142faf56f50054adf088e86993121fee381b6c60'/>
<id>142faf56f50054adf088e86993121fee381b6c60</id>
<content type='text'>
Added support in the generic plugin to invoke registered callbacks.

Depends on D124070

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Differential Revision: https://reviews.llvm.org/D124652
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added support in the generic plugin to invoke registered callbacks.

Depends on D124070

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Differential Revision: https://reviews.llvm.org/D124652
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] [OMPT] [2/8] Implemented a connector for communication of OMPT callbacks between libraries.</title>
<updated>2022-11-15T22:21:55+00:00</updated>
<author>
<name>Dhruva Chakrabarti</name>
<email>Dhruva.Chakrabarti@amd.com</email>
</author>
<published>2022-11-15T20:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5b67bce787e4eeee1222c78bee7c0e9bc5563a3a'/>
<id>5b67bce787e4eeee1222c78bee7c0e9bc5563a3a</id>
<content type='text'>
This is part of a set of patches implementing OMPT target callback support and has been split out of the originally submitted https://reviews.llvm.org/D113728. The overall design can be found in https://rice.app.box.com/s/pf3gix2hs4d4o1aatwir1set05xmjljc

The purpose of this patch is to provide a way to register tool-provided callbacks into libomp when libomptarget is loaded.

Introduced a cmake variable LIBOMPTARGET_OMPT_SUPPORT that can be used to control OMPT target support. It follows host OMPT support, controlled by LIBOMP_HAVE_OMPT_SUPPORT.

Added a connector that can be used to communicate between OMPT implementations in libomp and libomptarget or libomptarget and a plugin.

Added a global constructor in libomptarget that uses the connector to force registration of tool-provided callbacks in libomp. A pair of init and fini functions are provided to libomp as part of the connect process which will be used to register the tool-provided callbacks in libomptarget.

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Reviewed By: dreachem, jhuber6

Differential Revision: https://reviews.llvm.org/D123572
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is part of a set of patches implementing OMPT target callback support and has been split out of the originally submitted https://reviews.llvm.org/D113728. The overall design can be found in https://rice.app.box.com/s/pf3gix2hs4d4o1aatwir1set05xmjljc

The purpose of this patch is to provide a way to register tool-provided callbacks into libomp when libomptarget is loaded.

Introduced a cmake variable LIBOMPTARGET_OMPT_SUPPORT that can be used to control OMPT target support. It follows host OMPT support, controlled by LIBOMP_HAVE_OMPT_SUPPORT.

Added a connector that can be used to communicate between OMPT implementations in libomp and libomptarget or libomptarget and a plugin.

Added a global constructor in libomptarget that uses the connector to force registration of tool-provided callbacks in libomp. A pair of init and fini functions are provided to libomp as part of the connect process which will be used to register the tool-provided callbacks in libomptarget.

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Reviewed By: dreachem, jhuber6

Differential Revision: https://reviews.llvm.org/D123572
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[OpenMP] [OMPT] [2/8] Implemented a connector for communication of OMPT callbacks between libraries."</title>
<updated>2022-11-01T15:59:58+00:00</updated>
<author>
<name>Dhruva Chakrabarti</name>
<email>Dhruva.Chakrabarti@amd.com</email>
</author>
<published>2022-11-01T15:59:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=88e557cbc94095e4dd933eac30247c6ccb0bb56f'/>
<id>88e557cbc94095e4dd933eac30247c6ccb0bb56f</id>
<content type='text'>
This reverts commit f94c2679cb1db92ce4103487bf0247eca6e4d722.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit f94c2679cb1db92ce4103487bf0247eca6e4d722.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] [OMPT] [2/8] Implemented a connector for communication of OMPT callbacks between libraries.</title>
<updated>2022-10-31T17:33:23+00:00</updated>
<author>
<name>Dhruva Chakrabarti</name>
<email>Dhruva.Chakrabarti@amd.com</email>
</author>
<published>2022-06-17T23:05:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f94c2679cb1db92ce4103487bf0247eca6e4d722'/>
<id>f94c2679cb1db92ce4103487bf0247eca6e4d722</id>
<content type='text'>
This is part of a set of patches implementing OMPT target callback support and has been split out of the originally submitted https://reviews.llvm.org/D113728. The overall design can be found in https://rice.app.box.com/s/pf3gix2hs4d4o1aatwir1set05xmjljc

The purpose of this patch is to provide a way to register tool-provided callbacks into libomp when libomptarget is loaded.

Introduced a cmake variable LIBOMPTARGET_OMPT_SUPPORT that can be used to control OMPT target support. It follows host OMPT support, controlled by LIBOMP_HAVE_OMPT_SUPPORT.

Added a connector that can be used to communicate between OMPT implementations in libomp and libomptarget or libomptarget and a plugin.

Added a global constructor in libomptarget that uses the connector to force registration of tool-provided callbacks in libomp. A pair of init and fini functions are provided to libomp as part of the connect process which will be used to register the tool-provided callbacks in libomptarget.

Depends on D123429

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Reviewed By: dreachem

Differential Revision: https://reviews.llvm.org/D123572
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is part of a set of patches implementing OMPT target callback support and has been split out of the originally submitted https://reviews.llvm.org/D113728. The overall design can be found in https://rice.app.box.com/s/pf3gix2hs4d4o1aatwir1set05xmjljc

The purpose of this patch is to provide a way to register tool-provided callbacks into libomp when libomptarget is loaded.

Introduced a cmake variable LIBOMPTARGET_OMPT_SUPPORT that can be used to control OMPT target support. It follows host OMPT support, controlled by LIBOMP_HAVE_OMPT_SUPPORT.

Added a connector that can be used to communicate between OMPT implementations in libomp and libomptarget or libomptarget and a plugin.

Added a global constructor in libomptarget that uses the connector to force registration of tool-provided callbacks in libomp. A pair of init and fini functions are provided to libomp as part of the connect process which will be used to register the tool-provided callbacks in libomptarget.

Depends on D123429

Patch from John Mellor-Crummey &lt;johnmc@rice.edu&gt;
(With contributions from Dhruva Chakrabarti &lt;Dhruva.Chakrabarti@amd.com&gt;)

Reviewed By: dreachem

Differential Revision: https://reviews.llvm.org/D123572
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP][libomp] Parameterize affinity functions</title>
<updated>2022-10-28T20:21:06+00:00</updated>
<author>
<name>Jonathan Peyton</name>
<email>jonathan.l.peyton@intel.com</email>
</author>
<published>2022-08-01T22:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=174502fc14d08ad4aeee81a2ff7e551138b77152'/>
<id>174502fc14d08ad4aeee81a2ff7e551138b77152</id>
<content type='text'>
This patch parameterizes the affinity initialization code to allow multiple
affinity settings. Almost all global affinity settings are consolidated
and put into a structure kmp_affinity_t. This is in anticipation of the
addition of hidden helper affinity which will have the same syntax and
semantics as KMP_AFFINITY only for the hidden helper team.

Differential Revision: https://reviews.llvm.org/D135109
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch parameterizes the affinity initialization code to allow multiple
affinity settings. Almost all global affinity settings are consolidated
and put into a structure kmp_affinity_t. This is in anticipation of the
addition of hidden helper affinity which will have the same syntax and
semantics as KMP_AFFINITY only for the hidden helper team.

Differential Revision: https://reviews.llvm.org/D135109
</pre>
</div>
</content>
</entry>
</feed>
