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

SPIRV-Runner crash after signature/constant representation change (PR-3043) #3096

Open
kballeda opened this issue Jan 6, 2025 · 2 comments · May be fixed by #3182
Open

SPIRV-Runner crash after signature/constant representation change (PR-3043) #3096

kballeda opened this issue Jan 6, 2025 · 2 comments · May be fixed by #3182
Assignees
Labels
bug Something isn't working

Comments

@kballeda
Copy link
Contributor

kballeda commented Jan 6, 2025

Describe the bug

SPIR-V Runner fails to generate the serialized kernel argument data as the signature and constants representation has changed as part of recent update on main with PR - #3043 .

Prior to #3043 [Working Version]:

signature:
{0: '*fp32', 1: 'i32', 2: 'i32', 3: '*fp32', 4: 'i32', 5: 'i32', 6: '*fp32', 7: 'i32', 8: 'i32', 9: '*fp32', 10: 'i32', 11: 'i32'}

constants:
{2: 1, 5: 1, 8: 1, 11: 1, 12: 64, 13: 128, 14: 128, 15: False, 16: False, 17: False, 18: 'tf32', 19: False, 20: False, 21: False, 22: False, 23: triton.language.float32}

After #3043 [Failed version]:

Signature:
 {'X': '*fp32', 'stride_xm': 'i32', 'stride_xk': 'i32', 'Y': '*fp32', 'stride_yk': 'i32', 'stride_yn': 'i32', 'W': '*fp32', 'stride_wn': 'i32', 'stride_wl': 'i32', 'Z': '*fp32', 'stride_zm': 'i32', 'stride_zn': 'i32', 'BLOCK_M': 'constexpr', 'BLOCK_N': 'constexpr', 'BLOCK_K': 'constexpr', 'ADD_MATRIX': 'constexpr', 'ADD_ROWS': 'constexpr', 'ADD_COLS': 'constexpr', 'INPUT_PRECISION': 'constexpr', 'DO_SOFTMAX': 'constexpr', 'CHAIN_DOT': 'constexpr', 'COL_A': 'constexpr', 'COL_B': 'constexpr', 'out_dtype': 'constexpr'}

Constants:
{'BLOCK_M': 64, 'BLOCK_N': 128, 'BLOCK_K': 128, 'ADD_MATRIX': False, 'ADD_ROWS': False, 'ADD_COLS': False, 'INPUT_PRECISION': 'tf32', 'DO_SOFTMAX': False, 'CHAIN_DOT': False, 'COL_A': False, 'COL_B': False, 'out_dtype': triton.language.float32, 'stride_xk': 1, 'stride_yn': 1, 'stride_wl': 1, 'stride_zn': 1}

Environment details

Follow the SPIRV-Runner steps to reproduce this issue - https://github.com/intel/intel-xpu-backend-for-triton/tree/main/utils/SPIRVRunner

@kballeda kballeda added the bug Something isn't working label Jan 6, 2025
@kballeda
Copy link
Contributor Author

image
@anmyachev / @whitneywhtsang : Just a general query on why we modified the way we structure signature and constants ?
In the snapshot attached here, the highlighted arguments are the valid constants for kernel.

@anmyachev
Copy link
Contributor

@anmyachev / @whitneywhtsang : Just a general query on why we modified the way we structure signature and constants ? In the snapshot attached here, the highlighted arguments are the valid constants for kernel.

This is due to changes in the interface of Triton itself, in the following pull requests they were ported to our repository: #3043 and #3112.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants