From patchwork Mon Aug 10 19:50:21 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 505777 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id E9BA814031D for ; Tue, 11 Aug 2015 05:50:41 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=QvFXN8Qw; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; q=dns; s=default; b=Vqd6yqJ+FKnsKZUT 931+bDm6qWIGazHGujCIEbGfyjiiLMhhM/N+xAuVnmJ3P4mhCNgC80JqIXDh8A9u qzZFCS0ziVokicvq3YRvEEeO8FOkygiGjgfjRBhrLEiKHAM7jNLp7X1xocrFXsYy F6eLcKSx7eScVQQl1dFMyZxIJgw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; s=default; bh=L4TYTM3RN/4r2TzAc0WTZQ iW4o4=; b=QvFXN8Qwq2MVNxP1VUc9FJOY4eG9779dSauDLzerZ4kPvsO2mUsHww BPHJbWCYfAaztNNYR8UjnmupVA6agGFw3S+APGfHb4JWmz/Rsk1HaysEXMJDqM1K GnsAQX/BVqbtTuBm7Gu2xHJOBJdW3VT48nJmk7x5KqF3aJ+5yOakM= Received: (qmail 83293 invoked by alias); 10 Aug 2015 19:50:34 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 83278 invoked by uid 89); 10 Aug 2015 19:50:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 10 Aug 2015 19:50:32 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-02.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZOt5Y-0005yQ-Bf from Thomas_Schwinge@mentor.com for gcc-patches@gcc.gnu.org; Mon, 10 Aug 2015 12:50:28 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.3.224.2; Mon, 10 Aug 2015 20:50:27 +0100 From: Thomas Schwinge To: Nathan Sidwell , GCC Patches CC: james norris Subject: Re: [gomp4] OpenACC first private In-Reply-To: <55BF7B19.7000409@acm.org> References: <55BF7B19.7000409@acm.org> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Mon, 10 Aug 2015 21:50:21 +0200 Message-ID: <87oaiekjnm.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! On Mon, 3 Aug 2015 10:30:49 -0400, Nathan Sidwell wrote: > I've committed this patch to gomp4. The existing implementation of firstprivate > presumes the existence of memory at the CTA level. This patch does away with > that, treating firstprivate as thread-private variables initialized from the > host. > > During development there was some fallout from declare handling, as that wasn't > creating the expected omp_region context object. The previous handling of > firstprivate just happened to work. Jim has been working on resolving that problem. I'm seeing the following regressions after this r226508 commit -- are those the ones that Jim is working on resolving? [-PASS:-]{+FAIL: gfortran.dg/goacc/modules.f95 -O (internal compiler error)+} {+FAIL:+} gfortran.dg/goacc/modules.f95 -O (test for excess errors) PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-loop-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors) [-XFAIL:-]{+XPASS:+} libgomp.oacc-c/../libgomp.oacc-c-c++-common/parallel-loop-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/reduction-4.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors) {+WARNING: program timed out.+} XFAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/reduction-4.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-loop-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors) [-XFAIL:-]{+XPASS:+} libgomp.oacc-c++/../libgomp.oacc-c-c++-common/parallel-loop-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test PASS: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/reduction-4.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 (test for excess errors) {+WARNING: program timed out.+} XFAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/reduction-4.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -g (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -g execution test PASS: libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -Os (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/declare-1.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -Os execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O0 execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O1 execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 (test for excess errors) PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O2 execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer (test for excess errors) PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test PASS: libgomp.oacc-fortran/lib-13.f90 -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -O3 -g (test for excess errors) > --- gcc/fortran/gfortran.h (revision 226462) > +++ gcc/fortran/gfortran.h (working copy) > @@ -1138,7 +1138,6 @@ typedef enum > OMP_MAP_ALLOC, > OMP_MAP_TO, > OMP_MAP_FROM, > - OMP_MAP_GANGLOCAL, > OMP_MAP_TOFROM, > OMP_MAP_FORCE_ALLOC, > OMP_MAP_FORCE_DEALLOC, > @@ -1149,7 +1148,6 @@ typedef enum > OMP_MAP_FORCE_DEVICEPTR, > OMP_MAP_DEVICE_RESIDENT, > OMP_MAP_LINK, > - OMP_MAP_FORCE_TO_GANGLOCAL > } > gfc_omp_map_op; In file included from [...]/source-gcc/gcc/fortran/arith.c:30:0: [...]/source-gcc/gcc/fortran/gfortran.h:1150:15: warning: comma at end of enumerator list [-Wpedantic] OMP_MAP_LINK, ^ Committed to gomp-4_0-branch in r226768: commit 0ab0693710e7f0f88b8966233c84295f4f6179fc Author: tschwinge Date: Mon Aug 10 19:48:48 2015 +0000 Address -Wpedantic diagnostic Fixup for r226508. gcc/fortran/ * gfortran.h (gfc_omp_map_op): Remove comma at end of enumerator list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@226768 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog.gomp | 5 +++++ gcc/fortran/gfortran.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) Grüße, Thomas diff --git gcc/fortran/ChangeLog.gomp gcc/fortran/ChangeLog.gomp index 21aa06e..fd7204c 100644 --- gcc/fortran/ChangeLog.gomp +++ gcc/fortran/ChangeLog.gomp @@ -1,3 +1,8 @@ +2015-08-10 Thomas Schwinge + + * gfortran.h (gfc_omp_map_op): Remove comma at end of enumerator + list. + 2015-08-03 Nathan Sidwell * trans-openmp.c (gfc_trans_omp_clauses_1): Remove GANGLOCAL diff --git gcc/fortran/gfortran.h gcc/fortran/gfortran.h index 1e87d6c..128d65e 100644 --- gcc/fortran/gfortran.h +++ gcc/fortran/gfortran.h @@ -1147,7 +1147,7 @@ typedef enum OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR, OMP_MAP_DEVICE_RESIDENT, - OMP_MAP_LINK, + OMP_MAP_LINK } gfc_omp_map_op;