Skip to content

nak: Add a simple greedy instruction scheduler

Mel Henning requested to merge mhenning/mesa:instr_sched into main

To get us started, this is designed to be pretty much the simplest thing possible. It runs post-RA so we don't need to worry about hurting occupancy and it uses the classic textbook algorithm for local (single block) scheduling with the usual latency-weighted-depth heuristic.

Totals:
Static cycle count: 6950254 -> 5943678 (-14.48%); split: -14.48%, +0.00%

Totals from 6386 (97.23% of 6568) affected shaders:
Static cycle count: 6945475 -> 5938899 (-14.49%); split: -14.49%, +0.00%

 PERCENTAGE DELTAS                               Shaders Static cycle count 
 ../nvk-fossils-foss/fossils/gtk4/fossilize      736           -12.82%      
 ../nvk-fossils-foss/fossils/pytorch/mobilenetv2 17            -11.30%      
 ../nvk-fossils-foss/fossils/skia/skia-viewer    4806          -15.35%      
 fossils/google-meet-clvk/BgBlur                 49            -12.83%      
 fossils/google-meet-clvk/Relight                32            -16.23%      
 fossils/parallel-rdp/small_subgroup             246           -24.33%      
 fossils/parallel-rdp/small_uber_subgroup        7             -8.96%       
 fossils/parallel-rdp/subgroup                   279           -23.45%      
 fossils/parallel-rdp/uber_subgroup              7             -5.95%       
 fossils/q2rtx/q2rtx-rt-pipeline                 42            -20.12%      
 fossils/sascha-willems/bloom                    12            -16.35%      
 fossils/sascha-willems/computecloth             7             -15.94%      
 fossils/sascha-willems/computecullandlod        3             -12.76%      
 fossils/sascha-willems/computeheadless          1             -1.11%       
 fossils/sascha-willems/computenbody             4             -10.41%      
 fossils/sascha-willems/computeparticles         3             -11.88%      
 fossils/sascha-willems/computeraytracing        3             -13.69%      
 fossils/sascha-willems/computeshader            5             -15.43%      
 fossils/sascha-willems/conditionalrender        2             -20.31%      
 fossils/sascha-willems/debugmarker              8             -16.10%      
 fossils/sascha-willems/deferred                 4             -17.49%      
 PERCENTAGE DELTAS                               Shaders Static cycle count 
 fossils/sascha-willems/deferredmultisampling    8             -18.37%      
 fossils/sascha-willems/deferredshadows          6             -8.95%       
 fossils/sascha-willems/descriptorsets           2             -13.93%      
 fossils/sascha-willems/displacement             8             -15.31%      
 fossils/sascha-willems/distancefieldfonts       4             -13.44%      
 fossils/sascha-willems/dynamicuniformbuffer     2             -12.67%      
 fossils/sascha-willems/gears                    2             -17.57%      
 fossils/sascha-willems/geometryshader           5             -18.56%      
 fossils/sascha-willems/gltfloading              4             -22.32%      
 fossils/sascha-willems/gltfscenerendering       4             -20.39%      
 fossils/sascha-willems/gltfskinning             4             -20.95%      
 fossils/sascha-willems/hdr                      10            -18.88%      
 fossils/sascha-willems/imgui                    4             -22.16%      
 fossils/sascha-willems/indirectdraw             6             -17.01%      
 fossils/sascha-willems/inlineuniformblocks      2             -20.95%      
 fossils/sascha-willems/inputattachments         6             -15.32%      
 fossils/sascha-willems/instancing               6             -23.57%      
 fossils/sascha-willems/mesh                     4             -24.17%      
 fossils/sascha-willems/multisampling            6             -24.64%      
 fossils/sascha-willems/multithreading           4             -22.22%      
 fossils/sascha-willems/multiview                6             -13.13%      
 PERCENTAGE DELTAS                               Shaders Static cycle count 
 fossils/sascha-willems/negativeviewportheight   2             -7.50%       
 fossils/sascha-willems/occlusionquery           6             -17.47%      
 fossils/sascha-willems/offscreen                8             -17.87%      
 fossils/sascha-willems/oit                      4             -11.26%      
 fossils/sascha-willems/parallaxmapping          2             -12.57%      
 fossils/sascha-willems/particlefire             4             -17.05%      
 fossils/sascha-willems/pbrbasic                 2             -19.55%      
 fossils/sascha-willems/pbribl                   10            -19.54%      
 fossils/sascha-willems/pbrtexture               4             -21.12%      
 fossils/sascha-willems/pipelines                6             -17.57%      
 fossils/sascha-willems/pipelinestatistics       2             -30.58%      
 fossils/sascha-willems/pushconstants            2             -15.30%      
 fossils/sascha-willems/pushdescriptors          2             -13.93%      
 fossils/sascha-willems/radialblur               8             -16.23%      
 fossils/sascha-willems/renderheadless           2             -28.18%      
 fossils/sascha-willems/scenerendering           6             -17.50%      
 fossils/sascha-willems/screenshot               2             -17.46%      
 fossils/sascha-willems/shadowmapping            7             -25.90%      
 fossils/sascha-willems/shadowmappingcascade     8             -11.16%      
 fossils/sascha-willems/shadowmappingomni        6             -18.09%      
 fossils/sascha-willems/skeletalanimation        4             -23.54%      
 PERCENTAGE DELTAS                               Shaders Static cycle count 
 fossils/sascha-willems/specializationconstans   6             -20.99%      
 fossils/sascha-willems/specializationconstants  6             -20.99%      
 fossils/sascha-willems/sphericalenvmapping      2             -13.16%      
 fossils/sascha-willems/ssao                     8             -18.62%      
 fossils/sascha-willems/stencilbuffer            4             -15.18%      
 fossils/sascha-willems/subpasses                8             -14.19%      
 fossils/sascha-willems/terraintessellation      10            -19.29%      
 fossils/sascha-willems/tessellation             16            -18.14%      
 fossils/sascha-willems/textoverlay              4             -25.46%      
 fossils/sascha-willems/texture                  2             -27.28%      
 fossils/sascha-willems/texture3d                2             -26.10%      
 fossils/sascha-willems/texturearray             2             -4.02%       
 fossils/sascha-willems/texturecubemap           4             -18.07%      
 fossils/sascha-willems/texturecubemaparray      4             -17.92%      
 fossils/sascha-willems/texturemipmapgen         2             -24.72%      
 fossils/sascha-willems/triangle                 2             -14.75%      
 fossils/sascha-willems/vertexattributes         4             -19.30%      
 fossils/sascha-willems/viewportarray            3             -19.87%      
 fossils/sascha-willems/vulkanscene              6             -17.33%      
 ----------------------------------------------------------------------------
 All affected                                    6386          -14.49%      
 ----------------------------------------------------------------------------
 Total                                           6568          -14.48%      

Merge request reports

Loading