public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/105662] New: [RFC][OpenMP][OpenMP] - permit disabling host-fallback mode?
@ 2022-05-19 15:13 burnus at gcc dot gnu.org
  2022-05-20  6:31 ` [Bug middle-end/105662] " rguenth at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: burnus at gcc dot gnu.org @ 2022-05-19 15:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105662

            Bug ID: 105662
           Summary: [RFC][OpenMP][OpenMP] - permit disabling host-fallback
                    mode?
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: openacc, openmp
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org, tschwinge at gcc dot gnu.org
  Target Milestone: ---

The following issue came up / was mentioned elsewhere:

   It can be useful do disable host fallback
   and generate only device/nonhost versions
   for (OpenMP) target / (OpenACC) compute regions.

Some other closed-source compilers have this feature and Clang recently got
that
feature.

Some users seem to interested in this to avoid creating separate functions –
and
then using 'omp declare variant' / OpenACC's 'bind' clause for them.

Additionally, some might prefer it to effectively force mandatory on-device
calculation and to save some bytes from the generated binary.


However, I note that the (main) reason that Clang got it was a different one
according to the reasoning given in the commit:

https://github.com/llvm/llvm-project/commit/47d66255701a5cfeab6c05e3642a2cccf7a4c09f
    Date:   Thu Apr 21 20:13:33 2022 -0400

    [OpenMP] Add options to only compile the host or device when offloading

    OpenMP recently moved to the new offloading driver, this had the effect
    of making it more difficult to inspect intermediate code for the device.
    This patch adds `-foffload-host-only` and `-foffload-device-only` to
    control which sides get compiled. This will allow users to more easily
    inspect output without needing the temp files.

    Reviewed By: tra

    Differential Revision: https://reviews.llvm.org/D124220

It uses:

def offload_device_only : Flag<["--"], "offload-device-only">,
  HelpText<"Only compile for the offloading device.">;

def offload_host_only : Flag<["--"], "offload-host-only">,
  HelpText<"Only compile for the offloading host.">;

def offload_host_device : Flag<["--"], "offload-host-device">,
  HelpText<"Only compile for the offloading host.">;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug middle-end/105662] [RFC][OpenMP][OpenMP] - permit disabling host-fallback mode?
  2022-05-19 15:13 [Bug middle-end/105662] New: [RFC][OpenMP][OpenMP] - permit disabling host-fallback mode? burnus at gcc dot gnu.org
@ 2022-05-20  6:31 ` rguenth at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-20  6:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105662

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think that first of all controlling this per OMP/OACC region would be more
useful (as for the "mandatory on-device" case).  Shouldn't there be sth in the
respective specs for this?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-20  6:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-19 15:13 [Bug middle-end/105662] New: [RFC][OpenMP][OpenMP] - permit disabling host-fallback mode? burnus at gcc dot gnu.org
2022-05-20  6:31 ` [Bug middle-end/105662] " rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).