Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse files- README.md +2 -3
- build/torch-cuda/_ops.py +3 -6
- build/torch-cuda/metadata.json +6 -5
- build/torch-cuda/metadata.json.sigstore +1 -1
- build/torch-cuda/symbols.json +343 -0
README.md
CHANGED
|
@@ -12,13 +12,12 @@ This is the repository card of kernels-community/flash-attn4 that has been pushe
|
|
| 12 |
from kernels import get_kernel
|
| 13 |
|
| 14 |
kernel_module = get_kernel("kernels-community/flash-attn4", version=1)
|
| 15 |
-
|
| 16 |
|
| 17 |
-
|
| 18 |
```
|
| 19 |
|
| 20 |
## Available functions
|
| 21 |
-
- `_private_for_testing`
|
| 22 |
- `flash_attn_func`
|
| 23 |
- `flash_attn_varlen_func`
|
| 24 |
|
|
|
|
| 12 |
from kernels import get_kernel
|
| 13 |
|
| 14 |
kernel_module = get_kernel("kernels-community/flash-attn4", version=1)
|
| 15 |
+
flash_attn_func = kernel_module.flash_attn_func
|
| 16 |
|
| 17 |
+
flash_attn_func(...)
|
| 18 |
```
|
| 19 |
|
| 20 |
## Available functions
|
|
|
|
| 21 |
- `flash_attn_func`
|
| 22 |
- `flash_attn_varlen_func`
|
| 23 |
|
build/torch-cuda/_ops.py
CHANGED
|
@@ -4,11 +4,8 @@ def get_backend() -> str:
|
|
| 4 |
"""Detect the backend by inspecting torch."""
|
| 5 |
import torch
|
| 6 |
|
| 7 |
-
if hasattr(torch
|
| 8 |
-
|
| 9 |
-
# torch's device-backend autoload), regardless of whether TPU
|
| 10 |
-
# hardware is present — analogous to torch.version.cuda being
|
| 11 |
-
# set on CUDA builds without a GPU.
|
| 12 |
return "tpu"
|
| 13 |
elif hasattr(torch, "neuron"):
|
| 14 |
# Needs to be sorted before specific Torch builds, since Neuron
|
|
@@ -28,7 +25,7 @@ def get_backend() -> str:
|
|
| 28 |
|
| 29 |
def _find_ops_name() -> str:
|
| 30 |
kernel_name = "flash_attn4"
|
| 31 |
-
unique_id = "
|
| 32 |
backend = get_backend()
|
| 33 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 34 |
|
|
|
|
| 4 |
"""Detect the backend by inspecting torch."""
|
| 5 |
import torch
|
| 6 |
|
| 7 |
+
acc = torch.accelerator.current_accelerator() if hasattr(torch, "accelerator") else None
|
| 8 |
+
if acc is not None and acc.type == "tpu":
|
|
|
|
|
|
|
|
|
|
| 9 |
return "tpu"
|
| 10 |
elif hasattr(torch, "neuron"):
|
| 11 |
# Needs to be sorted before specific Torch builds, since Neuron
|
|
|
|
| 25 |
|
| 26 |
def _find_ops_name() -> str:
|
| 27 |
kernel_name = "flash_attn4"
|
| 28 |
+
unique_id = "fe2bb66"
|
| 29 |
backend = get_backend()
|
| 30 |
return f"_{kernel_name}_{backend}_{unique_id}"
|
| 31 |
|
build/torch-cuda/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "flash-attn4",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"kernels-minver": "0.14.0",
|
| 6 |
"license": "BSD-3-Clause",
|
|
@@ -18,7 +18,7 @@
|
|
| 18 |
"algorithm": "sha256",
|
| 19 |
"files": {
|
| 20 |
"__init__.py": "9nhmToMqhkzqb88qdOhfpDICvN3LHSZhEM8HXa7VlcU=",
|
| 21 |
-
"_ops.py": "
|
| 22 |
"_private_for_testing.py": "QXVDjtjb5NEXpgkZ93UyWJgHbrhi757Jlc8lkkTKETw=",
|
| 23 |
"ampere_helpers.py": "ytrBcKfaN54nw20EQ2BIDXEM+ojQgtrSud7NWOSEcRE=",
|
| 24 |
"barrier.py": "dnr4B6p1IbjRXubJU09HRaetIiSw2iuBbMScy56mwRk=",
|
|
@@ -73,6 +73,7 @@
|
|
| 73 |
"sm100_hd256_2cta_fmha_backward_dqkernel.py": "SKQ8lUEl1P4ZcsHiMaGBqQJFL2o0oZTJhF8oOx6iXDs=",
|
| 74 |
"sm100_hd256_2cta_fmha_forward.py": "aJ0icWUbC3D2iLlj8SDXb+eaM0/U4mljFlIaH8iEZd4=",
|
| 75 |
"softmax.py": "eCMvLFCXjlrgm0s24D5rrdbFFRMyah1ESWjB3BEgLu4=",
|
|
|
|
| 76 |
"testing.py": "M0K0R1EmZm5b/wUDFs0qWGhS98gusj/SEXJHDMQKFf8=",
|
| 77 |
"tile_scheduler.py": "ELRFy6rI+J+8Z2fMDLxYrCiuUMSaBLa4h10dIe27bmA=",
|
| 78 |
"topk_gather_kv.py": "WchMfXog4eIIIOhTKu0vE5k3dfn41jVqrl9wtafJvRw=",
|
|
@@ -81,12 +82,12 @@
|
|
| 81 |
},
|
| 82 |
"provenance": {
|
| 83 |
"kernel-builder": {
|
| 84 |
-
"version": "0.
|
| 85 |
-
"commit": "
|
| 86 |
"dirty": false
|
| 87 |
},
|
| 88 |
"kernel": {
|
| 89 |
-
"commit": "
|
| 90 |
"dirty": false
|
| 91 |
}
|
| 92 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "flash-attn4",
|
| 3 |
+
"id": "_flash_attn4_cuda_fe2bb66",
|
| 4 |
"version": 1,
|
| 5 |
"kernels-minver": "0.14.0",
|
| 6 |
"license": "BSD-3-Clause",
|
|
|
|
| 18 |
"algorithm": "sha256",
|
| 19 |
"files": {
|
| 20 |
"__init__.py": "9nhmToMqhkzqb88qdOhfpDICvN3LHSZhEM8HXa7VlcU=",
|
| 21 |
+
"_ops.py": "8hlPAUtGYqw/G4b8+0+ISwpDNXBEv/vFUAvreZZCZJs=",
|
| 22 |
"_private_for_testing.py": "QXVDjtjb5NEXpgkZ93UyWJgHbrhi757Jlc8lkkTKETw=",
|
| 23 |
"ampere_helpers.py": "ytrBcKfaN54nw20EQ2BIDXEM+ojQgtrSud7NWOSEcRE=",
|
| 24 |
"barrier.py": "dnr4B6p1IbjRXubJU09HRaetIiSw2iuBbMScy56mwRk=",
|
|
|
|
| 73 |
"sm100_hd256_2cta_fmha_backward_dqkernel.py": "SKQ8lUEl1P4ZcsHiMaGBqQJFL2o0oZTJhF8oOx6iXDs=",
|
| 74 |
"sm100_hd256_2cta_fmha_forward.py": "aJ0icWUbC3D2iLlj8SDXb+eaM0/U4mljFlIaH8iEZd4=",
|
| 75 |
"softmax.py": "eCMvLFCXjlrgm0s24D5rrdbFFRMyah1ESWjB3BEgLu4=",
|
| 76 |
+
"symbols.json": "0HMhyU/quAYAqu1USFWSJTBCCekIJ6CaTDl6+Kj4tBE=",
|
| 77 |
"testing.py": "M0K0R1EmZm5b/wUDFs0qWGhS98gusj/SEXJHDMQKFf8=",
|
| 78 |
"tile_scheduler.py": "ELRFy6rI+J+8Z2fMDLxYrCiuUMSaBLa4h10dIe27bmA=",
|
| 79 |
"topk_gather_kv.py": "WchMfXog4eIIIOhTKu0vE5k3dfn41jVqrl9wtafJvRw=",
|
|
|
|
| 82 |
},
|
| 83 |
"provenance": {
|
| 84 |
"kernel-builder": {
|
| 85 |
+
"version": "0.18.0-dev0",
|
| 86 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 87 |
"dirty": false
|
| 88 |
},
|
| 89 |
"kernel": {
|
| 90 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 91 |
"dirty": false
|
| 92 |
}
|
| 93 |
}
|
build/torch-cuda/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrGgAwIBAgIUaiO5BB6HCtEPc3PvLRUjOP9nIeowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDA5MDU0ODAwWhcNMjYxMDA5MDU1ODAwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETIsdsW0O37rh1qyrgqDkxHlBL53jr18rNf5AJ+5fJ3FGJOBYvuFLNcs/aAxbMz9vanYPmT0rWaehZ/biISubDaOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChkOGVhZjNjYmUwMTBmNDc5NWQwYjBjNGIwMTAzODYyMzg3Y2NkYzk3MBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChkOGVhZjNjYmUwMTBmNDc5NWQwYjBjNGIwMTAzODYyMzg3Y2NkYzk3MBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChkOGVhZjNjYmUwMTBmNDc5NWQwYjBjNGIwMTAzODYyMzg3Y2NkYzk3MB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZDhlYWYzY2JlMDEwZjQ3OTVkMGIwYzRiMDEwMzg2MjM4N2NjZGM5NzAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zNzg5MDA3MjU2Mi9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhHzRAkgAABAMARjBEAiAZI9hyMcw+zb48pnia0Z6oDeaKOjTEcYTTojvfnrfcIQIgYzSuxHdeHDvzjH72mwTa14UZkHhUZzMvEU40AD/Gcm0wCgYIKoZIzj0EAwMDaQAwZgIxAKW7iULUzBh1NyQtCUMtwxn2/sQqds11g9IM7x+3Y8dyL2Vn04UnhycDVZr3QkAV2AIxAMOPwXykMlBB9n1zCRV4AAQJ3Tz1zZ4rVI1Jb85YZL+XMiFYXTHbYYiakmrvQQV9jg=="}, "tlogEntries":[{"logIndex":"3158300548", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1791524881", "inclusionPromise":{"signedEntryTimestamp":"MEQCIHFiOOrNg5hWKd4yhtEc+AyamHy32Quis8MRp/lfrlrAAiBdXLJldMzhFn3Ze8MAo+c0umebO+H7K1APvxR8/RiVGg=="}, "inclusionProof":{"logIndex":"3036396286", "rootHash":"bMj1mIUUaH5YxcCfHW4MZ2Yu08meQttLejLqiiOfgSM=", "treeSize":"3036396363", "hashes":["Zk9ofGIJCPkNI9MbhVz/q+Viz+ROnWHoLLs/qXsDJR8=", "J0H5h4aDgIvQOo4xBJJbGPPvdlflwUFQYyComai4dv8=", "XucYSIaxwHhd97uMxezHhD8Bs2qB5nS+OkS74N4xf/I=", "YbU2dE0cZBS1REfCDSLcjVrRIkpqk9K4kQ6eeP0J3EY=", "WwMjdflPvj7Fv1vqheVgo9ODC9CbtYACYaeLrTxMyh8=", "GEYqiexf/EargoQEPY4LlSyXZqw1Ri4QMY5y3m45t9c=", "zsypp30i/LymeGcbdEGb40hisYBwEMa69ceb6i3dyZ0=", "i7bGduPjtG7M+nXrQ+EyrWK3+wnefYHQORrA0CfE60s=", "apR5CN9786D4B3bQTJDKBGKN8Hzz97O9553uJ5pbb4E=", "ALARoiWopOoOyvZTDqtCBQhOOv5L1iYg1zWlrGOkO+8=", "dbwja4ySxQpLzbkAueAzy0JRQt9+qXngoOJ7/2GPgdA=", "zF38HwB7+kAxViW9f0u1wg607wEusbfnWfCbEjTwZeg=", "78RhvRg8R4WwHxVvzWwFGNaJwKZGwJSN7GYO7kn5vP8=", "F5tQx3q6DM2bQD3L/G2KJ9rAjZ0VMzlAmuw1Urrltpg=", "KbyZDOTON24dtLPkz0tlGLB0OsswC4djFUNHxHjMipI=", "VPmQZaiIPP+jGVmSWjYHBv/V9OCTZbwibPFCdg+AHeQ=", "GSGvSu0XsdO6cBgqJwZWqKj8191ujOCFNrbeVOnHXfU=", "bDbLklSZE3cNPdbgkYjsldgt1tp4oyGy0Ey74MEDzVs=", "kbqJ2Mh+r6zBJA5FYtUICq/XJ22GIh0GC+s04H3SZOs=", "QsIovxEueg218cKeugrO+eGZOkloq5eRks0NcVdhADs=", "QJUdtMG5fqTebI7bWTn0N8FLr9gz+BNgQr/7OsNQa1w=", "hafZfJdzUX/yyCr3Anv7Qq1DWVaWxotaclNRcl/O9SQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3036396363\nbMj1mIUUaH5YxcCfHW4MZ2Yu08meQttLejLqiiOfgSM=\n\n— rekor.sigstore.dev wNI9ajBFAiA0P6aGAzgnO9XDvwWRaJx9QXvfUBS9Dw3vxR7ztFfPiAIhALCz3nsAF2ubYLeMcYhEOsvjoHihHKaK7JECiBs4tLYh\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjODljNjJjNDZlMmNlNmY2MzNkMjM3NWIwMGY5ZDU2ZmUxZDM3MTY5MGI0YjEyZDIxODQ3ODliODU4ZTZhYjk2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUN5L1NyUDlZNlQ4SEd3MThsQlV3MHJjMEdSVkJHYUY4MXdMM0EwdUI1OE5nSWdBWXNNUFBTelY1R3phUGY5YzdOWSttVVVjSUgvYmd0RXpjRlVaaVBucDRRPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KSFowRjNTVUpCWjBsVllXbFBOVUpDTmtoRGRFVlFZek5RZGt4U1ZXcFBVRGx1U1dWdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUVRWTlJGVXdUMFJCZDFkb1kwNU5hbGw0VFVSQk5VMUVWVEZQUkVGM1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZVU1hOa2MxY3dUek0zY21neGNYbHlaM0ZFYTNoSWJFSk1OVE5xY2pFNGNrNW1OVUVLU2lzMVprb3pSa2RLVDBKWmRuVkdURTVqY3k5aFFYaGlUWG81ZG1GdVdWQnRWREJ5VjJGbGFGb3ZZbWxKVTNWaVJHRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmhyVDBkV2FBcGFhazVxV1cxVmQwMVVRbTFPUkdNMVRsZFJkMWxxUW1wT1IwbDNUVlJCZWs5RVdYbE5lbWN6V1RKT2ExbDZhek5OUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUd0UFIxWm9XbXBPYWxsdFZYZE5WRUp0Q2s1RVl6Vk9WMUYzV1dwQ2FrNUhTWGROVkVGNlQwUlplVTE2WnpOWk1rNXJXWHByTTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUd0UFIxWm9DbHBxVG1wWmJWVjNUVlJDYlU1RVl6Vk9WMUYzV1dwQ2FrNUhTWGROVkVGNlQwUlplVTE2WnpOWk1rNXJXWHByTTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhUkdoc1dWZFplbGt5U214TlJFVjNXbXBSTTA5VVZtdE5SMGwzV1hwU2FVMUVSWGROZW1jeVRXcE5ORTR5VG1vS1drZE5OVTU2UVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlRucG5OVTFFUVROTmFsVXlUV2s1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvU0hwU1FXdG5RVUZDUVUxQlVtcENSVUZwUVZwSk9XaDVUV04zSzNwaU5EaHdibWxoTUZvMmIwUmxZVXRQYWxSRlkxbFVWQXB2YW5abWJuSm1ZMGxSU1dkWmVsTjFlRWhrWlVoRWRucHFTRGN5YlhkVVlURTBWVnByU0doVlducE5ka1ZWTkRCQlJDOUhZMjB3ZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVZGQmQxcG5TWGhCUzFjM2FWVk1WWHBDYURGT2VWRjBRMVZOZEhkNGJqSXZjMUZ4WkhNeE1XYzVTVTAzZUNzeldUaGtlVXd5Vm00S01EUlZibWg1WTBSV1duSXpVV3RCVmpKQlNYaEJUVTlRZDFoNWEwMXNRa0k1YmpGNlExSldORUZCVVVvelZIb3hlbG8wY2xaSk1VcGlPRFZaV2t3cldBcE5hVVpaV0ZSSVlsbFphV0ZyYlhKMlVWRldPV3BuUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQga/ftQX+Cp+GwKHvcuGjTypyrClR3uyRJIc7yMRfJWfYCFDOvrtjaHdE+JRj4dufWZulluFG0GA8yMDI2MTAwOTA1NDgwMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDA5MDU0ODAwWjAvBgkqhkiG9w0BCQQxIgQg3n5m57tFO6j5/pC7/ObB3dv8o1ly0YdiBpOAg6qmyAAwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwaGivGI3OO/NI8PWSy8bCj9I1h5eOBI9O3zVKSfgbGE30OytYA+km0Zz4NR3Cz/2xAjBgU8Iuq9n1qBUcq1O1cvui7BflbJWh00Gvi7boLP3cxI5RF+HerV6fjlRna8zyaZs="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"yJxixG4s5vYz0jdbAPnVb+HTcWkLSxLSGEeJuFjmq5Y="}, "signature":"MEUCIQCy/SrP9Y6T8HGw18lBUw0rc0GRVBGaF81wL3A0uB58NgIgAYsMPPSzV5GzaPf9c7NY+mUUcIH/bgtEzcFUZiPnp4Q="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLTCCBrKgAwIBAgIUANBClRVynHlC+xZNWI4Oe0i/0pswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTExMTExWhcNMjYxMDE5MTEyMTExWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE62AJrJzOCJAaOzuT/9kGHYmLXf49hSWueeEc4jJkEIxliAOAmUIaflRM5rAz9Qy5q4ArMsmpFFQH2Q/NUV+hx6OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTU2MTU4OS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9u6MgAABAMARzBFAiBxSvEmx2GkQTfNbrlaB+BgZtkqELHWzLpjONrJwdiD2AIhAJrUB5kgZehtpgHdoqlMUKm8qMDJveVBR7jxqF8bE1cfMAoGCCqGSM49BAMDA2kAMGYCMQDcyWEWAxauTpAI5Lbc829Z1odOfrWBU6ApcK69neIUO5UkzuXyQWqexKQ4iKhY2BECMQC/+rEvyoAoEWW887agQ75oisiiWZ274G+dVGHFdAxA0x9YRWOB0w1YXBjkuqWncIE="}, "tlogEntries":[{"logIndex":"3320124420", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792408271", "inclusionPromise":{"signedEntryTimestamp":"MEQCIB/sQxMHQjjCovRirr1lryG1NBMzRKlsN+jLX6m3uzJ9AiBPlCY+crPYEAsn71sn6m7BybvaPHTx02ldGpjbN8X2pA=="}, "inclusionProof":{"logIndex":"3198220158", "rootHash":"wrmHMCMrnfXkACeGxVElC9hKGVaCmzzu5Z03iJ6Lm9w=", "treeSize":"3198220172", "hashes":["Iao6SjOqxEyMDP3FjQSIQWSQuzPWs7XodK7qapFi5eE=", "iwV/SxgROUY4XtTrS2oAmTafQgbHJCpoq2s9cotgJ1E=", "56GGm31rMZJHYr/j5sCs1Bh49s+rW4Qk6rlgY5VfWBs=", "Lq0pFZQkpQ4cnHo5m1eJC2OmzAZATP3m/lqGrYLiS0g=", "8DD9F+VxBgl1U/egAv5RAnTcB+H5xCjxoBGK5MDUeJA=", "2m4I3FnOV8oRuJu7+S8JcpIbBR1NUaeBkwEyKs8+8Wg=", "53Vg/R6BTOaSUBxDgfn2NZsR6cf1+kJaSg74DSqxmPc=", "nDisHLySPV5rVn127z2NRvA2uxfXVyalhxX5Co2EFeE=", "74OR42HHwv/jlcYNvsU9MADTRK4cP+SFgdaNyebCMmQ=", "6ICrfx71btPS32mW1shZsNdbNDbBbRHUROVILjFWCAY=", "WnrK7bCiYUq5eLDU7tKs29GSKG9ML9tEMOjTtiJObP0=", "At4iGvqsBw6bk/WPdqQxZwddvLBeLQlRRp/p7JE2dNM=", "zO1JREYDQalrISj1aIpbBiZL2BiSzomWHRsaHaxd6ZE=", "f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=", "OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=", "uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198220172\nwrmHMCMrnfXkACeGxVElC9hKGVaCmzzu5Z03iJ6Lm9w=\n\n— rekor.sigstore.dev wNI9ajBFAiEAuGytd66R37NSCwNRLKxLfacnEbtUCx5U6pIFsxKrVaYCIGwYCrd0Jhp8mM7u19WYJ41CDDqEttkP9sC21SpUoJ1C\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1ODViYTJkMmJlNjU3YzliZWU1ZmNkNzI4NmFhZWM2N2U1OTJjMTdlMDc1YmM0Y2I0ZmYyYTJlODE4NmNmMmU2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNud3JScS84VkVtWXRQZWkvK1JNbDNqT3VTOXE5MUtxZG5FdUFVMm9OcXhRSWhBSm8raXhzN0VIelRFNXljN2RQWHJ0YXV5cjhycmVQcDJ2T0pwNGhFTDdVYiIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1WRU5EUW5KTFowRjNTVUpCWjBsVlFVNUNRMnhTVm5sdVNHeERLM2hhVGxkSk5FOWxNR2t2TUhCemQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjRUVlJGZUZkb1kwNU5hbGw0VFVSRk5VMVVSWGxOVkVWNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUyTWtGS2NrcDZUME5LUVdGUGVuVlVMemxyUjBoWmJVeFlaalE1YUZOWGRXVmxSV01LTkdwS2EwVkplR3hwUVU5QmJWVkpZV1pzVWswMWNrRjZPVkY1TlhFMFFYSk5jMjF3UmtaUlNESlJMMDVWVml0b2VEWlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlRKTlZGVTBUMU01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsMU5rMW5RVUZDUVUxQlVucENSa0ZwUW5oVGRrVnRlREpIYTFGVVprNWljbXhoUWl0Q1oxcDBhM0ZGVEVoWGVreHdhZ3BQVG5KS2QyUnBSREpCU1doQlNuSlZRalZyWjFwbGFIUndaMGhrYjNGc1RWVkxiVGh4VFVSS2RtVldRbEkzYW5oeFJqaGlSVEZqWmsxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKclFVMUhXVU5OVVVSamVWZEZWMEY0WVhWVWNFRkpOVXhpWXpneU9Wb3hiMlJQWm5KWFFsVTJRWEJqU3pZNWJtVkpWVTgxVldzS2VuVlllVkZYY1dWNFMxRTBhVXRvV1RKQ1JVTk5VVU12SzNKRmRubHZRVzlGVjFjNE9EZGhaMUUzTlc5cGMybHBWMW95TnpSSEsyUldSMGhHWkVGNFFRb3dlRGxaVWxkUFFqQjNNVmxZUW1wcmRYRlhibU5KUlQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgAzMEUYAjoSkFBz1Q15PI5PE+bFmKP6dWnuAeP9/pNdYCFGxjDpd8IzjLO1XN+zhEi32d7F+iGA8yMDI2MTAxOTExMTExMVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTExMTExWjAvBgkqhkiG9w0BCQQxIgQgnTW88gyWLsIjbb6k7BR72GO3GZ+71XGNKQBFCrrJtcEwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwO1S6VNDZ6jFhMGMW4f7kOvzPwdjRIm5j+r/tnlhBVWQSWEUSNIHVaSEG4g3hGtSAAjEAjSnkcrCgrbVg8YjJmJNGSdQiT3W7qHcGVTwOCJ3il7oMR2u1hvan2+n2CzCE0aKj"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"WFui0r5lfJvuX81yhqrsZ+WSwX4HW8TLT/Ki6Bhs8uY="}, "signature":"MEYCIQCnwrRq/8VEmYtPei/+RMl3jOuS9q91KqdnEuAU2oNqxQIhAJo+ixs7EHzTE5yc7dPXrtauyr8rrePp2vOJp4hEL7Ub"}}
|
build/torch-cuda/symbols.json
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_flash_attn4_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "flash_attn_func",
|
| 7 |
+
"qualname": "flash_attn_func",
|
| 8 |
+
"module": "_flash_attn4_cuda_fe2bb66.interface",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "q",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "k",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "v",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "qv",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": "None",
|
| 35 |
+
"annotation": "torch.Tensor | None"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "gather_kv_indices",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": "None",
|
| 41 |
+
"annotation": "torch.Tensor | None"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "softmax_scale",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": "None",
|
| 47 |
+
"annotation": "float | None"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "causal",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": "False",
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"name": "window_size",
|
| 57 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 58 |
+
"default": "(None, None)",
|
| 59 |
+
"annotation": "Tuple[int | None, int | None]"
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"name": "learnable_sink",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": "None",
|
| 65 |
+
"annotation": "torch.Tensor | None"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "softcap",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": "0.0",
|
| 71 |
+
"annotation": "float"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "num_splits",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": "1",
|
| 77 |
+
"annotation": "int"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "pack_gqa",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": "None",
|
| 83 |
+
"annotation": "bool | None"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "deterministic",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": "False",
|
| 89 |
+
"annotation": "bool"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "score_mod",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "None",
|
| 95 |
+
"annotation": "Callable | None"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "score_mod_bwd",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": "None",
|
| 101 |
+
"annotation": "Callable | None"
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"name": "mask_mod",
|
| 105 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 106 |
+
"default": "None",
|
| 107 |
+
"annotation": "Callable | None"
|
| 108 |
+
},
|
| 109 |
+
{
|
| 110 |
+
"name": "aux_tensors",
|
| 111 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 112 |
+
"default": "None",
|
| 113 |
+
"annotation": "list | None"
|
| 114 |
+
},
|
| 115 |
+
{
|
| 116 |
+
"name": "aux_scalars",
|
| 117 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 118 |
+
"default": "None",
|
| 119 |
+
"annotation": "tuple | None"
|
| 120 |
+
},
|
| 121 |
+
{
|
| 122 |
+
"name": "block_sparse_tensors",
|
| 123 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 124 |
+
"default": "None",
|
| 125 |
+
"annotation": "_flash_attn4_cuda_fe2bb66.block_sparsity.BlockSparseTensorsTorch | None"
|
| 126 |
+
},
|
| 127 |
+
{
|
| 128 |
+
"name": "block_sparse_tensors_bwd",
|
| 129 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 130 |
+
"default": "None",
|
| 131 |
+
"annotation": "_flash_attn4_cuda_fe2bb66.block_sparsity.BlockSparseTensorsTorch | None"
|
| 132 |
+
},
|
| 133 |
+
{
|
| 134 |
+
"name": "return_lse",
|
| 135 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 136 |
+
"default": "False",
|
| 137 |
+
"annotation": "bool"
|
| 138 |
+
}
|
| 139 |
+
],
|
| 140 |
+
"return_annotation": null
|
| 141 |
+
}
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"name": "flash_attn_varlen_func",
|
| 145 |
+
"qualname": "flash_attn_varlen_func",
|
| 146 |
+
"module": "_flash_attn4_cuda_fe2bb66.interface",
|
| 147 |
+
"kind": "function",
|
| 148 |
+
"doc": "Tensor arguments:\n q: (total_q, nheads, hdim) or (batch, seqlen_q, nheads, hdim)\n k: (total_k, nheads_k, hdim) or (batch, seqlen_k, nheads_k, hdim)\n v: (total_k, nheads_k, hdim_v) or (batch, seqlen_k, nheads_k, hdim_v)\n qv: (total_q, nheads, hdim_v) or (batch, seqlen_q, nheads, hdim_v)\n cu_seqlens_q: (batch + 1) or seqused_q: (batch)\n cu_seqlens_k: (batch + 1) or seqused_k: (batch)\n gather_kv_indices: (total_q, gather_kv_length) or\n (batch, seqlen_q, gather_kv_length)\n page_table: (batch, max_num_pages_per_seq)\n\nReturn:\n out: (total_q, nheads, hdim) or (batch, seqlen_q, nheads, hdim)\n lse: (nheads, total_q) or (batch, nheads, seqlen_q) if not has_qv (standard)\n (total_q, nheads) or (batch, seqlen_q, nheads) if has_qv\n\nExplanation of some optional arguments & decisions:\n\nqv: we write the MLA weight absorbed formula as\n O = softmax(scale * (Q @ K.T + Qv @ V.T)) @ V\n where Q = q_pe, Qv = q_nope, K = pe_cache, V = kv_cache.\n\nlse return shape: with Qv, MQA with nheads at least divisible by 4 is typical,\n so we arrange for nheads as the contiguous mode for better vectorization.\n\ngather_kv_indices: used for topk sparsity with MLA absorption kernel.\n\nmin_seqlen_k: for varlen, specifies the minimum kv sequence length for any batch.\n Used with gather_kv_indices to determine if we need oob masking.\n\nscheduler_metadata: optional tensors used by certain tile schedulers, for optimization\n and functionality. computed in get_scheduler_metadata.\n\nseqlen_k_per_split: when using dynamic (per-batch) num_splits, can set a fixed seqlen_k to be\n covered per split for bitwise reproducibility.\n\ndisable_scheduler_metadata: if True, ignores scheduler_metadata if it is passed and skips\n computing metadata fresh.",
|
| 149 |
+
"signature": {
|
| 150 |
+
"parameters": [
|
| 151 |
+
{
|
| 152 |
+
"name": "q",
|
| 153 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 154 |
+
"default": null,
|
| 155 |
+
"annotation": "torch.Tensor"
|
| 156 |
+
},
|
| 157 |
+
{
|
| 158 |
+
"name": "k",
|
| 159 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 160 |
+
"default": null,
|
| 161 |
+
"annotation": "torch.Tensor"
|
| 162 |
+
},
|
| 163 |
+
{
|
| 164 |
+
"name": "v",
|
| 165 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 166 |
+
"default": null,
|
| 167 |
+
"annotation": "torch.Tensor"
|
| 168 |
+
},
|
| 169 |
+
{
|
| 170 |
+
"name": "qv",
|
| 171 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 172 |
+
"default": "None",
|
| 173 |
+
"annotation": "torch.Tensor | None"
|
| 174 |
+
},
|
| 175 |
+
{
|
| 176 |
+
"name": "cu_seqlens_q",
|
| 177 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 178 |
+
"default": "None",
|
| 179 |
+
"annotation": "torch.Tensor | None"
|
| 180 |
+
},
|
| 181 |
+
{
|
| 182 |
+
"name": "cu_seqlens_k",
|
| 183 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 184 |
+
"default": "None",
|
| 185 |
+
"annotation": "torch.Tensor | None"
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"name": "max_seqlen_q",
|
| 189 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 190 |
+
"default": "None",
|
| 191 |
+
"annotation": "int | None"
|
| 192 |
+
},
|
| 193 |
+
{
|
| 194 |
+
"name": "max_seqlen_k",
|
| 195 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 196 |
+
"default": "None",
|
| 197 |
+
"annotation": "int | None"
|
| 198 |
+
},
|
| 199 |
+
{
|
| 200 |
+
"name": "min_seqlen_k",
|
| 201 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 202 |
+
"default": "None",
|
| 203 |
+
"annotation": "int | None"
|
| 204 |
+
},
|
| 205 |
+
{
|
| 206 |
+
"name": "seqused_q",
|
| 207 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 208 |
+
"default": "None",
|
| 209 |
+
"annotation": "torch.Tensor | None"
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"name": "seqused_k",
|
| 213 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 214 |
+
"default": "None",
|
| 215 |
+
"annotation": "torch.Tensor | None"
|
| 216 |
+
},
|
| 217 |
+
{
|
| 218 |
+
"name": "gather_kv_indices",
|
| 219 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 220 |
+
"default": "None",
|
| 221 |
+
"annotation": "torch.Tensor | None"
|
| 222 |
+
},
|
| 223 |
+
{
|
| 224 |
+
"name": "page_table",
|
| 225 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 226 |
+
"default": "None",
|
| 227 |
+
"annotation": "torch.Tensor | None"
|
| 228 |
+
},
|
| 229 |
+
{
|
| 230 |
+
"name": "softmax_scale",
|
| 231 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 232 |
+
"default": "None",
|
| 233 |
+
"annotation": "float | None"
|
| 234 |
+
},
|
| 235 |
+
{
|
| 236 |
+
"name": "causal",
|
| 237 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 238 |
+
"default": "False",
|
| 239 |
+
"annotation": "bool"
|
| 240 |
+
},
|
| 241 |
+
{
|
| 242 |
+
"name": "window_size",
|
| 243 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 244 |
+
"default": "(None, None)",
|
| 245 |
+
"annotation": "Tuple[int | None, int | None]"
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"name": "learnable_sink",
|
| 249 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 250 |
+
"default": "None",
|
| 251 |
+
"annotation": "torch.Tensor | None"
|
| 252 |
+
},
|
| 253 |
+
{
|
| 254 |
+
"name": "softcap",
|
| 255 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 256 |
+
"default": "0.0",
|
| 257 |
+
"annotation": "float"
|
| 258 |
+
},
|
| 259 |
+
{
|
| 260 |
+
"name": "num_splits",
|
| 261 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 262 |
+
"default": "1",
|
| 263 |
+
"annotation": "int"
|
| 264 |
+
},
|
| 265 |
+
{
|
| 266 |
+
"name": "pack_gqa",
|
| 267 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 268 |
+
"default": "None",
|
| 269 |
+
"annotation": "bool | None"
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"name": "deterministic",
|
| 273 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 274 |
+
"default": "False",
|
| 275 |
+
"annotation": "bool"
|
| 276 |
+
},
|
| 277 |
+
{
|
| 278 |
+
"name": "score_mod",
|
| 279 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 280 |
+
"default": "None",
|
| 281 |
+
"annotation": "Callable | None"
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"name": "score_mod_bwd",
|
| 285 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 286 |
+
"default": "None",
|
| 287 |
+
"annotation": "Callable | None"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"name": "mask_mod",
|
| 291 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 292 |
+
"default": "None",
|
| 293 |
+
"annotation": "Callable | None"
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"name": "block_sparse_tensors",
|
| 297 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 298 |
+
"default": "None",
|
| 299 |
+
"annotation": "_flash_attn4_cuda_fe2bb66.block_sparsity.BlockSparseTensorsTorch | None"
|
| 300 |
+
},
|
| 301 |
+
{
|
| 302 |
+
"name": "aux_tensors",
|
| 303 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 304 |
+
"default": "None",
|
| 305 |
+
"annotation": "list | None"
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"name": "aux_scalars",
|
| 309 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 310 |
+
"default": "None",
|
| 311 |
+
"annotation": "tuple | None"
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"name": "return_lse",
|
| 315 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 316 |
+
"default": "False",
|
| 317 |
+
"annotation": "bool"
|
| 318 |
+
},
|
| 319 |
+
{
|
| 320 |
+
"name": "scheduler_metadata",
|
| 321 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 322 |
+
"default": "None",
|
| 323 |
+
"annotation": "_flash_attn4_cuda_fe2bb66.prepare_scheduler.SchedulerMetadataTensorsTorch | None"
|
| 324 |
+
},
|
| 325 |
+
{
|
| 326 |
+
"name": "seqlen_k_per_split",
|
| 327 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 328 |
+
"default": "None",
|
| 329 |
+
"annotation": "int | None"
|
| 330 |
+
},
|
| 331 |
+
{
|
| 332 |
+
"name": "disable_scheduler_metadata",
|
| 333 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 334 |
+
"default": "False",
|
| 335 |
+
"annotation": "bool"
|
| 336 |
+
}
|
| 337 |
+
],
|
| 338 |
+
"return_annotation": null
|
| 339 |
+
}
|
| 340 |
+
}
|
| 341 |
+
],
|
| 342 |
+
"layers": []
|
| 343 |
+
}
|