Hi,

On 12.05.21 16:10, Tom de Vries wrote:
Add nvptx option -mptx that sets the ptx ISA version.  This is currently
hardcoded to 3.1.
Tested libgomp on x86_64-linux with nvptx accelerator, both with default set to
3.1 and 6.3.
Any comments?

:-)

ISA 3.1 = CUDA 5 (supporting sm_10 to sm_{30,35}
ISA 6.3 = CUDA 10.0 (supporting sm_10 to sm_{70,72,75}

I think it is useful – both to move to new -misa (beyond
sm_30 and sm_35) which require a newer ISA for some
features. But a lot of new features (like .alias) are
generic and also very useful.

It also permits to use the .alias feature for
PR 97102 (see attached patch).

There is one typo in the doc:
'The default PTX version is sm_3.1.'
There is a spurious 'sm_'.

Should there be a fixme/missed optimization
comment regarding the lane mask for the
.sync variants? Or is 0xffffffff fine for the
foreseeable future and the comment is not needed?

 * * *

The other question is how to move forward from there,
i.e. when to move requiring CUDA 10+ (6.3) by default,
permitting -mptx=3.1 only as legacy mode?

And how to test this best in the testsuite? Namely,
should we iterate through both ISA modes? Or specify
manually in some tests? Just test the default regularily?

How to handle sm_xx which are not supported by the
default/specified -misa=sm_...? (Error out?)
And when/whether to move to a higher sm_... value by default?

(I have not checked but it seems as sm_70+ is the largest
step but sm_70 not yet widely used; hence, sticking to
sm_35 for a while is probably fine.)

Tobias

-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München 
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank 
Thürauf

Reply via email to