Hi Tom! Ping.
Grüße Thomas On 2021-01-22T16:23:57+0100, I wrote: > Hi Tom! > > Ping. > > > Grüße > Thomas > > > On 2021-01-13T12:59:14+0100, I wrote: >> Hi Tom! >> >> On 2020-10-09T13:56:09+0200, Tom de Vries <tdevr...@suse.de> wrote: >>> The nvptx-as assembler verifies the ptx code using ptxas, if there's any >>> in the PATH. >>> >> >> After quite some digression to first add a testsuite to nvptx-tools (see >> <https://twitter.com/schwinge_thomas/status/1348626368578408449> or just >> <https://github.com/MentorEmbedded/nvptx-tools/tree/master/test/>), which >> I found advisable generally, and then given the kinds of changes we're >> now doing :-) -- I've now prepared nvptx-as code changes as discussed in >> <https://github.com/MentorEmbedded/nvptx-tools/issues/24> "nvptx-as >> should not assume a default sm version". (Currently testing.) >> >>> The default in the nvptx port for -misa=sm_xx is sm_30, but the ptxas of the >>> latest cuda release (11.1) no longer supports sm_30. >>> >>> Consequently we cannot build gcc against that release (although we should >>> still be able to build without any cuda release). >>> >>> Fix this by setting -misa=sm_35 by default. >>> >>> Tested check-gcc on nvptx. >>> >>> Tested libgomp on x86_64-linux with nvpx accelerator. >>> >>> Both build against cuda 9.1. >>> >>> Committed to trunk. >> >> ACK. >> >> What is your opinion about backporting that (plus Tobias' documentation >> update, plus corresponding web 'changes.html' updates?) to release >> branches, so that nvptx offloading users may use GCC 10/9/8 with CUDA >> 11.0+? >> >> I don't think losing sm_30 support is a major concern: support for sm_35 >> has been introduced with PTX ISA 3.1, CUDA 5.0, driver r302. >> >> >> Further: >> >>> [nvptx] Set -misa=sm_35 by default >> >>> PR target/97348 >>> * config/nvptx/nvptx.h (ASM_SPEC): Also pass -m to nvptx-as if >>> default is used. >>> * config/nvptx/nvptx.opt (misa): Init with PTX_ISA_SM35. >> >>> --- a/gcc/config/nvptx/nvptx.h >>> +++ b/gcc/config/nvptx/nvptx.h >> >>> -#define ASM_SPEC "%{misa=*:-m %*}" >>> +/* Default needs to be in sync with default for misa in nvptx.opt. >>> + We add a default here to work around a hard-coded sm_30 default in >>> + nvptx-as. */ >>> +#define ASM_SPEC "%{misa=*:-m %*; :-m sm_35}" >> >>> --- a/gcc/config/nvptx/nvptx.opt >>> +++ b/gcc/config/nvptx/nvptx.opt >> >>> +; Default needs to be in sync with default in ASM_SPEC in nvptx.h. >>> misa= >>> -Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) >>> Init(PTX_ISA_SM30) >>> +Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) >>> Init(PTX_ISA_SM35) >>> Specify the version of the ptx ISA to use. >> >> As I'd suggested in >> <https://github.com/MentorEmbedded/nvptx-tools/issues/24> "nvptx-as >> should not assume a default sm version", I'd then push the attached >> "[nvptx] Let nvptx-as figure out the target architecture [PR97348]" to >> GCC master branch, OK? (Currently testing.) >> >> That one I wouldn't backport to GCC release branches, so that we don't >> require users to update nvptx-tools for these builds. >> >> >> Grüße >> Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf
>From eac0d3458f38cd5bb4c930b2887a547b64b046ef Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Wed, 13 Jan 2021 09:04:47 +0100 Subject: [PATCH] [nvptx] Let nvptx-as figure out the target architecture [PR97348] ... now that it has been enhanced to do so. This is a follow-up to PR97348 commit 383400a6078d75bbfa1216c9af2c37f7e88740c9 "[nvptx] Set -misa=sm_35 by default". gcc/ PR target/97348 * config/nvptx/nvptx.h (ASM_SPEC): Don't set. * config/nvptx/nvptx.opt (misa): Adjust comment. --- gcc/config/nvptx/nvptx.h | 5 ----- gcc/config/nvptx/nvptx.opt | 1 - 2 files changed, 6 deletions(-) diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h index 2451703e77f..1a61e6207f6 100644 --- a/gcc/config/nvptx/nvptx.h +++ b/gcc/config/nvptx/nvptx.h @@ -29,11 +29,6 @@ #define STARTFILE_SPEC "%{mmainkernel:crt0.o}" -/* Default needs to be in sync with default for misa in nvptx.opt. - We add a default here to work around a hard-coded sm_30 default in - nvptx-as. */ -#define ASM_SPEC "%{misa=*:-m %*; :-m sm_35}" - #define TARGET_CPU_CPP_BUILTINS() \ do \ { \ diff --git a/gcc/config/nvptx/nvptx.opt b/gcc/config/nvptx/nvptx.opt index 51363e4e276..cf7f9022663 100644 --- a/gcc/config/nvptx/nvptx.opt +++ b/gcc/config/nvptx/nvptx.opt @@ -61,7 +61,6 @@ Enum(ptx_isa) String(sm_30) Value(PTX_ISA_SM30) EnumValue Enum(ptx_isa) String(sm_35) Value(PTX_ISA_SM35) -; Default needs to be in sync with default in ASM_SPEC in nvptx.h. misa= Target RejectNegative ToLower Joined Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM35) Specify the version of the ptx ISA to use. -- 2.17.1