public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Thomas Schwinge <thomas@codesourcery.com>
To: Julian Brown <julian@codesourcery.com>,
	Jakub Jelinek <jakub@redhat.com>,
	Kirill Yukhin <kirill.yukhin@gmail.com>,
	Ilya Verbin <iverbin@gmail.com>
Cc: <gcc-patches@gcc.gnu.org>
Subject: Using -foffload=[...] to cycle through accelerators (was: libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks)
Date: Tue, 14 Apr 2015 15:35:00 -0000	[thread overview]
Message-ID: <87sic2zpsz.fsf@schwinge.name> (raw)
In-Reply-To: <20150414151502.5ca882a4@octopus>

[-- Attachment #1: Type: text/plain, Size: 1736 bytes --]

Hi!

On Tue, 14 Apr 2015 15:15:02 +0100, Julian Brown <julian@codesourcery.com> wrote:
> The other problem is that it appears that the ACC_DEVICE_TYPE
> environment variable is not getting set properly on the target for (any
> of) the OpenACC tests: this means a lot of the time the "wrong" plugin
> is being tested, and means that the above tests (and several others)
> still fail. That will apparently need some more engineering (on our
> part).

This should be working fine for "local" testing (that is, build-tree
testing, without a remote board).  Setting/communicating environment
variables to remote boards (which we use a lot for our internal testing)
indeed does not work in DejaGnu.  This has been reported several times in
the last years, by different people, but nobody ever came up with a
solution that was sufficiently generic so that was acceptable for
inclusion.  (Need a way to specify whether environment variables should
be set for the host and/or target system, and so on.)


For the problem at hand, I once had a different suggestion, which I'm
paraphrasing here: the existing code should be changed such that when
-foffload=nvptx,intelmic,... is specified (also considering a comple-time
default value based on --enable-offload-targets=[...]), the first
offloading target (nvptx in my example) is the one that is used by
default (acc_device_default) with OpenACC, and for OpenMP as device ID 0,
and so on.  That way, we could compile the libgomp test cases with
-foffload=$offload_target_openacc (see
libgomp/testsuite/libgomp.oacc-c/c.exp for context), and wouldn't have to
care about the ACC_DEVICE_TYPE environment variable anymore.

Does that make sense?


Grüße,
 Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]

  reply	other threads:[~2015-04-14 15:35 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-15 20:44 Merge current set of OpenACC changes from gomp-4_0-branch Thomas Schwinge
2015-01-15 20:47 ` Jeff Law
2015-01-15 22:47 ` Tobias Burnus
2015-01-16 12:34 ` Gerald Pfeifer
2015-01-16 20:37   ` Thomas Schwinge
2015-01-16 15:04 ` Gerald Pfeifer
2015-01-16 15:06 ` Jakub Jelinek
2015-01-16 15:37   ` David Malcolm
2015-01-16 21:13 ` [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter (was: Merge current set of OpenACC changes from gomp-4_0-branch) Thomas Schwinge
2015-01-16 23:19   ` Ilya Verbin
2015-01-16 23:38     ` Jack Howarth
2015-01-16 23:48       ` Ilya Verbin
2015-01-17  0:37         ` Jack Howarth
2015-01-17  1:23           ` Ilya Verbin
2015-01-17  3:09   ` Jack Howarth
2015-02-24 17:23   ` [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter Thomas Schwinge
2015-01-16 22:41 ` Merge current set of OpenACC changes from gomp-4_0-branch Andreas Schwab
2015-02-04  9:41   ` [RFC testsuite] Fix PR64850, tweak acc_on_device* tests Thomas Schwinge
2015-02-10 12:02     ` Thomas Schwinge
2015-02-12  0:23       ` Kaz Kojima
2015-01-16 23:22 ` Merge current set of OpenACC changes from gomp-4_0-branch Ilya Verbin
2015-01-23 18:28   ` Ilya Verbin
2015-01-23 19:11     ` Jakub Jelinek
2015-01-26 14:01     ` Thomas Schwinge
2015-01-26 15:23       ` Ilya Verbin
2015-01-27 14:41         ` Julian Brown
2015-02-03 11:28           ` Ilya Verbin
2015-02-03 13:00             ` Julian Brown
2015-02-03 20:01               ` Ilya Verbin
2015-02-04 15:06                 ` Julian Brown
2015-02-18 12:25                   ` Ilya Verbin
2015-02-24 12:49                   ` Julian Brown
2015-02-25  9:54                     ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks (was: Merge current set of OpenACC changes from gomp-4_0-branch) Thomas Schwinge
2015-02-25 12:17                       ` Julian Brown
2015-02-25 12:23                       ` Ilya Verbin
2015-02-26 17:31                       ` Ilya Verbin
2015-03-06 14:01                         ` Ilya Verbin
2015-03-09 14:46                           ` Julian Brown
2015-03-23 19:44                             ` Ilya Verbin
2015-03-26 10:07                               ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks Thomas Schwinge
2015-03-26 12:09                               ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks (was: Merge current set of OpenACC changes from gomp-4_0-branch) Jakub Jelinek
2015-03-26 20:41                                 ` Ilya Verbin
2015-03-30 16:42                                   ` Jakub Jelinek
2015-03-30 21:43                                     ` Julian Brown
2015-03-31 12:52                                     ` Ilya Verbin
2015-03-31 13:08                                       ` Jakub Jelinek
2015-03-31 16:10                                         ` Ilya Verbin
2015-03-31 23:53                                           ` Ilya Verbin
2015-04-01  5:21                                             ` Jakub Jelinek
2015-04-01 13:14                                               ` Ilya Verbin
2015-04-01 13:20                                                 ` Jakub Jelinek
2015-04-01 17:26                                                   ` Ilya Verbin
2015-04-06 12:46                                                   ` Ilya Verbin
2015-04-07 15:26                                                     ` Jakub Jelinek
2015-04-08 14:32                                                       ` Julian Brown
2015-04-08 14:34                                                         ` Jakub Jelinek
2015-04-08 14:59                                                         ` Ilya Verbin
2015-04-08 16:14                                                           ` Julian Brown
2015-04-14 14:15                                                           ` Julian Brown
2015-04-14 15:35                                                             ` Thomas Schwinge [this message]
2015-04-14 15:43                                                             ` acc_on_device for device_type_host_nonshm (was: libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks) Thomas Schwinge
2015-04-17 13:16                                                               ` Jakub Jelinek
2015-05-07 18:32                                                                 ` acc_on_device for device_type_host_nonshm (was: libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks) (PR65742) Julian Brown
2015-05-21 11:32                                                                   ` acc_on_device for device_type_host_nonshm Thomas Schwinge
2015-05-21 11:42                                                                     ` Jakub Jelinek
2015-05-28 11:56                                                                       ` H.J. Lu
2015-05-28 13:29                                                                         ` Julian Brown
2015-06-04  7:25                                                                           ` [gomp4] " Tom de Vries
2015-06-02 12:08                                                                   ` [PR libgomp/65742, PR middle-end/66332] XFAIL acc_on_device compile-time evaluation (was: acc_on_device for device_type_host_nonshm) Thomas Schwinge
2015-07-14 20:26                                                                   ` PR65742: OpenACC acc_on_device fixes Thomas Schwinge
2015-07-15  7:27                                                                     ` Richard Biener
2015-04-17  9:54                                                             ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks (was: Merge current set of OpenACC changes from gomp-4_0-branch) (PR65742) Julian Brown
2015-03-31 18:25                                     ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks (was: Merge current set of OpenACC changes from gomp-4_0-branch) Ilya Verbin
2015-03-31 19:06                                       ` Jakub Jelinek
2015-09-25 15:10                                   ` libgomp: Compile-time error for non-portable gomp_mutex_t initialization (was: libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks) Thomas Schwinge
2015-09-25 15:59                                     ` Jakub Jelinek
2015-11-18 15:20                                       ` libgomp: Compile-time error for non-portable gomp_mutex_t initialization Ilya Verbin
2015-11-19 12:31                                         ` Jakub Jelinek
2015-09-25 16:56                                   ` libgomp: Guard all offload_images/num_offload_images access by register_lock (was: libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks) Thomas Schwinge
2015-09-25 16:58                                     ` Ilya Verbin
2015-09-28 10:03                                       ` libgomp: Guard all devices/num_devices/num_devices_openmp access by register_lock (was: libgomp: Guard all offload_images/num_offload_images access by register_lock) Thomas Schwinge
2015-10-06 11:49                                         ` Thomas Schwinge
2015-10-09 11:58                                         ` libgomp: Guard all devices/num_devices/num_devices_openmp access by register_lock Bernd Schmidt
2015-10-09 14:39                                           ` Ilya Verbin
2015-03-27 15:21                                 ` libgomp nvptx plugin: rework initialisation and support the proposed load/unload hooks (was: Merge current set of OpenACC changes from gomp-4_0-branch) Julian Brown
2015-01-27 13:43       ` Merge current set of OpenACC changes from gomp-4_0-branch Julian Brown
2015-01-27 19:50       ` Jack Howarth
2015-02-17 18:06 ` Thomas Schwinge
2015-02-23 10:31 ` Fix number of arguments parameter in Ada DEF_FUNCTION_TYPE_* (was: Merge current set of OpenACC changes from gomp-4_0-branch) Thomas Schwinge
2015-04-20 14:24 ` Merge current set of OpenACC changes from gomp-4_0-branch Thomas Schwinge
2015-04-20 20:14   ` Gerald Pfeifer
2015-02-03 23:41 [RFC testsuite] Fix PR64850, tweak acc_on_device* tests Kaz Kojima

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sic2zpsz.fsf@schwinge.name \
    --to=thomas@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=iverbin@gmail.com \
    --cc=jakub@redhat.com \
    --cc=julian@codesourcery.com \
    --cc=kirill.yukhin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).