From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id D7D8C385141F for ; Thu, 19 May 2022 08:47:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7D8C385141F Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-483-qqcHazZxOZi8uLrXQXHo-w-1; Thu, 19 May 2022 04:47:49 -0400 X-MC-Unique: qqcHazZxOZi8uLrXQXHo-w-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E1FE73C0ED47; Thu, 19 May 2022 08:47:48 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.39.192.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E28740CF8ED; Thu, 19 May 2022 08:47:48 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.16.1/8.16.1) with ESMTPS id 24J8lkxW071807 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 19 May 2022 10:47:46 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.16.1/8.16.1/Submit) id 24J8lj98071806; Thu, 19 May 2022 10:47:45 +0200 Date: Thu, 19 May 2022 10:47:45 +0200 From: Jakub Jelinek To: Marcel Vollweiler Cc: gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org Subject: Re: [PATCH] OpenMP, libgomp: Add new runtime routines omp_target_memcpy_async and omp_target_memcpy_rect_async Message-ID: Reply-To: Jakub Jelinek References: MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 May 2022 08:47:54 -0000 On Thu, May 19, 2022 at 10:39:05AM +0200, Marcel Vollweiler wrote: > > add here > > else > > { > > depend[0] = 0; > > ... > > } > > Added the "depend" definition to the "if" branch (instead the "else" branch). Thanks for correcting my thinko. > gcc/ChangeLog: > > * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and > target_memcpy_rect_async to omp_runtime_apis array. > > libgomp/ChangeLog: > > * libgomp.map: Added omp_target_memcpy_async and > omp_target_memcpy_rect_async. > * libgomp.texi: Both functions are now supported. > * omp.h.in: Added omp_target_memcpy_async and > omp_target_memcpy_rect_async. > * omp_lib.f90.in: Added interfaces for both new functions. > * omp_lib.h.in: Likewise. > * target.c (ialias_redirect): Added for GOMP_task. > (omp_target_memcpy): Restructured into check and copy part. > (omp_target_memcpy_check): New helper function for omp_target_memcpy and > omp_target_memcpy_async that checks requirements. > (omp_target_memcpy_copy): New helper function for omp_target_memcpy and > omp_target_memcpy_async that performs the memcpy. > (omp_target_memcpy_async_helper): New helper function that is used in > omp_target_memcpy_async for the asynchronous task. > (omp_target_memcpy_async): Added. > (omp_target_memcpy_rect): Restructured into check and copy part. > (omp_target_memcpy_rect_check): New helper function for > omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks > requirements. > (omp_target_memcpy_rect_copy): New helper function for > omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs > the memcpy. > (omp_target_memcpy_rect_async_helper): New helper function that is used > in omp_target_memcpy_rect_async for the asynchronous task. > (omp_target_memcpy_rect_async): Added. > * task.c (ialias): Added for GOMP_task. > * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test. > * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test. > * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test. > * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test. > * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test. > * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test. > * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test. > * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test. Ok, thanks. Jakub