Message ID | f069981d-5a0c-11d5-db2d-ea4574037eb0@codesourcery.com |
---|---|
State | New |
Headers | show |
Series | [wwwdocs,+] nvptx – update for -mptx change – gcc-12/changes.html + gcc/docs/invoke.texi | expand |
On 2/2/22 09:30, Tobias Burnus wrote: > This patch updates the documentation for Tom's change of the default > -mptx= version - mentioning also -mptx=7.0. > > I forgot whether ptx = 7.0 was working fine or whether there was > a reason not to mention it. A ptx version is experimental if all sm versions it enables are experimental. 7.0 enables sm_80, and that one is experimental. sm_80 is considered experimental, because the last time I tried to do a gcc build with the default set to sm_80, it failed (ICEs). Likewise sm_75, sm_53. Following that reasoning ptx isa 6.3 would also be experimental, but it fixes something that is very fragile with older ptx version (warp convergence) so it has been promoted to supported. Anyway, I'm preparing a patch that picks default -mptx based on -misa, with a default minimum of 6.0 instead of 6.3, to enable testing with a 390.x driver. > At some point, we also have to update -misa=... Currently, only > sm_30 and sm_35 are documented but sm_53, sm_75 and sm_80 are supported. > Can they now be documented are are there still issues? AFAIK there are still issues. > OK to commit the wwwdocs + gcc invoke.texi patches? Sorry, it looks like this is still in flux. Thanks, - Tom
gcc-12/changes.html: nvptx – update for -mptx change diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html index 2719b9d5..bd0babfb 100644 --- a/htdocs/gcc-12/changes.html +++ b/htdocs/gcc-12/changes.html @@ -404,7 +404,8 @@ a work-in-progress.</p> <ul> <li>The <code>-mptx</code> flag has been added to specify the PTX ISA version for the generated code; permitted values are <code>3.1</code> - (default, matches previous GCC versions) and <code>6.3</code>. + (matches previous GCC versions), <code>6.3</code> (new default) and + <code>7.0</code>. </li> <li>The new <code>__PTX_SM__</code> predefined macro allows code to check the compute model being targeted by the compiler.</li>