From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52412 invoked by alias); 10 Dec 2015 17:51:53 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 52346 invoked by uid 89); 10 Dec 2015 17:51:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Thu, 10 Dec 2015 17:51:51 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 6F1B5AAB4; Thu, 10 Dec 2015 17:51:48 +0000 (UTC) Date: Thu, 10 Dec 2015 17:51:00 -0000 From: Martin Jambor To: Jakub Jelinek Cc: GCC Patches , Richard Biener , Martin Liska , Michael Matz Subject: Re: [hsa 0/10] Merge of HSA branch Message-ID: <20151210175147.GE3534@virgil.suse.cz> Mail-Followup-To: Jakub Jelinek , GCC Patches , Richard Biener , Martin Liska , Michael Matz References: <20151207111758.GA24234@virgil.suse.cz> <20151207114645.GV5675@tucnak.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20151207114645.GV5675@tucnak.redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2015-12/txt/msg01169.txt.bz2 Hi, On Mon, Dec 07, 2015 at 12:46:45PM +0100, Jakub Jelinek wrote: > On Mon, Dec 07, 2015 at 12:17:58PM +0100, Martin Jambor wrote: > > Because I have not been able to come up with any solution to failing > > libgomp/testsuite/libgomp.c++/target-2.C, I have disabled use of > > dynamic parallelism in this merge (I keep it on the branch) and > > therefore entirely rely on the gridification process to run loops on > > the accelerator, because gridified constructs do not have this issue > > (passing private symbols by reference). > > I'm fine with not doing it in this series, but I'd strongly prefer > if dynamic parallelism is added for GCC 6.1. Even for PTX we'll need > some IPA analysis on what functions might run in the various OpenMP > contexts (teams, parallel, simd) and what functions contains such > directives, and let the backends (or HSA) do something based on that > for sharing of the vars, or other properties of the function code > generation. 6.1 seems a bit ambitious but I will try my best to bring it back as soon as possible. > > > HSA tests are still missing, I would need some guidance as to how to > > best implement them (specially to test gridification which of course > > does not happen for other accelerators). There are no failing > > testcases if HSA is not configured. If it is, there are some, all of > > which fall into one the following categories: > > > > 1) HSA cannot compile a function for one reason or another (most > > common cause is inability of HSA to take an address of a function > > or make an indirect call) and gives a warning, which is regarded > > as an "excess error" by dejagnu. > > It would be good if there is a -W* switch to turn such warnings off. > Not just for the purposes of dejagnu libgomp testing, but say one > might try to compile a program primarily say for XeonPhi or PTX offloading, > but have HSA enabled to, but care primarily about the former two, etc. All these warnings are in the -Whsa group and can be suppressed with -Wno-hsa. > > > 2) When HSA is not emitted for a function, libgomp runs a host > > fallback instead of it. When the test queries > > omp_is_initial_device and asserts it returns false, the test > > fails. > > Do you have examples of which tests fall into this category? For example libgomp.c/examples-4/target-5.c. HSA-runtime fails "linking" the generated HSAIL because there is no function abort (we really need to wait for HSA to implement traps to provide it) and so the libgomp plugin decides to run the host fallback even when the deja-gnu predicates would normally preclude it. And the testcase tests that omp_is_initial_device returns non-NULL. > > In any case, it will be needed to also update the wiki page with details on > how to build the HSA support in, what are the prerequisities etc. > I have updated the gcc/README.hsa file on the branch with current information. The wiki page apparently requires a bit more editing that I can accomplish today. But I will add something similar there there too. Thanks, Martin