<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>