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 EAECF383E69A for ; Mon, 23 May 2022 07:49:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EAECF383E69A Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-639-Z5iytn05MJKGtQeJ8QNWzQ-1; Mon, 23 May 2022 03:49:12 -0400 X-MC-Unique: Z5iytn05MJKGtQeJ8QNWzQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9B33885A5B9; Mon, 23 May 2022 07:49:11 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.39.192.106]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1F753C1914E; Mon, 23 May 2022 07:49:11 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.17.1/8.17.1) with ESMTPS id 24N7n79T008352 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 23 May 2022 09:49:08 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.17.1/8.17.1/Submit) id 24N7n6KE008351; Mon, 23 May 2022 09:49:06 +0200 Date: Mon, 23 May 2022 09:49:06 +0200 From: Jakub Jelinek To: Mohamed Atef Cc: gcc@gcc.gnu.org, tobias@codesourcery.com Subject: Re: OMPD: 5.5.8 Display Control Variables Message-ID: Reply-To: Jakub Jelinek References: MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 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.2 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=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2022 07:49:15 -0000 On Sun, May 22, 2022 at 05:56:46PM +0200, Mohamed Atef wrote: > To implement this > , > should I add a function in the runtime to dump all the > environment variables. Or should I use variables from helper functions? > To make the icv-name=icv-value pair I think it will be too costly > to use helper functions. ICVs are of different kinds, some are pre-process, some are per-device, some are per-thread, some are per-task. But the function only has an address space handle, so it can't query e.g. particular thread, task etc. ICVs. My understanding is that the function should return something close to what omp_display_env prints, except with different formatting, without _OPENMP = line, the OPENMP DISPLAY ENVIRONMENT BEGIN/END pairs etc. So, look at what omp_display_env does, copy the content of gomp_global_icv and various other global vars from the process and then print it into strings like omp_display_env prints then. Note, omp_display_env can print also device sets before the vars (there are patches floating for that in libgomp but still need work), like [device] OMP_NUM_THREADS='2' [host,device] OMP_DYNAMIC='TRUE' [host] OMP_PLACES='{0:4},{4:4},{8:4},{12:4}' but probably this function should print host only stuff without such prefixes (and without the 's) or indentation. Jakub