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

Reply via email to