<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Elemental demo compute shader takes ages to compile"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95438#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Elemental demo compute shader takes ages to compile"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95438">bug 95438</a>
              from <span class="vcard"><a class="email" href="mailto:bas@basnieuwenhuizen.nl" title="Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>"> <span class="fn">Bas Nieuwenhuizen</span></a>
</span></b>
        <pre>Last I looked at the elemental demo, we have multiple issues:

- The shared array (1024 elements) get wrongly promoted to a private array.
There is a fix for that at
<a href="https://lists.freedesktop.org/archives/mesa-dev/2016-April/113832.html">https://lists.freedesktop.org/archives/mesa-dev/2016-April/113832.html</a>

- in radeonsi we compile arrays to vectors with insert/extract element. This
pretty much results in the array being SSA version, which results in a very
large program.

- a 1024 element vector does not fit in 256 VGPR's so LLVM tries to load and
spill around every operation and therefore every versioned array element takes
scratch space.

- As a result I needed 7 MiB of scratch space per wave, or 6,7 GiB in total. 
This overflows the 32-bit buffer size and we only allocate a smaller buffer.

-  This resulted in hangs (or maybe long long shader execution times, not
really sure...).

So not sure how long a long long time is, last I tried (which admittedly is
some weeks ago) I certainly could get past the compilation stage. If you did
get past that and did not get hangs, I'm not sure why.

Fixing the first problem also circumvents problems 2 & 3, although it would be
nice to get those fixed as well.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>