[og12] libgomp: Document OpenMP 'pinned' memory (was: [PATCH] libgomp, openmp: pinned memory
Checks
Commit Message
Hi!
On 2022-01-04T15:32:17+0000, Andrew Stubbs <ams@codesourcery.com> wrote:
> This patch implements the OpenMP pinned memory trait [...]
I figure it may be helpful to document the current og12 state of affairs;
does the attached "libgomp: Document OpenMP 'pinned' memory" look good to
you?
Grüße
Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
Comments
> -----Original Message-----
> From: Thomas Schwinge <thomas@codesourcery.com>
> Sent: 24 March 2023 15:50
> To: gcc-patches@gcc.gnu.org; Andrew Stubbs <ams@codesourcery.com>;
> Tobias Burnus <tobias@codesourcery.com>
> Subject: [og12] libgomp: Document OpenMP 'pinned' memory (was: [PATCH]
> libgomp, openmp: pinned memory
>
> Hi!
>
> On 2022-01-04T15:32:17+0000, Andrew Stubbs <ams@codesourcery.com>
> wrote:
> > This patch implements the OpenMP pinned memory trait [...]
>
> I figure it may be helpful to document the current og12 state of affairs; does
> the attached "libgomp: Document OpenMP 'pinned' memory" look good to
> you?
I don't really know what "allocated via the device" means? I mean, I presume you mean "via CUDA", but I don't think this is obvious to the average reader.
Maybe "allocation is optimized for the device" or some such thing?
Andrew
From 35ac1fb2d37f6c33a69f85ca8bac6f6a7bd7d837 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Fri, 24 Mar 2023 15:14:57 +0100
Subject: [PATCH] libgomp: Document OpenMP 'pinned' memory
libgomp/
* libgomp.texi (AMD Radeon, nvptx): Document OpenMP 'pinned'
memory.
---
libgomp/libgomp.texi | 7 +++++++
1 file changed, 7 insertions(+)
@@ -4456,6 +4456,9 @@ The implementation remark:
@item OpenMP code that has a requires directive with @code{unified_address} or
@code{unified_shared_memory} will remove any GCN device from the list of
available devices (``host fallback'').
+@item OpenMP @emph{pinned} memory (@code{omp_atk_pinned},
+ @code{ompx_pinned_mem_alloc}, for example) is allocated not via
+ the device, but via @code{mmap}, @code{mlock}.
@end itemize
@@ -4518,6 +4521,10 @@ The implementation remark:
@item OpenMP code that has a requires directive with @code{unified_address}
or @code{unified_shared_memory} will remove any nvptx device from the
list of available devices (``host fallback'').
+@item OpenMP @emph{pinned} memory (@code{omp_atk_pinned},
+ @code{ompx_pinned_mem_alloc}, for example) is allocated via the
+ device, thus helping lower-overhead host <-> device data
+ transfers.
@end itemize
--
2.25.1