Changes between Version 27 and Version 28 of GcnTimings


Ignore:
Timestamp:
Dec 29, 2017, 2:00:36 PM (12 months ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnTimings

    v27 v28  
    141141<li>only the first 3 dwords in the 32-byte block incur no penalty. Any 2-dword
    142142instruction outside these first 3 dwords adds a single penalty.</li>
    143 <li>if instructions is longer (more than four cycles) then last cycles/4 dwords are free</li>
     143<li>if the instructions is longer (more than four cycles) then the last cycles/4 dwords are free</li>
    144144<li>if 16 or more cycle 2-dword instruction and 2-dword instruction in 4 dword, then there is
    145 no penalty for second 2-dword instruction.</li>
    146 <li>best place to jump is 5 first dwords in 32-byte block. Jump to rest of dwords causes
    147 1-3 penalties, depending on number of dwords (N-4, where N is a dword number). This rule
     145no penalty for the second 2-dword instruction.</li>
     146<li>best place to jump is the 5 first dwords in the 32-byte block. Jump to rest of the dwords causes
     1471-3 penalties, depending on number of dwords (N-4, where N is the dword number). This rule
    148148does not apply to backward jumps (???)</li>
    149 <li>any conditional jump instruction should be in first half of 32-byte block, otherwise
     149<li>any conditional jump instruction should be in first half of the 32-byte block, otherwise
    1501501-4 penalties are added if jump is not taken, depending on dword number (N-3, where N is dword number).</li>
    151151</ul>
    152 <p>IMPORTANT: If the occupancy is greater than 1 wave per compute unit, then penalties,
     152<p>IMPORTANT: If the occupancy is greater than 1 wave per compute unit, then the penalties,
    153153branches, and scalar instructions will be masked while executing
    154154more waves than 4*CUs. For best results is recommended to execute many waves
     
    15411541</table>
    15421542<p>About bank conflicts: The LDS memory is partitioned in 32 banks. The bank number is in
    1543 bits 2-6 of the address. A bank conflict occurs when two addresses hit same
    1544 bank, but addresses are different starting from 7bit
     1543bits 2-6 of the address. A bank conflict occurs when two addresses hit the same
     1544bank, but the addresses are different starting from the 7bit
    15451545(the first 2 bits of the address doesn't matter).
    15461546Any bank conflict adds penalty to timing and throughput. In the worst case, the throughput