Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
#2
by kernels-bot - opened
README.md
CHANGED
|
@@ -3,7 +3,7 @@ library_name: kernels
|
|
| 3 |
license: mit
|
| 4 |
---
|
| 5 |
|
| 6 |
-
This is the repository card of
|
| 7 |
|
| 8 |
## How to use
|
| 9 |
|
|
@@ -11,7 +11,7 @@ This is the repository card of kernels-community/aiter-flash-attn that has been
|
|
| 11 |
# make sure `kernels` is installed: `pip install -U kernels`
|
| 12 |
from kernels import get_kernel
|
| 13 |
|
| 14 |
-
kernel_module = get_kernel("
|
| 15 |
flash_attn_func = kernel_module.flash_attn_func
|
| 16 |
|
| 17 |
flash_attn_func(...)
|
|
|
|
| 3 |
license: mit
|
| 4 |
---
|
| 5 |
|
| 6 |
+
This is the repository card of amd/aiter-flash-attn that has been pushed on the Hub. It was built to be used with the [`kernels` library](https://github.com/huggingface/kernels). This card was automatically generated.
|
| 7 |
|
| 8 |
## How to use
|
| 9 |
|
|
|
|
| 11 |
# make sure `kernels` is installed: `pip install -U kernels`
|
| 12 |
from kernels import get_kernel
|
| 13 |
|
| 14 |
+
kernel_module = get_kernel("amd/aiter-flash-attn", version=2)
|
| 15 |
flash_attn_func = kernel_module.flash_attn_func
|
| 16 |
|
| 17 |
flash_attn_func(...)
|
build/torch-rocm/_kernels/flash_attn_triton_amd/bwd.py
CHANGED
|
@@ -16,7 +16,7 @@ from .utils import (
|
|
| 16 |
|
| 17 |
PREPROCESS_AUTOTUNE_KEYS = [
|
| 18 |
"max_seqlen_q",
|
| 19 |
-
"
|
| 20 |
"IS_VARLEN",
|
| 21 |
]
|
| 22 |
|
|
@@ -24,7 +24,8 @@ CAUSAL_AUTOTUNE_KEYS = [
|
|
| 24 |
"dropout_p",
|
| 25 |
"max_seqlen_q",
|
| 26 |
"max_seqlen_k",
|
| 27 |
-
"
|
|
|
|
| 28 |
"IS_VARLEN",
|
| 29 |
"HQ",
|
| 30 |
"HK",
|
|
@@ -34,7 +35,8 @@ NONCAUSAL_AUTOTUNE_KEYS = [
|
|
| 34 |
"dropout_p",
|
| 35 |
"max_seqlen_q",
|
| 36 |
"max_seqlen_k",
|
| 37 |
-
"
|
|
|
|
| 38 |
"IS_VARLEN",
|
| 39 |
"HQ",
|
| 40 |
"HK",
|
|
|
|
| 16 |
|
| 17 |
PREPROCESS_AUTOTUNE_KEYS = [
|
| 18 |
"max_seqlen_q",
|
| 19 |
+
"ACTUAL_HEAD_DIM_V",
|
| 20 |
"IS_VARLEN",
|
| 21 |
]
|
| 22 |
|
|
|
|
| 24 |
"dropout_p",
|
| 25 |
"max_seqlen_q",
|
| 26 |
"max_seqlen_k",
|
| 27 |
+
"ACTUAL_HEAD_DIM_QK",
|
| 28 |
+
"ACTUAL_HEAD_DIM_V",
|
| 29 |
"IS_VARLEN",
|
| 30 |
"HQ",
|
| 31 |
"HK",
|
|
|
|
| 35 |
"dropout_p",
|
| 36 |
"max_seqlen_q",
|
| 37 |
"max_seqlen_k",
|
| 38 |
+
"ACTUAL_HEAD_DIM_QK",
|
| 39 |
+
"ACTUAL_HEAD_DIM_V",
|
| 40 |
"IS_VARLEN",
|
| 41 |
"HQ",
|
| 42 |
"HK",
|
build/torch-rocm/_ops.py
CHANGED
|
@@ -25,7 +25,7 @@ def get_backend() -> str:
|
|
| 25 |
|
| 26 |
def _find_ops_name() -> str:
|
| 27 |
kernel_name = "aiter_flash_attn"
|
| 28 |
-
unique_id = "
|
| 29 |
backend = get_backend()
|
| 30 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 31 |
|
|
|
|
| 25 |
|
| 26 |
def _find_ops_name() -> str:
|
| 27 |
kernel_name = "aiter_flash_attn"
|
| 28 |
+
unique_id = "5fe9dbb"
|
| 29 |
backend = get_backend()
|
| 30 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 31 |
|
build/torch-rocm/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "aiter-flash-attn",
|
| 3 |
-
"id": "
|
| 4 |
"version": 2,
|
| 5 |
"kernels-minver": "0.14.0",
|
| 6 |
"license": "MIT",
|
|
@@ -15,7 +15,7 @@
|
|
| 15 |
"__init__.py": "V8KdHVvK1+C2G2Ji5P8jHcFXRJcFb6I+OvrP0qHheD4=",
|
| 16 |
"_kernels/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 17 |
"_kernels/flash_attn_triton_amd/__init__.py": "j/n4XyqMKr0Xcl2QVHY+/ZRLW9CT46EsHblfZfZRW8E=",
|
| 18 |
-
"_kernels/flash_attn_triton_amd/bwd.py": "
|
| 19 |
"_kernels/flash_attn_triton_amd/common.py": "Za22tFtoBkGxRqpEBvIexRBlNsVdPxMeL8WnRD3ZRXw=",
|
| 20 |
"_kernels/flash_attn_triton_amd/fwd_decode.py": "8F/WwZpTCyFdy6ITf0Pe+HzUxnI4UmXt3c53RT5p34w=",
|
| 21 |
"_kernels/flash_attn_triton_amd/fwd_prefill.py": "G1InUnNUtHevT2YInshAlAiEEyloDTJQqqsWxsLMkX0=",
|
|
@@ -25,7 +25,7 @@
|
|
| 25 |
"_kernels/mha.py": "aXpxPRtrBPAPc9MXFPIMhZnGYddcd1+MlfrtrOBaKWQ=",
|
| 26 |
"_kernels/mha_fused_bwd.py": "eXvVWoS0ysazZttrPfoDA14hDcL9zcjlpwyLVbeVxeU=",
|
| 27 |
"_kernels/mha_onekernel_bwd.py": "DOWu0L/MqMNwGpHoBlObMtcnx+txk7juFlPF3FZ8U4I=",
|
| 28 |
-
"_ops.py": "
|
| 29 |
"configs/gfx1150-MHA-DEFAULT.json": "fY8XJia4+bo/qBUZhODLcWdN8ic+0n0ZUWmxAbcdxjk=",
|
| 30 |
"configs/gfx1151-MHA-DEFAULT.json": "fY8XJia4+bo/qBUZhODLcWdN8ic+0n0ZUWmxAbcdxjk=",
|
| 31 |
"configs/gfx1250-MHA-DEFAULT.json": "MC9NGs+jRZ0ppvwjszTaoc6YYMsaHKdXiP1K/cUZTSg=",
|
|
@@ -34,7 +34,7 @@
|
|
| 34 |
"mha.py": "tdH71c+PZ0vWTC6N5C79i0BzcmdUz3s6f2JuRhrrDSM=",
|
| 35 |
"mha_fused_bwd.py": "80rk+DlUC52j/c1hHym8xryXll/xGUtaYxn29YgCSRs=",
|
| 36 |
"mha_onekernel_bwd.py": "OsmmrfXuYtr/dwyZkC0beRZ+UM59lOoDQBQH4knQrGg=",
|
| 37 |
-
"symbols.json": "
|
| 38 |
"utils/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 39 |
"utils/_triton/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 40 |
"utils/_triton/arch_info.py": "D6l6BbeGTMMp48tMcti9Q2mLFsXBnbwoYeoMVyGyy6w=",
|
|
@@ -50,11 +50,11 @@
|
|
| 50 |
"provenance": {
|
| 51 |
"kernel-builder": {
|
| 52 |
"version": "0.18.0-dev0",
|
| 53 |
-
"commit": "
|
| 54 |
"dirty": false
|
| 55 |
},
|
| 56 |
"kernel": {
|
| 57 |
-
"commit": "
|
| 58 |
"dirty": false
|
| 59 |
}
|
| 60 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "aiter-flash-attn",
|
| 3 |
+
"id": "_aiter_flash_attn_rocm_5fe9dbb",
|
| 4 |
"version": 2,
|
| 5 |
"kernels-minver": "0.14.0",
|
| 6 |
"license": "MIT",
|
|
|
|
| 15 |
"__init__.py": "V8KdHVvK1+C2G2Ji5P8jHcFXRJcFb6I+OvrP0qHheD4=",
|
| 16 |
"_kernels/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 17 |
"_kernels/flash_attn_triton_amd/__init__.py": "j/n4XyqMKr0Xcl2QVHY+/ZRLW9CT46EsHblfZfZRW8E=",
|
| 18 |
+
"_kernels/flash_attn_triton_amd/bwd.py": "lGsltjiLtKO4vRMUmv5IzUWw2CPi+uG7AfTKVuGqI3w=",
|
| 19 |
"_kernels/flash_attn_triton_amd/common.py": "Za22tFtoBkGxRqpEBvIexRBlNsVdPxMeL8WnRD3ZRXw=",
|
| 20 |
"_kernels/flash_attn_triton_amd/fwd_decode.py": "8F/WwZpTCyFdy6ITf0Pe+HzUxnI4UmXt3c53RT5p34w=",
|
| 21 |
"_kernels/flash_attn_triton_amd/fwd_prefill.py": "G1InUnNUtHevT2YInshAlAiEEyloDTJQqqsWxsLMkX0=",
|
|
|
|
| 25 |
"_kernels/mha.py": "aXpxPRtrBPAPc9MXFPIMhZnGYddcd1+MlfrtrOBaKWQ=",
|
| 26 |
"_kernels/mha_fused_bwd.py": "eXvVWoS0ysazZttrPfoDA14hDcL9zcjlpwyLVbeVxeU=",
|
| 27 |
"_kernels/mha_onekernel_bwd.py": "DOWu0L/MqMNwGpHoBlObMtcnx+txk7juFlPF3FZ8U4I=",
|
| 28 |
+
"_ops.py": "lyeSILMGFhP3Wo3ytnmz7wH6TRXcd9jOcJ+2e0J96x8=",
|
| 29 |
"configs/gfx1150-MHA-DEFAULT.json": "fY8XJia4+bo/qBUZhODLcWdN8ic+0n0ZUWmxAbcdxjk=",
|
| 30 |
"configs/gfx1151-MHA-DEFAULT.json": "fY8XJia4+bo/qBUZhODLcWdN8ic+0n0ZUWmxAbcdxjk=",
|
| 31 |
"configs/gfx1250-MHA-DEFAULT.json": "MC9NGs+jRZ0ppvwjszTaoc6YYMsaHKdXiP1K/cUZTSg=",
|
|
|
|
| 34 |
"mha.py": "tdH71c+PZ0vWTC6N5C79i0BzcmdUz3s6f2JuRhrrDSM=",
|
| 35 |
"mha_fused_bwd.py": "80rk+DlUC52j/c1hHym8xryXll/xGUtaYxn29YgCSRs=",
|
| 36 |
"mha_onekernel_bwd.py": "OsmmrfXuYtr/dwyZkC0beRZ+UM59lOoDQBQH4knQrGg=",
|
| 37 |
+
"symbols.json": "MjzLzV945d3X064nIEtc5ahqIpcXhLErlJ77ooNLO+A=",
|
| 38 |
"utils/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 39 |
"utils/_triton/__init__.py": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
|
| 40 |
"utils/_triton/arch_info.py": "D6l6BbeGTMMp48tMcti9Q2mLFsXBnbwoYeoMVyGyy6w=",
|
|
|
|
| 50 |
"provenance": {
|
| 51 |
"kernel-builder": {
|
| 52 |
"version": "0.18.0-dev0",
|
| 53 |
+
"commit": "21bdf69d97a289b9c581a0c60f63deed131647d5",
|
| 54 |
"dirty": false
|
| 55 |
},
|
| 56 |
"kernel": {
|
| 57 |
+
"commit": "5fe9dbb3d45f6f2652958c1f70e5381891fa7aa0",
|
| 58 |
"dirty": false
|
| 59 |
}
|
| 60 |
}
|
build/torch-rocm/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLjCCBrOgAwIBAgIUJWsyFXgtGTum1jCoM+qwyeLFZfowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTA0ODM3WhcNMjYxMDE5MTA1ODM3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiF/IG2aUt17JyYcVltdxxj2/MKFOUqp/4VPhae+URdfx0jbACaiPr5y51PNJbXr3KJzu8cdECO/eGLRkbXgFQqOCBdIwggXOMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUxNTg0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU8cRkwAABAMASDBGAiEAhPiJtXTbgwZ3kTPB2XYt/4GObIBvmpfa/DoepXzTMv8CIQCCy+kUKXY7nj73wwZCV/Hcu8pxw4cy+Nbuno3H6Wha3zAKBggqhkjOPQQDAwNpADBmAjEAjqse6SOc76I43umXU189z4/baQrArLtgHO4AvEKBDis85c/28ILrcjtY0mO1f5ryAjEA00Lm/xEIIzm062ov2uftDANARz0lfxUD7oLzBdu2i3fqRFDjcrduz7X496upjPjk"}, "tlogEntries":[{"logIndex":"3320074406", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792406917", "inclusionPromise":{"signedEntryTimestamp":"MEUCIDfSrH0FRCsIC+joyQutYYyw9s4lUlv58BgbC/29c86PAiEAssx8dbswJJogyvdVslajKx6nqSbRS3wqs6kEkzejde0="}, "inclusionProof":{"logIndex":"3198170144", "rootHash":"Vha5rq1D9Jz6Xv8FOOFyhNT3vcCh/AqExWrCe4FBieQ=", "treeSize":"3198170146", "hashes":["Matvyag7DH2WGQ6WFMMlv/9vuXy4hobd/skKibGSOb0=", "0di0ysUN2b+Bzh4Y77CvYDauBByrlZY8Vw+YYPgTCDw=", "t+bF13oghnNWhvEPGWuJ3GSrAemcb6NyXdUgMQmd0nw=", "mYRxiYQkcP1L/Cwy4/s9+bVzbz3agcsV0/KsBJ6KeSc=", "XlZq0Tam0QY4z03gfNKdAZXwc+5eKuOO3j+1aAzrwW8=", "uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198170146\nVha5rq1D9Jz6Xv8FOOFyhNT3vcCh/AqExWrCe4FBieQ=\n\n— rekor.sigstore.dev wNI9ajBFAiEAoJot0hekMaCkao8YZTH/fGZ9z4RpLSCu4iFhzCXfmjYCIFrSY1zqqw39mhAHU7350rQkeBnDXG3dBXX9QtFZ23gw\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiMjc4MzQxZDAzMmU0MmFiZTBkNmJhNWM2MjdlYzY3OWZhYTgxZDNjMGFhMzEwN2VhNTliYmU0MjE4MzAxZDk0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJR3cxOGxaTmc2VzhadStDeCtiakpsWE5wbW0reTk4NXRlazhZL21nY3VqS0FpQnRWa0hvUExFRllFb1YwdVVNV0liT3RCYzg4bU5aSnp6UlBuWkhoMGxrY1E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1ha05EUW5KUFowRjNTVUpCWjBsVlNsZHplVVpZWjNSSFZIVnRNV3BEYjAwcmNYZDVaVXhHV21admQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFRXdUMFJOTTFkb1kwNU5hbGw0VFVSRk5VMVVRVEZQUkUwelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZwUmk5SlJ6SmhWWFF4TjBwNVdXTldiSFJrZUhocU1pOU5TMFpQVlhGd0x6UldVR2dLWVdVclZWSmtabmd3YW1KQlEyRnBVSEkxZVRVeFVFNUtZbGh5TTB0S2VuVTRZMlJGUTA4dlpVZE1VbXRpV0dkR1VYRlBRMEprU1hkbloxaFBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhoT1ZHY3dUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTUNrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NEQkZaWGRDTlVGSVkwRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRoalVtdDNRVUZDUVUxQlUwUkNSMEZwUlVGb1VHbEtkRmhVWW1kM1dqTnJWRkJDTWxoWmRDODBSMDlpU1VKMmJYQm1ZUW92Ukc5bGNGaDZWRTEyT0VOSlVVTkRlU3RyVlV0WVdUZHVhamN6ZDNkYVExWXZTR04xT0hCNGR6UmplU3RPWW5WdWJ6TklObGRvWVRONlFVdENaMmR4Q21ocmFrOVFVVkZFUVhkT2NFRkVRbTFCYWtWQmFuRnpaVFpUVDJNM05razBNM1Z0V0ZVeE9EbDZOQzlpWVZGeVFYSk1kR2RJVHpSQmRrVkxRa1JwY3pnS05XTXZNamhKVEhKamFuUlpNRzFQTVdZMWNubEJha1ZCTURCTWJTOTRSVWxKZW0wd05qSnZkakoxWm5SRVFVNUJVbm93YkdaNFZVUTNiMHg2UW1SMU1ncHBNMlp4VWtaRWFtTnlaSFY2TjFnME9UWjFjR3BRYW1zS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgKtKAo/mMLupVMIYsI96/u7Lz+3xTEuLJa6p6OqQ+vxsCFQDHTmw6DC3/Xua1KtiUttY21Wc1exgPMjAyNjEwMTkxMDQ4MzdaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEwNDgzN1owLwYJKoZIhvcNAQkEMSIEIFDWIZN/RpbymUHmwzM1GKiQmOuihYAPeMR404MNuVmsMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMA2sgm9HGEHaYW3uNdV4ix9n3Yc9t0lVd/wml/ucfkvgXI+9Lc0W6Q/eQR6TKhvrmAIwOaRvYsGfyNZn79DsGX+lVvJd4MrFAxasncGhXer6cM1nL+XkE8LRECiGkc4f+W/9"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"sng0HQMuQqvg1rpcYn7GefqoHTwKoxB+pZu+QhgwHZQ="}, "signature":"MEQCIGw18lZNg6W8Zu+Cx+bjJlXNpmm+y985tek8Y/mgcujKAiBtVkHoPLEFYEoV0uUMWIbOtBc88mNZJzzRPnZHh0lkcQ=="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrOgAwIBAgIUcZjucCFyYI3lfJKGYrZnOjIDDHcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDMwMTU0ODQ0WhcNMjYxMDMwMTU1ODQ0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4o4mEqFNvup5rIhbN4/KWd+DadfjsLm1ReC3KPPQkbjr2EkohtHeWZuz0goVx8QcqWA7uJn9XaP6/IIfYSEExqOCBdIwggXOMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBCg1ZmU5ZGJiM2Q0NWY2ZjI2NTI5NThjMWY3MGU1MzgxODkxZmE3YWEwMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDCg1ZmU5ZGJiM2Q0NWY2ZjI2NTI5NThjMWY3MGU1MzgxODkxZmE3YWEwMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDCg1ZmU5ZGJiM2Q0NWY2ZjI2NTI5NThjMWY3MGU1MzgxODkxZmE3YWEwMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoNWZlOWRiYjNkNDVmNmYyNjUyOTU4YzFmNzBlNTM4MTg5MWZhN2FhMDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy80MTA4MzQzMDg1My9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhjX/IPAAABAMASDBGAiEApvokvrG6WvHFhuxnHeQf2wmZ+YK7R+cYJ9cEdTsQz+gCIQCVZI+mZL/Grmx2AaavDWgO/rx5iDbkd601nrv7tqcRQjAKBggqhkjOPQQDAwNnADBkAjADd9O2WaHNQml4OpphIxzqKA5nJQqoqJAru3bLPoZUdhwuY3fN74ZL5TJ6CiRAkdUCMGAMr4o5QccoDDw8mijmx5i/CWjuowsbwunmf8b8AThjuYSe1ROZYAXjcGGZvvpTmw=="}, "tlogEntries":[{"logIndex":"3596821838", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1793375324", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQDGvidqTFrp+myp5Hd8Hd5M4Wy8flxMoLE9G5x6ArNSeQIhALNwN5pC4fSIOowgFobe1pWR7eK9kLL8F6FfS/QBzzgC"}, "inclusionProof":{"logIndex":"3474917576", "rootHash":"/vcoJodnR64W76+lUXpIC29NpWFtGaZE/BzHSnBNd74=", "treeSize":"3474917693", "hashes":["eWF8bF79qu+dkhKmCRZlxjVrsbqr97by8lqfPmIgDrk=", "9VtYRngBXJB5oiqb/iCq1E53iAQYI9I5YdCFkG4/cFA=", "kD9tEuNF08bQSSPte/Oc2cW0+dHMOO5cSxJPPFgIuFw=", "8IPG4Y9LcCEH16eX++G1ESC+eUyNJ+qvAm4lKe8OILs=", "3dvIeZLgrFXI6etN6BmW0eV00zGE2Fh9CsWHNGx/sMM=", "sTLc7npGe02bnXjRm+S+jAGinQSriX8bdQs1D5+nuWY=", "7sJe28qiDxz8yoxJheX4o224lBzSVE+AbJiN0vvJn5w=", "O4TjPFRnu97iR0DMNPyEkLI2CKUz30p+bgADwpHzMe4=", "iTiOnRbcIAdiMBpd6Cxz4oPLHK65OKVdTTVc7GjEFv4=", "ac2aODHcGAM4jx1b5/m0qffplmbFFoA705g7p+p5Ud8=", "xh9r/iyfhDOte9aeYh4YYVlCd/ocNrH1SSlwoQrRIX4=", "m4q/2xqKhDKw3zaiWyQGw2uAblXSCvWOLU5u+Rqh6TQ=", "Vj1dqwl91IKLknCTGMZxfRmGLwaaOKyzWYkqpfhlx8o=", "p1I5ZggjULSs5zA57RP0QvK+8kSLtJbmWwR3QOsQo7g=", "dWJeI0tsGHeawe97b89LCkAlxWCLfrUshw9/HC6cfWA=", "e3OaWwzL1tEWYXiUzGpH+1v9CiFPwweyfRzIh3Z+uO4=", "b+938HIdfjdD/+LgIs3AVRE3Wc65/1NSSAL4OJ5FUXE=", "kQz/4ND7LdhfAQn+idNsO+ZFC32sfkYRlhjWF5W+sPc=", "zGfeoWKmrZlXMOvyi3R2GDbGpmI1skJW/wLTXCCgF0o=", "1DaDKzrCNNBhmSdY5vFjz+NpAmxmYfYEgBCdPLrMP1A=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3474917693\n/vcoJodnR64W76+lUXpIC29NpWFtGaZE/BzHSnBNd74=\n\n— rekor.sigstore.dev wNI9ajBEAiBxEsG9nizfrN+W8Fzl/oSET20WN/U4VdPpNKv7Q0DBmAIgQkWCfZ4CyLi7xBiiwpq/6G1v6eyVWMvF/Vg4tV7d5RQ=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjNGUwMWRiNGRmZmMzNzgxYTBlOGRmZWQ1ZDZmYTAzYTYwNDliMzRkZmU4YzczZmU0MGVjMzBjNmNkNjlhOWU4In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNQdU5uVDhuOHpqRjA5RVd4OVdFb2w4aDVvU2diS1dwU0xLaVJ6am1PMjhnSWdVblllMnhlSktEVGpNNm1RSDNiS0hzSUhqSmJtYlhuQld6aHV3WGdENC8wPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KUFowRjNTVUpCWjBsVlkxcHFkV05EUm5sWlNUTnNaa3BMUjFseVdtNVBha2xFUkVoamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFVFhkTlZGVXdUMFJSTUZkb1kwNU5hbGw0VFVSTmQwMVVWVEZQUkZFd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUwYnpSdFJYRkdUbloxY0RWeVNXaGlUalF2UzFka0swUmhaR1pxYzB4dE1WSmxRek1LUzFCUVVXdGlhbkl5Uld0dmFIUklaVmRhZFhvd1oyOVdlRGhSWTNGWFFUZDFTbTQ1V0dGUU5pOUpTV1paVTBWRmVIRlBRMEprU1hkbloxaFBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4V20xVk5RcGFSMHBwVFRKUk1FNVhXVEphYWtreVRsUkpOVTVVYUdwTlYxa3pUVWRWTVUxNlozaFBSR3Q0V20xRk0xbFhSWGROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGYWJWVTFXa2RLYVUweVVUQk9WMWt5Q2xwcVNUSk9WRWsxVGxSb2FrMVhXVE5OUjFVeFRYcG5lRTlFYTNoYWJVVXpXVmRGZDAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGYWJWVTFDbHBIU21sTk1sRXdUbGRaTWxwcVNUSk9WRWsxVGxSb2FrMVhXVE5OUjFVeFRYcG5lRTlFYTNoYWJVVXpXVmRGZDAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVjFwc1QxZFNhVmxxVG10T1JGWnRUbTFaZVU1cVZYbFBWRlUwV1hwR2JVNTZRbXhPVkUwMFRWUm5OVTFYV21nS1RqSkdhRTFFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRnd1RWUkJORTE2VVhwTlJHY3hUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTUNrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NEQkZaWGRDTlVGSVkwRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvYWxndlNWQkJRVUZDUVUxQlUwUkNSMEZwUlVGd2RtOXJkbkpITmxkMlNFWm9kWGh1U0dWUlpqSjNiVm9yV1VzM1VpdGpXUXBLT1dORlpGUnpVWG9yWjBOSlVVTldXa2tyYlZwTUwwZHliWGd5UVdGaGRrUlhaMDh2Y25nMWFVUmlhMlEyTURGdWNuWTNkSEZqVWxGcVFVdENaMmR4Q21ocmFrOVFVVkZFUVhkT2JrRkVRbXRCYWtGRVpEbFBNbGRoU0U1UmJXdzBUM0J3YUVsNGVuRkxRVFZ1U2xGeGIzRktRWEoxTTJKTVVHOWFWV1JvZDNVS1dUTm1UamMwV2t3MVZFbzJRMmxTUVd0a1ZVTk5SMEZOY2pSdk5WRmpZMjlFUkhjNGJXbHFiWGcxYVM5RFYycDFiM2R6WW5kMWJtMW1PR0k0UVZSb2FncDFXVk5sTVZKUFdsbEJXR3BqUjBkYWRuWndWRzEzUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgKKcvFwxEUMU55ABgTBvYs1XolZroojHEnXs6roOa6N0CFCIpuywAqVhCOCcVA9cAoMUZtw3kGA8yMDI2MTAzMDE1NDg0NFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDMwMTU0ODQ0WjAvBgkqhkiG9w0BCQQxIgQgDojyoTeUUGT3K6FTA7Khje608ztaFNWVSCUfPpPBHJ8wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwXP8JDRqn5OQgzpjB6XnJ5RorKaD2fAVXhIR89vWXQQX8IqbrwsG81HIySaxGvXrIAjEAgakNLAXrQvnZNPzynM1lpzdp+5+099C3EQBBgi4bWUxCfihS1+TZo9Eiscp5fo7Q"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"xOAdtN/8N4Gg6N/tXW+gOmBJs03+jHP+QOwwxs1pqeg="}, "signature":"MEUCIQCPuNnT8n8zjF09EWx9WEol8h5oSgbKWpSLKiRzjmO28gIgUnYe2xeJKDTjM6mQH3bKHsIHjJbmbXnBWzhuwXgD4/0="}}
|
build/torch-rocm/symbols.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
{
|
| 2 |
"schema_version": 1,
|
| 3 |
-
"module": "
|
| 4 |
"functions": [
|
| 5 |
{
|
| 6 |
"name": "flash_attn_func",
|
| 7 |
"qualname": "flash_attn_func",
|
| 8 |
-
"module": "
|
| 9 |
"kind": "function",
|
| 10 |
"doc": "dropout_p should be set to 0.0 during evaluation\nSupports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads\nthan Q. Note that the number of heads in Q must be divisible by the number of heads in KV.\nFor example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head\n0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V.\n\nIf causal=True, the causal mask is aligned to the bottom right corner of the attention matrix.\nFor example, if seqlen_q = 2 and seqlen_k = 5, the causal mask (1 = keep, 0 = masked out) is:\n 1 1 1 1 0\n 1 1 1 1 1\nIf seqlen_q = 5 and seqlen_k = 2, the causal mask is:\n 0 0\n 0 0\n 0 0\n 1 0\n 1 1\nIf the row of the mask is all zero, the output will be zero.\n\nIf window_size != (-1, -1), implements sliding window local attention. Query at position i\nwill only attend to keys between\n[i + seqlen_k - seqlen_q - window_size[0], i + seqlen_k - seqlen_q + window_size[1]] inclusive.\n\nArguments:\n q: (batch_size, seqlen, nheads, headdim)\n k: (batch_size, seqlen, nheads_k, headdim)\n v: (batch_size, seqlen, nheads_k, headdim)\n dropout_p: float. Dropout probability.\n softmax_scale: float. The scaling of QK^T before applying softmax.\n Default to 1 / sqrt(headdim_q).\n causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling).\n window_size: (left, right). If not (-1, -1), implements sliding window local attention.\n bias: (seqlen_q, seqlen_k)\n alibi_slopes: (nheads,) or (batch_size, nheads), fp32. A bias of\n (-alibi_slope * |i + seqlen_k - seqlen_q - j|)\n is added to the attention score of query i and key j.\n deterministic: bool. Whether to use the deterministic implementation of the backward pass,\n which is slightly slower and uses more memory. The forward pass is always deterministic.\n return_attn_probs: bool. Whether to return the attention probabilities. This option is for\n testing only. The returned probabilities are not guaranteed to be correct\n (they might not have the right scaling).\n s_aux: (nheads,), attention sink scores (one per Q head), or None\nReturn:\n out: (batch_size, seqlen, nheads, headdim).\n softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The\n logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax\n normalization factor).\n S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen).\n The output of softmax (possibly with different scaling). It also encodes the dropout\n pattern (negative means that location was dropped, nonnegative means it was kept).",
|
| 11 |
"signature": {
|
|
@@ -101,7 +101,7 @@
|
|
| 101 |
{
|
| 102 |
"name": "flash_attn_varlen_func",
|
| 103 |
"qualname": "flash_attn_varlen_func",
|
| 104 |
-
"module": "
|
| 105 |
"kind": "function",
|
| 106 |
"doc": "dropout_p should be set to 0.0 during evaluation\nSupports multi-query and grouped-query attention (MQA/GQA) by passing in K, V with fewer heads\nthan Q. Note that the number of heads in Q must be divisible by the number of heads in KV.\nFor example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head\n0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V.\n\nIf causal=True, the causal mask is aligned to the bottom right corner of the attention matrix.\nFor example, if seqlen_q = 2 and seqlen_k = 5, the causal mask (1 = keep, 0 = masked out) is:\n 1 1 1 1 0\n 1 1 1 1 1\nIf seqlen_q = 5 and seqlen_k = 2, the causal mask is:\n 0 0\n 0 0\n 0 0\n 1 0\n 1 1\nIf the row of the mask is all zero, the output will be zero.\n\nIf window_size != (-1, -1), implements sliding window local attention. Query at position i\nwill only attend to keys between\n[i + seqlen_k - seqlen_q - window_size[0], i + seqlen_k - seqlen_q + window_size[1]] inclusive.\n\nArguments:\n q: (total_q, nheads, headdim), where total_q = total number of query tokens in the batch.\n k: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch.\n v: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch.\n cu_seqlens_q: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths\n of the sequences in the batch, used to index into q.\n cu_seqlens_k: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths\n of the sequences in the batch, used to index into kv.\n max_seqlen_q: int. Maximum query sequence length in the batch.\n max_seqlen_k: int. Maximum key sequence length in the batch.\n dropout_p: float. Dropout probability.\n softmax_scale: float. The scaling of QK^T before applying softmax.\n Default to 1 / sqrt(headdim).\n causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling).\n window_size: (left, right). If not (-1, -1), implements sliding window local attention.\n bias: (seqlen_q, seqlen_k)\n alibi_slopes: (nheads,) or (batch_size, nheads), fp32. A bias of\n (-alibi_slope * |i + seqlen_k - seqlen_q - j|)\n is added to the attention score of query i and key j.\n deterministic: bool. Whether to use the deterministic implementation of the backward pass,\n which is slightly slower and uses more memory. The forward pass is always deterministic.\n return_attn_probs: bool. Whether to return the attention probabilities. This option is for\n testing only. The returned probabilities are not guaranteed to be correct\n (they might not have the right scaling).\n s_aux: (nheads,), attention sink scores (one per Q head), or None\nReturn:\n out: (total, nheads, headdim).\n softmax_lse [optional, if return_attn_probs=True]: (nheads, total_q_seqlen). The\n logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax\n normalization factor).\n S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen).\n The output of softmax (possibly with different scaling). It also encodes the dropout\n pattern (negative means that location was dropped, nonnegative means it was kept).",
|
| 107 |
"signature": {
|
|
@@ -233,7 +233,7 @@
|
|
| 233 |
{
|
| 234 |
"name": "flash_attn_with_kvcache",
|
| 235 |
"qualname": "flash_attn_with_kvcache",
|
| 236 |
-
"module": "
|
| 237 |
"kind": "function",
|
| 238 |
"doc": "This mirrors the public flash_attn v2 interface for KV cache using the AMD Triton backend.\n\nArgs:\n q: (batch, seqlen_q, nheads_q, headdim)\n k_cache / v_cache: Either contiguous (batch, seqlen_cache, nheads_k, headdim) or paged\n (num_blocks, page_block_size, nheads_k, headdim) when block_table provided.\n k, v: Optional incremental tokens to append in-place (appended logically after existing cache).\n cache_seqlens: int or (batch,) current valid lengths per batch entry.\n softmax_scale: Optional override; defaults to 1/sqrt(headdim).\n causal: Apply causal masking.\n window_size: (left, right) local attention window; (-1,-1) = full.\n softcap: (float) currently must be 0.0 (backend limitation).\n num_splits: 0 or 1 only (backend limitation >1).\n rotary_cos/rotary_sin: Optional rotary embeddings (applied if provided) - interleaving flag unused here.\n cache_batch_idx/cache_leftpad: Optional indexing / left padding metadata.\n block_table: Optional paging table mapping logical blocks for paged KV cache.\n alibi_slopes: (nheads,) or (batch,nheads) bias slopes (currently ignored if provided - placeholder).\n rotary_interleaved: Flag kept for parity (currently forwarded as True constant to backend which ignores it).\n return_softmax_lse: If True returns (out, lse) else out.\n\nReturns:\n out (and optionally softmax_lse): (batch, seqlen_q, nheads_q, headdim)",
|
| 239 |
"signature": {
|
|
@@ -359,7 +359,7 @@
|
|
| 359 |
{
|
| 360 |
"name": "mha_set_impl",
|
| 361 |
"qualname": "mha_set_impl",
|
| 362 |
-
"module": "
|
| 363 |
"kind": "function",
|
| 364 |
"doc": "Set MHA forward implementation: 'default' (_attn_fwd) or 'dao_ai' (flash_attn_triton_amd).",
|
| 365 |
"signature": {
|
|
@@ -377,7 +377,7 @@
|
|
| 377 |
{
|
| 378 |
"name": "mha_set_use_fused_bwd_kernel",
|
| 379 |
"qualname": "mha_set_use_fused_bwd_kernel",
|
| 380 |
-
"module": "
|
| 381 |
"kind": "function",
|
| 382 |
"doc": "Set whether to use fused backward kernel (with atomics) or one-kernel backward (without atomics).\nFused backward is faster but doesn't support positional encoding.",
|
| 383 |
"signature": {
|
|
@@ -395,7 +395,7 @@
|
|
| 395 |
{
|
| 396 |
"name": "mha_set_use_int64_strides",
|
| 397 |
"qualname": "mha_set_use_int64_strides",
|
| 398 |
-
"module": "
|
| 399 |
"kind": "function",
|
| 400 |
"doc": "Use 64-bit integer strides to prevent integer overflows with very large tensors.",
|
| 401 |
"signature": {
|
|
|
|
| 1 |
{
|
| 2 |
"schema_version": 1,
|
| 3 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb",
|
| 4 |
"functions": [
|
| 5 |
{
|
| 6 |
"name": "flash_attn_func",
|
| 7 |
"qualname": "flash_attn_func",
|
| 8 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 9 |
"kind": "function",
|
| 10 |
"doc": "dropout_p should be set to 0.0 during evaluation\nSupports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads\nthan Q. Note that the number of heads in Q must be divisible by the number of heads in KV.\nFor example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head\n0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V.\n\nIf causal=True, the causal mask is aligned to the bottom right corner of the attention matrix.\nFor example, if seqlen_q = 2 and seqlen_k = 5, the causal mask (1 = keep, 0 = masked out) is:\n 1 1 1 1 0\n 1 1 1 1 1\nIf seqlen_q = 5 and seqlen_k = 2, the causal mask is:\n 0 0\n 0 0\n 0 0\n 1 0\n 1 1\nIf the row of the mask is all zero, the output will be zero.\n\nIf window_size != (-1, -1), implements sliding window local attention. Query at position i\nwill only attend to keys between\n[i + seqlen_k - seqlen_q - window_size[0], i + seqlen_k - seqlen_q + window_size[1]] inclusive.\n\nArguments:\n q: (batch_size, seqlen, nheads, headdim)\n k: (batch_size, seqlen, nheads_k, headdim)\n v: (batch_size, seqlen, nheads_k, headdim)\n dropout_p: float. Dropout probability.\n softmax_scale: float. The scaling of QK^T before applying softmax.\n Default to 1 / sqrt(headdim_q).\n causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling).\n window_size: (left, right). If not (-1, -1), implements sliding window local attention.\n bias: (seqlen_q, seqlen_k)\n alibi_slopes: (nheads,) or (batch_size, nheads), fp32. A bias of\n (-alibi_slope * |i + seqlen_k - seqlen_q - j|)\n is added to the attention score of query i and key j.\n deterministic: bool. Whether to use the deterministic implementation of the backward pass,\n which is slightly slower and uses more memory. The forward pass is always deterministic.\n return_attn_probs: bool. Whether to return the attention probabilities. This option is for\n testing only. The returned probabilities are not guaranteed to be correct\n (they might not have the right scaling).\n s_aux: (nheads,), attention sink scores (one per Q head), or None\nReturn:\n out: (batch_size, seqlen, nheads, headdim).\n softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The\n logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax\n normalization factor).\n S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen).\n The output of softmax (possibly with different scaling). It also encodes the dropout\n pattern (negative means that location was dropped, nonnegative means it was kept).",
|
| 11 |
"signature": {
|
|
|
|
| 101 |
{
|
| 102 |
"name": "flash_attn_varlen_func",
|
| 103 |
"qualname": "flash_attn_varlen_func",
|
| 104 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 105 |
"kind": "function",
|
| 106 |
"doc": "dropout_p should be set to 0.0 during evaluation\nSupports multi-query and grouped-query attention (MQA/GQA) by passing in K, V with fewer heads\nthan Q. Note that the number of heads in Q must be divisible by the number of heads in KV.\nFor example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head\n0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V.\n\nIf causal=True, the causal mask is aligned to the bottom right corner of the attention matrix.\nFor example, if seqlen_q = 2 and seqlen_k = 5, the causal mask (1 = keep, 0 = masked out) is:\n 1 1 1 1 0\n 1 1 1 1 1\nIf seqlen_q = 5 and seqlen_k = 2, the causal mask is:\n 0 0\n 0 0\n 0 0\n 1 0\n 1 1\nIf the row of the mask is all zero, the output will be zero.\n\nIf window_size != (-1, -1), implements sliding window local attention. Query at position i\nwill only attend to keys between\n[i + seqlen_k - seqlen_q - window_size[0], i + seqlen_k - seqlen_q + window_size[1]] inclusive.\n\nArguments:\n q: (total_q, nheads, headdim), where total_q = total number of query tokens in the batch.\n k: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch.\n v: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch.\n cu_seqlens_q: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths\n of the sequences in the batch, used to index into q.\n cu_seqlens_k: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths\n of the sequences in the batch, used to index into kv.\n max_seqlen_q: int. Maximum query sequence length in the batch.\n max_seqlen_k: int. Maximum key sequence length in the batch.\n dropout_p: float. Dropout probability.\n softmax_scale: float. The scaling of QK^T before applying softmax.\n Default to 1 / sqrt(headdim).\n causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling).\n window_size: (left, right). If not (-1, -1), implements sliding window local attention.\n bias: (seqlen_q, seqlen_k)\n alibi_slopes: (nheads,) or (batch_size, nheads), fp32. A bias of\n (-alibi_slope * |i + seqlen_k - seqlen_q - j|)\n is added to the attention score of query i and key j.\n deterministic: bool. Whether to use the deterministic implementation of the backward pass,\n which is slightly slower and uses more memory. The forward pass is always deterministic.\n return_attn_probs: bool. Whether to return the attention probabilities. This option is for\n testing only. The returned probabilities are not guaranteed to be correct\n (they might not have the right scaling).\n s_aux: (nheads,), attention sink scores (one per Q head), or None\nReturn:\n out: (total, nheads, headdim).\n softmax_lse [optional, if return_attn_probs=True]: (nheads, total_q_seqlen). The\n logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax\n normalization factor).\n S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen).\n The output of softmax (possibly with different scaling). It also encodes the dropout\n pattern (negative means that location was dropped, nonnegative means it was kept).",
|
| 107 |
"signature": {
|
|
|
|
| 233 |
{
|
| 234 |
"name": "flash_attn_with_kvcache",
|
| 235 |
"qualname": "flash_attn_with_kvcache",
|
| 236 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 237 |
"kind": "function",
|
| 238 |
"doc": "This mirrors the public flash_attn v2 interface for KV cache using the AMD Triton backend.\n\nArgs:\n q: (batch, seqlen_q, nheads_q, headdim)\n k_cache / v_cache: Either contiguous (batch, seqlen_cache, nheads_k, headdim) or paged\n (num_blocks, page_block_size, nheads_k, headdim) when block_table provided.\n k, v: Optional incremental tokens to append in-place (appended logically after existing cache).\n cache_seqlens: int or (batch,) current valid lengths per batch entry.\n softmax_scale: Optional override; defaults to 1/sqrt(headdim).\n causal: Apply causal masking.\n window_size: (left, right) local attention window; (-1,-1) = full.\n softcap: (float) currently must be 0.0 (backend limitation).\n num_splits: 0 or 1 only (backend limitation >1).\n rotary_cos/rotary_sin: Optional rotary embeddings (applied if provided) - interleaving flag unused here.\n cache_batch_idx/cache_leftpad: Optional indexing / left padding metadata.\n block_table: Optional paging table mapping logical blocks for paged KV cache.\n alibi_slopes: (nheads,) or (batch,nheads) bias slopes (currently ignored if provided - placeholder).\n rotary_interleaved: Flag kept for parity (currently forwarded as True constant to backend which ignores it).\n return_softmax_lse: If True returns (out, lse) else out.\n\nReturns:\n out (and optionally softmax_lse): (batch, seqlen_q, nheads_q, headdim)",
|
| 239 |
"signature": {
|
|
|
|
| 359 |
{
|
| 360 |
"name": "mha_set_impl",
|
| 361 |
"qualname": "mha_set_impl",
|
| 362 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 363 |
"kind": "function",
|
| 364 |
"doc": "Set MHA forward implementation: 'default' (_attn_fwd) or 'dao_ai' (flash_attn_triton_amd).",
|
| 365 |
"signature": {
|
|
|
|
| 377 |
{
|
| 378 |
"name": "mha_set_use_fused_bwd_kernel",
|
| 379 |
"qualname": "mha_set_use_fused_bwd_kernel",
|
| 380 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 381 |
"kind": "function",
|
| 382 |
"doc": "Set whether to use fused backward kernel (with atomics) or one-kernel backward (without atomics).\nFused backward is faster but doesn't support positional encoding.",
|
| 383 |
"signature": {
|
|
|
|
| 395 |
{
|
| 396 |
"name": "mha_set_use_int64_strides",
|
| 397 |
"qualname": "mha_set_use_int64_strides",
|
| 398 |
+
"module": "_aiter_flash_attn_rocm_5fe9dbb.mha",
|
| 399 |
"kind": "function",
|
| 400 |
"doc": "Use 64-bit integer strides to prevent integer overflows with very large tensors.",
|
| 401 |
"signature": {
|