[Bug target/97338] New: [nvptx] Convergence checking

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 8 16:14:18 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97338

            Bug ID: 97338
           Summary: [nvptx] Convergence checking
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

With ptx, we have insns that need to be executed in convergent mode, that is,
all threads in the warp active.

We can unfortunately not enforce this, but we could check it, which could help
pinpoint problems.

A ptx insn:
...
  vote.ballot.b32 %rbla, 1;
...
gives us the regmask of active threads, so we could check:
...
{
  .reg .u32 %rwarp_active_mask;
  vote.ballot.b32 %rwarp_active_mask, 1;
  .reg .pred %pconvergent;
  setp.eq.u32 %pconvergent,%rwarp_active_mask,-1;
  @ ! %pconvergent trap;
}
...


More information about the Gcc-bugs mailing list