compiler-explorer / compiler-explorer/compiler-explorer

[REQUEST]: keep PTX as the default compiler output

Open
#4,328 8 comments 0 reactions 0 assignees View on GitHub
lang-cuda request
Dominant language
TypeScript
Stars
19.1k
Forks
2.1k
Avg merge
3d 15h
Merged PRs (30d)
67

Description

### Is your feature request related to a problem? Please describe

It appears that by default for CUDA compilation w/ NVCC in CE now shows *host* code and that the GPU PTX/SASS is shown in the new "device" pane.

I think it's a regression in usability.

- examination of the host code is rarely useful for CUDA compilation.
- In order to examine PTX and SASS simultaneously, we now have to open another pair of compiler + device viewer windows, so we end up with four windows in total, two of them with redundant and useless host code. Previously we only needed the two windows with SASS (via output->compile-to-binary) and PTX output which was the primary compiler window output.

### Describe the solution you'd like

I would propose to keep PTX as the default compiler output and push the host code output under "device" viewer.

### Describe alternatives you've considered

- ignore host code altogether. It worked fine so far. C++ compilation does that job just fine and it's almost never needs to be correlated w/ the GPU code.
- Allow output variant switching from within the main compiler output window (I.e. no separate device window).
- We sort of do it already in form of "output->compile to binary"
- This has the benefit that user does not need to be stuck with an extra window they don't need.
- The downside is that it's a binary switch, while we may potentially have multiple output kinds (host + {PTX, SASS} * N GPUs)
- Allow multiple device windows. This has the downside of having the ever-present compiler output windows with the host code around. It's better than what we have now, but that useless host window should not be there, unless user needs it.

### Additional context

Not applicable

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.