Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lower private global variables in functions #2850

Merged
merged 1 commit into from
Nov 28, 2023
Merged

Conversation

jiaolu
Copy link
Contributor

@jiaolu jiaolu commented Nov 28, 2023

Usually the functions are inlined into one entry functions before the SpirvLowerGlobal Pass, However in one case,
llpc-raytracing-mode=continuations, the module does not inline library functions to entry function. the private global variables are used in multi functions. These private global variables are coming from gpurt hlsl module, which usually are enum values , hence, these global variables are loaded, but not stored. So we are probably safe to lower these variables in there used functions.

@jiaolu jiaolu requested a review from a team as a code owner November 28, 2023 07:46
@amdvlk-admin
Copy link
Collaborator

Test summary for commit 4bf8963

CTS tests (Failed: 474/138443)
  • Built with version 1.3.5.2
  • Ubuntu navi3x, Srdcvk
    • Passed: 34974/69228 (50.5%)
    • Failed: 237/69228 (0.3%)

      Failures:

      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.chit_shader.gpu_built.index_uint32.inactive_triangles
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.isect_shader.gpu_built.index_uint32.no_primitives_top
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.miss_shader.gpu_built.index_none.no_geometries_bottom
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.miss_shader.gpu_built.index_none.no_primitives_top
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.fastbuild_update_compaction_lowmemory_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.fasttrace_update_0_lowmemory_bothgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.0_0_0_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.fastbuild_0_0_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.fasttrace_0_0_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.fasttrace_0_0_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.fasttrace_update_0_lowmemory_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.padded.fastbuild_0_compaction_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.nopadding.fasttrace_0_compaction_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.padded.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.padded.0_update_0_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances_aop.nopadding.fastbuild_update_compaction_lowmemory_bothgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances_aop.padded.fasttrace_0_compaction_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs_aop.different_instances.nopadding.fasttrace_update_compaction_0
      Stack trace: Crash
      ...
      

    • Not Supported: 34017/69228 (49.1%)
    • Warnings: 0/69228 (0.0%)
    Ubuntu navi2x, Srdcvk
    • Passed: 35005/69215 (50.6%)
    • Failed: 237/69215 (0.3%)

      Failures:

      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.chit_shader.gpu_built.index_uint32.inactive_triangles
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.isect_shader.gpu_built.index_uint32.no_primitives_top
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.miss_shader.gpu_built.index_none.no_geometries_bottom
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.empty.miss_shader.gpu_built.index_none.no_primitives_top
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.fastbuild_update_compaction_lowmemory_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.nopadding.fasttrace_update_0_lowmemory_bothgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.0_0_0_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.fastbuild_0_0_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances.padded.fasttrace_0_0_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.fasttrace_0_0_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.nopadding.fasttrace_update_0_lowmemory_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.different_instances_aop.padded.fastbuild_0_compaction_0_bottomgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.nopadding.fasttrace_0_compaction_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.padded.0_0_compaction_lowmemory_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances.padded.0_update_0_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances_aop.nopadding.fastbuild_update_compaction_lowmemory_bothgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs.identical_instances_aop.padded.fasttrace_0_compaction_0_topgeneric
      Stack trace: Crash
      
      FAILURE: dEQP-VK.ray_query.acceleration_structures.flags.chit_shader.gpu_built.aabbs_aop.different_instances.nopadding.fasttrace_update_compaction_0
      Stack trace: Crash
      ...
      

    • Not Supported: 33973/69215 (49.1%)
    • Warnings: 0/69215 (0.0%)

Usually the functions are inlined into one entry functions before the
SpirvLowerGlobal Pass, However in one case,
llpc-raytracing-mode=continuations, the module does not inline library
functions to entry function. the private global variables are used in
multi functions. These private global variables are coming from
gpurt hlsl module, usually are enum values hence, these global
variables are loaded, but not stored. So we are probably safe lower
these variables in there used functions.

wer
@amdvlk-admin
Copy link
Collaborator

Test summary for commit b9f91e2

CTS tests (Failed: 0/138443)
  • Built with version 1.3.5.2
  • Ubuntu navi3x, Srdcvk
    • Passed: 35211/69228 (50.9%)
    • Failed: 0/69228 (0.0%)
    • Not Supported: 34017/69228 (49.1%)
    • Warnings: 0/69228 (0.0%)
    Ubuntu navi2x, Srdcvk
    • Passed: 35242/69215 (50.9%)
    • Failed: 0/69215 (0.0%)
    • Not Supported: 33973/69215 (49.1%)
    • Warnings: 0/69215 (0.0%)

@amdvlk-admin
Copy link
Collaborator

Test summary for commit f780231

CTS tests (Failed: 0/138378)
  • Built with version 1.3.5.2
  • Ubuntu navi3x, Srdcvk
    • Passed: 35162/69163 (50.8%)
    • Failed: 0/69163 (0.0%)
    • Not Supported: 34001/69163 (49.2%)
    • Warnings: 0/69163 (0.0%)
    Ubuntu navi2x, Srdcvk
    • Passed: 35242/69215 (50.9%)
    • Failed: 0/69215 (0.0%)
    • Not Supported: 33973/69215 (49.1%)
    • Warnings: 0/69215 (0.0%)

Copy link
Member

@nhaehnle nhaehnle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@jiaolu jiaolu merged commit 3ab64ff into GPUOpen-Drivers:dev Nov 28, 2023
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants