<div dir="ltr">Is there a significant barrier to building both OMPT=on and OMPT=off binaries and LD_PRELOAD-ing the former when the user actually wants it?  This is basically what happens with Linux packages that don't have debug symbols by default (and users who want them have to install the dbg package) and some MPI libraries.<div><div><br></div><div>Jeff</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 19, 2017 at 1:22 PM, Joachim Protze via Openmp-dev <span dir="ltr"><<a href="mailto:openmp-dev@lists.llvm.org" target="_blank">openmp-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, this seems to be similar as for x86. You can add multiple offset prints. The test will match any of these printed addresses.<br>
<br>
- Joachim<div class="HOEnZb"><div class="h5"><br>
<br>
On 12/19/2017 09:36 PM, Paul Osmialowski wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yeah, you're right initializing this variable to zero fixes failing test case. However, this uncovers flaw in my snippet. Some test cases have failed as additional str instruction was added after nop:<br>
<br>
     libomp :: ompt/misc/control_tool.c<br>
     libomp :: ompt/synchronization/taskwait.<wbr>c<br>
     libomp :: ompt/synchronization/test_lock<wbr>.c<br>
     libomp :: ompt/synchronization/test_nest<wbr>_lock_parallel.c<br>
<br>
Will look at this later as I'm waiting for my flitht now.<br>
<br>
On 19/12/2017 19:51, Joachim Protze wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Probably my fault, there is an uninitialized use of "condition":<br>
<br>
<a href="https://github.com/llvm-mirror/openmp/blob/master/runtime/test/ompt/parallel/nested_lwt.c#L11" rel="noreferrer" target="_blank">https://github.com/llvm-mirror<wbr>/openmp/blob/master/runtime/<wbr>test/ompt/parallel/nested_lwt.<wbr>c#L11</a> <br>
<br>
Please initialize to 0 and test again.<br>
<br>
Thanks<br>
Joachim<br>
<br>
<br>
On 12/19/2017 03:15 PM, Paul Osmialowski via Openmp-dev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Nah, it blocks forever on nested_lwt.c when I started it on 96-cores ARMv8.1 machine. BTW, the missing part of callbacks.h for tests I added like this:<br>
<br>
diff --git a/runtime/test/ompt/callback.h b/runtime/test/ompt/callback.h<br>
index 8481fb4..9a560aa 100755<br>
--- a/runtime/test/ompt/callback.h<br>
+++ b/runtime/test/ompt/callback.h<br>
@@ -105,6 +105,11 @@ ompt_label_##id:<br>
  #define print_possible_return_addresse<wbr>s(addr) \<br>
    printf("%" PRIu64 ": current_address=%p\n", ompt_get_thread_data()->value, \<br>
           ((char *)addr) - 8)<br>
+#elif KMP_ARCH_AARCH64<br>
+// On AArch64 the NOP instruction is 4 bytes long.<br>
+#define print_possible_return_addresse<wbr>s(addr) \<br>
+  printf("%" PRIu64 ": current_address=%p\n", ompt_get_thread_data()->value, \<br>
+         ((char *)addr) - 4)<br>
  #else<br>
  #error Unsupported target architecture, cannot determine address offset!<br>
  #endif<br>
<br>
On 18/12/2017 13:56, Jonas Hahnfeld via Openmp-dev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Does it pass the tests? I doubt that because it needs modifications as Joachim pointed out (had to do the same for PPC64).<br>
<br>
Jonas<br>
<br>
Am 2017-12-18 14:52, schrieb Pawel Osmialowski:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Guys,<br>
<br>
For more than a year I was always building libomp with<br>
-DLIBOMP_OMPT_SUPPORT=ON for our AArch64 machines and I'd happily see<br>
it enabled by default.<br>
<br>
Cheers,<br>
Paul<br>
<br>
<br>
On Mon, 2017-12-18 at 14:23 +0100, Jonas Hahnfeld wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Adding Paul, maybe he can help here. Though switching the default<br>
for<br>
x86/x86_64 and ppc64 doesn't mean it has to work on AArch64 for the<br>
6.0<br>
release, it will just stay deactivated as for MIPS(64).<br>
<br>
Jonas<br>
<br>
Am 2017-12-18 13:02, schrieb Cownie, James H via Openmp-dev:<br>
> The ARM folks should chip in. This should clearly be tested on<br>
> AARCH64<br>
> as well!<br>
><br>
> -- Jim<br>
><br>
> Jim Cownie <<a href="mailto:james.h.cownie@intel.com" target="_blank">james.h.cownie@intel.com</a>><br>
> SSG/DPD/TCAR (Technical Computing, Analyzers, and Runtimes)<br>
> Tel: +44 117 9071438<br>
><br>
> -----Original Message-----<br>
> From: Openmp-dev [mailto:<a href="mailto:openmp-dev-bounces@lists.llvm.org" target="_blank">openmp-dev-bounces@lis<wbr>ts.llvm.org</a>] On<br>
> Behalf<br>
> Of Joachim Protze via Openmp-dev<br>
> Sent: Monday, December 18, 2017 11:58 AM<br>
> To: Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org" target="_blank">openmp-dev@lists.llvm.org</a>><br>
> Subject: [Openmp-dev] Enabling OMPT by default<br>
><br>
> Dear all,<br>
><br>
> OpenMP 5.0 will introduce OMPT, the OpenMP tools interface. The<br>
> current<br>
> implementation in the LLVM/OpenMP runtime is at the level of<br>
> OpenMP<br>
> TR6,<br>
> as published in November (with some known issues, were we have<br>
> patches<br>
> under review).<br>
> Currently, this feature is deactivated by default<br>
> (LIBOMP_OMPT_SUPPORT).<br>
> According to overhead measurements performed by Intel and on some<br>
> of<br>
> our<br>
> machines, this feature introduces a worst case runtime overhead of<br>
> ~4%,<br>
> but for most cases basically no overhead.<br>
> As I understood, some of the build-bots run the tests when the<br>
> feature<br>
> is enabled. We locally test the changes continuously with different<br>
> compiler versions (icc/gcc/clang), but only on x86_64 architecture.<br>
> Further, this feature was tested on ppc64.<br>
><br>
> How should we proceed to enable this feature by default, and get it<br>
> tested on other architectures?<br>
> For the 6.0 release, I would like to enable OMPT at least for the<br>
> supported platforms x86/x86_64 and ppc64.<br>
><br>
><br>
> We would also appreciate collaboration with vendors/users of other<br>
> platforms, to ensure the code is running there.<br>
><br>
> Typically, only the architecture specific offset needs to be added:<br>
> <a href="https://github.com/llvm-mirror/openmp/blob/master/runtime/test/ompt" rel="noreferrer" target="_blank">https://github.com/llvm-mirror<wbr>/openmp/blob/master/runtime/<wbr>test/ompt</a><br>
> /callback.h#L95<br>
><br>
> Looking forward to your feedback,<br>
><br>
> Joachim<br>
> ______________________________<wbr>_________________<br>
> Openmp-dev mailing list<br>
> <a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/openmp-dev</a><br>
> ------------------------------<wbr>------------------------------<wbr>-----<br>
> ----<br>
> Intel Corporation (UK) Limited<br>
> Registered No. 1134945 (England)<br>
> Registered Office: Pipers Way, Swindon SN3 1RJ<br>
> VAT No: 860 2173 47<br>
><br>
> This e-mail and any attachments may contain confidential material<br>
> for<br>
> the sole use of the intended recipient(s). Any review or<br>
> distribution<br>
> by others is strictly prohibited. If you are not the intended<br>
> recipient, please contact the sender and delete all copies.<br>
> ______________________________<wbr>_________________<br>
> Openmp-dev mailing list<br>
> <a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/openmp-dev</a><br>
</blockquote>
IMPORTANT NOTICE: The contents of this email and any attachments are<br>
confidential and may also be privileged. If you are not the intended<br>
recipient, please notify the sender immediately and do not disclose<br>
the contents to any other person, use it for any purpose, or store or<br>
copy the information in any medium. Thank you.<br>
</blockquote>
______________________________<wbr>_________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/openmp-dev</a><br>
</blockquote>
______________________________<wbr>_________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/openmp-dev</a><br>
</blockquote>
<br>
</blockquote></blockquote>
<br>
______________________________<wbr>_________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/openmp-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div>