From patchwork Thu Apr 21 16:21:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 613191 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 3qrPCy5LVJz9sf9 for ; Fri, 22 Apr 2016 02:22:22 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=pNb+Z4h5; 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:subject:date:message-id:mime-version:content-type; q=dns; s= default; b=K+iy8OCoF4Ia7N9JwC3A4Zd8MC32if/eOCO2UD1T20WWAl05D1ixo 3k/+arHkHnYFXVD5AhiPfSK0YoivK7XZpPusGjxoj+7TlKUm1+NRw6ktWPPDwEwL 2m0O2Inez/WHjIZSvCrXJCqDMimnkncmM6FEX5HMhcX+HGYInkhnSU= 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:subject:date:message-id:mime-version:content-type; s= default; bh=P6RwMnrWGmj65RjDBgjpMhPkS6E=; b=pNb+Z4h5I7ImNGGbUB5X yi4e0Mp2GR29GpybuSMYmxVcR+fajImxXRdKh8NNQWIdGajXo9Albg1HbTZ+MM8T wAAq6QlWUJepYsIlh/tHu/mL5FDFWxVm59G8wGhoQff50H0vEeWYSXNXUjUVj6DZ oDcF19Yg6U7c+liaeybETh8= Received: (qmail 112471 invoked by alias); 21 Apr 2016 16:22:15 -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 112457 invoked by uid 89); 21 Apr 2016 16:22:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=20a, nest, 1.74, family 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 21 Apr 2016 16:22:04 +0000 Received: from svr-orw-fem-05.mgc.mentorg.com ([147.34.97.43]) by relay1.mentorg.com with esmtp id 1atHMg-00061w-9a from Thomas_Schwinge@mentor.com ; Thu, 21 Apr 2016 09:22:02 -0700 Received: from tftp-cs (147.34.91.1) by svr-orw-fem-05.mgc.mentorg.com (147.34.97.43) with Microsoft SMTP Server id 14.3.224.2; Thu, 21 Apr 2016 09:22:02 -0700 Received: by tftp-cs (Postfix, from userid 49978) id 2DAD1C21C3; Thu, 21 Apr 2016 09:22:01 -0700 (PDT) From: Thomas Schwinge To: Jakub Jelinek , Gerald Pfeifer , Subject: Document OpenACC status for GCC 6 User-Agent: Notmuch/0.9-125-g4686d11 (http://notmuchmail.org) Emacs/24.5.1 (i586-pc-linux-gnu) Date: Thu, 21 Apr 2016 18:21:47 +0200 Message-ID: <87h9ev0w6c.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! OK to commit (something like) the following? Should something be added to the "News" section on itself? (I don't know the policy for that. We didn't suggest that for GCC 5, because at that time we described the support as a "preliminary implementation of the OpenACC 2.0a specification"; now it's much more complete and usable.) Grüße Thomas Index: htdocs/gcc-6/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v retrieving revision 1.74 diff -u -p -r1.74 changes.html --- htdocs/gcc-6/changes.html 19 Apr 2016 11:13:02 -0000 1.74 +++ htdocs/gcc-6/changes.html 21 Apr 2016 16:10:49 -0000 @@ -124,6 +124,52 @@ For more information, see the

New Languages and Language specific improvements

+Compared to GCC 5, the GCC 6 release series includes a much improved + implementation of the OpenACC 2.0a + specification. Highlights are: +
    +
  • In addition to single-threaded host-fallback execution, offloading is + supported for nvptx (Nvidia GPUs) on x86_64 and PowerPC 64-bit + little-endian GNU/Linux host systems. For nvptx offloading, with the + OpenACC parallel construct, the execution model allows for an arbitrary + number of gangs, up to 32 workers, and 32 vectors.
  • +
  • Initial support for parallelized execution of OpenACC kernels + constructs: +
      +
    • Parallelization of a kernels region is switched on + by -fopenacc combined with -O2 or + higher.
    • +
    • Code will be offloaded onto multiple gangs, but executes with + just one worker, and a vector length of 1.
    • +
    • Directives inside a kernels region are not supported.
    • +
    • Loops with reductions can be parallelized.
    • +
    • Only kernels regions with one loop nest are parallelized.
    • +
    • Only the outer-most loop of a loop nest can be parallelized.
    • +
    • Loop nests containing sibling loops are not parallelized.
    • +
    + Typically, using the OpenACC parallel construct will give much better + performance, compared to the initial support of the OpenACC kernels + construct. +
  • The device_type clause is not supported. + The bind and nohost clauses are not + supported. The host_data directive is not supported in + Fortran.
  • +
  • Nested parallelism (cf. CUDA dynamic parallelism) is not + supported.
  • +
  • Usage of OpenACC constructs inside multithreaded contexts (such as + created by OpenMP, or pthread programming) is not supported.
  • +
  • If a call to the acc_on_device function has a + compile-time constant argument, the function call evaluates to a + compile-time constant value only for C and C++ but not for + Fortran.
  • +
+ See the OpenACC + and Offloading wiki pages + for further information. + +

C family