Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse files- build/torch211-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch211-cxx11-cu126-aarch64-linux/_ops.py +3 -3
- build/torch211-cxx11-cu126-aarch64-linux/metadata.json +5 -5
- build/torch211-cxx11-cu126-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch211-cxx11-cu126-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch211-cxx11-cu128-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch211-cxx11-cu128-aarch64-linux/_ops.py +3 -3
- build/torch211-cxx11-cu128-aarch64-linux/metadata.json +5 -5
- build/torch211-cxx11-cu128-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch211-cxx11-cu128-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch211-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch211-cxx11-cu130-aarch64-linux/_ops.py +3 -3
- build/torch211-cxx11-cu130-aarch64-linux/metadata.json +5 -5
- build/torch211-cxx11-cu130-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch211-cxx11-cu130-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch212-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch212-cxx11-cu126-aarch64-linux/_ops.py +3 -3
- build/torch212-cxx11-cu126-aarch64-linux/metadata.json +5 -5
- build/torch212-cxx11-cu126-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch212-cxx11-cu126-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch212-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch212-cxx11-cu130-aarch64-linux/_ops.py +3 -3
- build/torch212-cxx11-cu130-aarch64-linux/metadata.json +5 -5
- build/torch212-cxx11-cu130-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch212-cxx11-cu130-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch212-cxx11-cu132-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch212-cxx11-cu132-aarch64-linux/_ops.py +3 -3
- build/torch212-cxx11-cu132-aarch64-linux/metadata.json +5 -5
- build/torch212-cxx11-cu132-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch212-cxx11-cu132-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch213-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch213-cxx11-cu126-aarch64-linux/_ops.py +3 -3
- build/torch213-cxx11-cu126-aarch64-linux/metadata.json +5 -5
- build/torch213-cxx11-cu126-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch213-cxx11-cu126-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch213-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch213-cxx11-cu130-aarch64-linux/_ops.py +3 -3
- build/torch213-cxx11-cu130-aarch64-linux/metadata.json +5 -5
- build/torch213-cxx11-cu130-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch213-cxx11-cu130-aarch64-linux/xpu_fused_moe.py +22 -12
- build/torch213-cxx11-cu132-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so} +1 -1
- build/torch213-cxx11-cu132-aarch64-linux/_ops.py +3 -3
- build/torch213-cxx11-cu132-aarch64-linux/metadata.json +5 -5
- build/torch213-cxx11-cu132-aarch64-linux/metadata.json.sigstore +1 -1
- build/torch213-cxx11-cu132-aarch64-linux/xpu_fused_moe.py +22 -12
build/torch211-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 13179816
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:41c9509b4c7eda28b1526b0b1906c487b1a8e98bd5d88495159dbf48f321d447
|
| 3 |
size 13179816
|
build/torch211-cxx11-cu126-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch211-cxx11-cu126-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "QclQm0x+2iixUmsLGQbEh7Go6YvV2ISVFZ2/SPMh1Ec=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch211-cxx11-cu126-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtGgAwIBAgIUN9RVclY/J9BNJW4xSbf/nSHbMjUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDE5WhcNMjYwODI1MDkxNDE5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyF5o2oroSxZiGLmtWjuyZlfP4Z+PN0hszkpsPFK0rxFc+2HA8j/T+uAW+qtVmWC5NzWomvixuVcU2jOfFvuSaaOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUMRzqLCfdBirubCVnqJkN7U9u9BgwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp0L0AAAQDAEcwRQIhAJ5y+9xEMkCOHw734WkghoBTuJx5wXeoj9CN5TuAyPVXAiAyQD42j0PUxuRTeK1MM3bC2o7tk5noKVIoJ0uap/Tn4zAKBggqhkjOPQQDAwNoADBlAjEAqOA5WOZT7H2adRqG6DewR9H4ZnbaVVjvO6Tz2/mu3Ao53IqH+2SlpA0sscHJB4KgAjBBgYkXfuX510YGCwdqXMA+y9kwM6s+cEfMGuvjCahNHEjy+gaAmODRe8zbO3ByS7E="},"tlogEntries":[{"logIndex":"2582977705","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648660","inclusionPromise":{"signedEntryTimestamp":"MEUCIQC1ySUaAz6MneBymo4igFAGMpNB2be95a4ZbGvBL8xXLQIgFL4BkFjXYa03wwqj9ZzmqN4/cM0Q6pbF7aRmru0Qxp4="},"inclusionProof":{"logIndex":"2461073443","rootHash":"rX4CUbNDNzWSUbs02q/2hBgHEERKTrEvKoriKRvjKTI=","treeSize":"2461073447","hashes":["wd47AQFeg/WhYB72gH2ygDv26bmY4s7l9hMsaUwIGtI=","XfV5tfNYlmnpCRy9teG+Y+2Yq53iHBMSi0Ma9KlKif8=","3R4vLGlcgiteGMjFsPxl/VtV8+PVedIBss9NSDo7kvk=","d1boxA4L/qk9dPYuyI9n0pMKSK++v8n6CTnTIyiIrJ8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073447\nrX4CUbNDNzWSUbs02q/2hBgHEERKTrEvKoriKRvjKTI=\n\n— rekor.sigstore.dev wNI9ajBFAiEAjkhzwaxX/ToQS979jz8P5UBgMsD48LV+ZhM/YHt51d0CIBJ/uco1L5w7KIRUnItCDB3jBq1Ymoeogu3X4oyixUvP\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzYjU3ZWZmMDkzMGRkYzM1MzljMDFjMWI0N2MwMzc2ZDg2ZDM1MjU2ZTcxMDAyNGZjYTBkZmIwODFjZGJiMTIzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNMazcvVStneFRvTlhFa0Vuell6TnQrMkh4TW5PR2VIMkZMdGU0SUFYYWZRSWdUWis1WFp2NnMwMFpENUV5TXZibXFyemJMU1ZCMzVmdWo5MVVZNjhXZUlBPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SSFowRjNTVUpCWjBsVlRqbFNWbU5zV1M5S09VSk9TbGMwZUZOaVppOXVVMGhpVFdwVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JGTlZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVVMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVY1UmpWdk1tOXliMU40V21sSFRHMTBWMnAxZVZwc1psQTBXaXRRVGpCb2MzcHJjSE1LVUVaTE1ISjRSbU1yTWtoQk9Hb3ZWQ3QxUVZjcmNYUldiVmRETlU1NlYyOXRkbWw0ZFZaalZUSnFUMlpHZG5WVFlXRlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZOVW5weENreERabVJDYVhKMVlrTldibkZLYTA0M1ZUbDFPVUpuZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F3VERCQlFVRlJSQXBCUldOM1VsRkphRUZLTlhrck9YaEZUV3REVDBoM056TTBWMnRuYUc5Q1ZIVktlRFYzV0dWdmFqbERUalZVZFVGNVVGWllRV2xCZVZGRU5ESnFNRkJWQ25oMVVsUmxTekZOVFROaVF6SnZOM1JyTlc1dlMxWkpiMG93ZFdGd0wxUnVOSHBCUzBKblozRm9hMnBQVUZGUlJFRjNUbTlCUkVKc1FXcEZRWEZQUVRVS1YwOWFWRGRJTW1Ga1VuRkhOa1JsZDFJNVNEUmFibUpoVmxacWRrODJWSG95TDIxMU0wRnZOVE5KY1Vnck1sTnNjRUV3YzNOalNFcENORXRuUVdwQ1FncG5XV3RZWm5WWU5URXdXVWREZDJSeFdFMUJLM2s1YTNkTk5uTXJZMFZtVFVkMWRtcERZV2hPU0VWcWVTdG5ZVUZ0VDBSU1pUaDZZazh6UW5sVE4wVTlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgEJzZrQg4XMZiJkmidKkJAjwMPMJfMLBqefCazO8iEPwCFCDLogpU7xap/rFVZKcQBoQpn04dGA8yMDI2MDgyNTA5MDQxOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDkwNDE5WjAvBgkqhkiG9w0BCQQxIgQgt97thq60+05DIAWDXUgoA0JWNf47WD5liNrqkJFzECkwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwLuuDSycRbyUCXRpTH1w8zcHBJzm03k2cV3/yfQ/zUiE60BCGEGAlvFqBZG8IDSZ8AjBUZ5KkMl4NfoWDdD6ThNGRw0dhxNp0npu0ceKjXEXqtaCPJfRGXiXOnBVEFXweE5g="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"O1fv8JMN3DU5wBwbR8A3bYbTUlbnEAJPyg37CBzbsSM="},"signature":"MEUCIQCLk7/U+gxToNXEkEnzYzNt+2HxMnOGeH2FLte4IAXafQIgTZ+5XZv6s00ZD5EyMvbmqrzbLSVB35fuj91UY68WeIA="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtGgAwIBAgIUa1nGKXSUhv9utEu3QotgKh78C0MwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTQ3WhcNMjYwODI1MTIyOTQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFunXSM8UedBYnj+kcR7v3Okf9wB5Fs4UjDX6nRjWBIg4BOspmr6fNPc7IcNBV091Rcu1qQQrhNAUyfV9ZNTPu6OCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUtuI7UIFAs4kp6eDHXWhybMWr/OYwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjcxk8AAAQDAEcwRQIgchU17cUlPI4bj9X3kJEcPirzWjPpoHiCCmc+zCts2dECIQDYcd9zzhhB4NFAyipVxa1NjDYTgyqr+MOe171P+YUOkjAKBggqhkjOPQQDAwNpADBmAjEAvXAH/HvZcHglqHtf13EJvOGoUUH9M7IgO5nJDky0DcYzLYGvie7y1R81gK7qVditAjEA8LYJZBbFEyLiTDB6IGaJvbfNb5dir7hlWVRSkcqsycuUrDNBP5O4Ayk1e2xqaNBz"},"tlogEntries":[{"logIndex":"2583300997","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660388","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCPD+DcIXMjfujtuSftT+7jmNjEeUr7dkNE5coXXxikxQIgEf+IJ/2kYJ5ADxkatPICRAR7s8YAKJ4a+P20nUN/pSE="},"inclusionProof":{"logIndex":"2461396735","rootHash":"ZI/dJTehzl7CG5EvEc1W+9eSm4/xpzy3ypRySB1cIak=","treeSize":"2461396738","hashes":["5hvSt7ZFYbc4Pz0KZ1kTFJ0JyWZMTEdcSBaSMPEWKgU=","J+yTkk6F5VdycYmIyVyC7KGzhe6kNjI5gfRqF9mg4do=","ziCDg2LMx8jgyndiAzMOo1S7PiKIXLTKaNCLqaW4tYc=","+qOkLQjvzb5OTYoemnFR8QXV6dRj2Kg+q6W6IHdFvUU=","UBTTofHsrD/tXJCgUFartEaSLHtmA9hqwVUCnxmKfOw=","jctsymf2PHXE6SdE6lQqEqLa8/9vIkw0qveGvYs8YBU=","BXKuzzO7ElNGXj0uheQyAFy9pIic2FshQ8heU2FrQwI=","M4YcEg7u+RzHhtqrJi5G60zEdbFHo9OVEDterfXbo4k=","GmUPfaadYE9veujsPZXWod4O/7gkGm/HgxlzdfU4k0E=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396738\nZI/dJTehzl7CG5EvEc1W+9eSm4/xpzy3ypRySB1cIak=\n\n— rekor.sigstore.dev wNI9ajBGAiEA4IH7NySTEK0L/+tz3vdW5YYzUZ6gatzmXdfohGAtN54CIQCPZ5g8mPhCbx52Te/kWs3grcivO9LqE5trEsmrpKsP3g==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4MWVkYjI2NzE2OTg1YWZjOTZkNzI3NTc4OGI1M2VhNzRiYWY0MTVjODAxZjg0ZGZjNDFiNGY0YWIyZTM3Y2YxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUR2VWJ4b3ZnQVNFN1BrYkdpOSt6WVgzRUJGUlpEYnhpRXhQVVcyamtWOHR3SWdKTGRmK1FuNHJ2ZDk3UjBjRmpER283UXJWV0w2OVpwTVQva3RPQnUya09vPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5SSFowRjNTVUpCWjBsVllURnVSMHRZVTFWb2RqbDFkRVYxTTFGdmRHZExhRGM0UXpCTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJSTTFkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZHZFc1WVUwMDRWV1ZrUWxsdWFpdHJZMUkzZGpOUGEyWTVkMEkxUm5NMFZXcEVXRFlLYmxKcVYwSkpaelJDVDNOd2JYSTJaazVRWXpkSlkwNUNWakE1TVZKamRURnhVVkZ5YUU1QlZYbG1WamxhVGxSUWRUWlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlYwZFVrM0NsVkpSa0Z6Tkd0d05tVkVTRmhYYUhsaVRWZHlMMDlaZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU40YXpoQlFVRlJSQXBCUldOM1VsRkpaMk5vVlRFM1kxVnNVRWswWW1vNVdETnJTa1ZqVUdseWVsZHFVSEJ2U0dsRFEyMWpLM3BEZEhNeVpFVkRTVkZFV1dOa09YcDZhR2hDQ2pST1JrRjVhWEJXZUdFeFRtcEVXVlJuZVhGeUswMVBaVEUzTVZBcldWVlBhMnBCUzBKblozRm9hMnBQVUZGUlJFRjNUbkJCUkVKdFFXcEZRWFpZUVVnS0wwaDJXbU5JWjJ4eFNIUm1NVE5GU25aUFIyOVZWVWc1VFRkSlowODFia3BFYTNrd1JHTlpla3haUjNacFpUZDVNVkk0TVdkTE4zRldaR2wwUVdwRlFRbzRURmxLV2tKaVJrVjVUR2xVUkVJMlNVZGhTblppWms1aU5XUnBjamRvYkZkV1VsTnJZM0Z6ZVdOMVZYSkVUa0pRTlU4MFFYbHJNV1V5ZUhGaFRrSjZDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgX6uyPy3jZ5S2wkDAQRomrdvLfADS0UMVdeajSBjDthkCFQCXvzeVXs2PG6lT5qIvLfbYF7QNexgPMjAyNjA4MjUxMjE5NDdaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMTk0N1owLwYJKoZIhvcNAQkEMSIEIEEpsZMhQtyDqy0aGofek41BRyGNCa2xJmsDo6PoX0wYMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMDlezbxhcPERF3E5mLnhlOTZxQVr8kpjnZUoxSgGZClxTOFFTCfaaLgiBSgb3Fmx3AIxANSktnxeZ+1MfGDWbwkeOA4T3yrNVGpFFnx9Uf/se7FwJ7OsaIASxGtc/r5pxIaSKQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"ge2yZxaYWvyW1ydXiLU+p0uvQVyAH4TfxBtPSrLjfPE="},"signature":"MEUCIQDvUbxovgASE7PkbGi9+zYX3EBFRZDbxiExPUW2jkV8twIgJLdf+Qn4rvd97R0cFjDGo7QrVWL69ZpMT/ktOBu2kOo="}}
|
build/torch211-cxx11-cu126-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch211-cxx11-cu128-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 19079128
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a4db24a265054351d3f005b945c66f11ed30f8edeabf9a119be12685e1b66307
|
| 3 |
size 19079128
|
build/torch211-cxx11-cu128-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch211-cxx11-cu128-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -51,8 +51,8 @@
|
|
| 51 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 52 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 53 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 54 |
-
"
|
| 55 |
-
"_ops.py": "
|
| 56 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 57 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 58 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -103,7 +103,7 @@
|
|
| 103 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 104 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 105 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 106 |
-
"xpu_fused_moe.py": "
|
| 107 |
}
|
| 108 |
},
|
| 109 |
"provenance": {
|
|
@@ -113,7 +113,7 @@
|
|
| 113 |
"dirty": false
|
| 114 |
},
|
| 115 |
"kernel": {
|
| 116 |
-
"sha": "
|
| 117 |
"dirty": false
|
| 118 |
}
|
| 119 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 51 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 52 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 53 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 54 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "pNskomUFQ1HT8AW5RcZvEe0w+O3qv5oRm+EmheG2Ywc=",
|
| 55 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 56 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 57 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 58 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 103 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 104 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 105 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 106 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 107 |
}
|
| 108 |
},
|
| 109 |
"provenance": {
|
|
|
|
| 113 |
"dirty": false
|
| 114 |
},
|
| 115 |
"kernel": {
|
| 116 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 117 |
"dirty": false
|
| 118 |
}
|
| 119 |
}
|
build/torch211-cxx11-cu128-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtGgAwIBAgIUcJaoMTXf0o6a8TJCeaJyVqjIPTswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDIwWhcNMjYwODI1MDkxNDIwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElN54NV9JP5KD59fy8SYQxrYLM09jzA/ggW0u0Y1tvNVdG6lhxeqCPYUd+metC2reHzo+LcVR1aUzs6x0DiNU+KOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU5phfwt26g8dm43UGMlCqWkJE1dgwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp1KsAAAQDAEcwRQIhAPp4PzzBsPQZDjF2wsiSoOOfcbgHxubUWJ/fiZ7TMRTfAiBVIFPIWnYmoWs13bdDa1It4ElqN1Xb5SPgyneW9ngdgjAKBggqhkjOPQQDAwNoADBlAjAHVNGiIUwU6dJgTcVYWUAd6qpoWGI3dc9HDSuj5VPYWJ45hyFHw+i7UWMQwgRY2WACMQDg/vjgok4s2ROaoCwUY30oR5NF7fdNV6EAPh/xz5HN+ZmhRj/NO5jMYG7ftkk4E74="},"tlogEntries":[{"logIndex":"2582977721","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648660","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDtvVVae75tqgyiABN+3t3Dx5Ey6N3h+WjKI0B024qWKgIgKM30oFEQ0I9rARlVEAwajdGJwT15yF+GpzvZ8dFBK5s="},"inclusionProof":{"logIndex":"2461073459","rootHash":"RY/uO7Ngwm1vvNDlYPXcHMmNXgc4PkUSX5uCOOGuHFA=","treeSize":"2461073461","hashes":["9qy3h3npZwbuSNzQC7/lwMlBF7FDJNpFt6FkiaV+bhQ=","dIbLsPRGEjYt+0vBIy7EjGb43nIskmKs09yMx+UGwRc=","b18mYJmqWdWM5Rnl0pTgboMTZgpjjGM2i5+KZhxiQ4A=","THCnfO3ePQZlKA0Za+sx59fdhpY/K4OLGOiWz6uhWCE=","d1boxA4L/qk9dPYuyI9n0pMKSK++v8n6CTnTIyiIrJ8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073461\nRY/uO7Ngwm1vvNDlYPXcHMmNXgc4PkUSX5uCOOGuHFA=\n\n— rekor.sigstore.dev wNI9ajBFAiBn75ktZP2hAzSn5VlPMdSo+PPcu1MQcQdg+rqGmMV2HQIhAMLuG+VnbWSX0HYH1Cq9e154wyf0OdzGzBd8A891Yyma\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlODYwOWRkMzcxMDk4YjdlYTkxMjcxMmY1YmZlODZmNzViNzA3ZGQ3YTMyNTI5YWMxOWYzYzE1MDJiNTllYzVhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRm54aGJtdWJnSWFqem9WK09HME9sZytQbzJCZ2lxUzhaa1AvNUJPWGxXYUFpRUFoWis4dGNuRTAzZXMvOUptYyt0ajhQWTI5b1BCaVRXN3o2ZHhNc00zcFc4PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SSFowRjNTVUpCWjBsVlkwcGhiMDFVV0dZd2J6WmhPRlJLUTJWaFNubFdjV3BKVUZSemQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKZDFkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVsM1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzVGpVMFRsWTVTbEExUzBRMU9XWjVPRk5aVVhoeVdVeE5NRGxxZWtFdloyZFhNSFVLTUZreGRIWk9WbVJITm14b2VHVnhRMUJaVldRcmJXVjBRekp5WlVoNmJ5dE1ZMVpTTVdGVmVuTTJlREJFYVU1VkswdFBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlUxY0dobUNuZDBNalpuT0dSdE5ETlZSMDFzUTNGWGEwcEZNV1JuZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F4UzNOQlFVRlJSQXBCUldOM1VsRkphRUZRY0RSUWVucENjMUJSV2tScVJqSjNjMmxUYjA5UFptTmlaMGg0ZFdKVlYwb3ZabWxhTjFSTlVsUm1RV2xDVmtsR1VFbFhibGx0Q205WGN6RXpZbVJFWVRGSmREUkZiSEZPTVZoaU5WTlFaM2x1WlZjNWJtZGtaMnBCUzBKblozRm9hMnBQVUZGUlJFRjNUbTlCUkVKc1FXcEJTRlpPUjJrS1NWVjNWVFprU21kVVkxWlpWMVZCWkRaeGNHOVhSMGt6WkdNNVNFUlRkV28xVmxCWlYwbzBOV2g1UmtoM0syazNWVmROVVhkblVsa3lWMEZEVFZGRVp3b3ZkbXBuYjJzMGN6SlNUMkZ2UTNkVldUTXdiMUkxVGtZM1ptUk9WalpGUVZCb0wzaDZOVWhPSzFwdGFGSnFMMDVQTldwTldVYzNablJyYXpSRk56UTlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQglDJg9KqQV1UqFIK9+Yaywe3826SSndmvN+/4HU7gUT0CFGBZRo6SvAvmZTJme3lREaiH0g1JGA8yMDI2MDgyNTA5MDQyMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDkwNDIwWjAvBgkqhkiG9w0BCQQxIgQgm16Jm70HZc3xN4oMJmfPj7/E5RTC692oj+AW4xyilK0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwJG2qOWq+bYIJcWCUKtc36EdxIpTbaVE1W315e2crCJetBTb51xTq008wTHgiobxCAjAU0+h1dbyeDCjCj8GOBLQbP+NrGkPrhCP8fNfAuGL2NnpSDsnBklzWUfWxiZ3aDsY="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"6GCd03EJi36pEnEvW/6G91twfdejJSmsGfPBUCtZ7Fo="},"signature":"MEUCIFnxhbmubgIajzoV+OG0Olg+Po2BgiqS8ZkP/5BOXlWaAiEAhZ+8tcnE03es/9Jmc+tj8PY29oPBiTW7z6dxMsM3pW8="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtGgAwIBAgIUVzfa/jFYvER2/ieL8vax7RoE1qIwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTQ4WhcNMjYwODI1MTIyOTQ4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5DpIUsnOiO/nHI18h+ZRIzq9jd72cD/5+QzGBYv0rsUt/2dh/paTy3nP6GHMcuQqHbav/6q3MqGmSWZpp+W0YKOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUaHT3T7uHjJW5v1z70v2B5PrZJF0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjcyYMAAAQDAEcwRQIhAKrC2PMxuJSOijSlriu4yrq/JBow7EbHmc2Vtm5svSOuAiBQO+5eQuw3w2zOxXPlZxlmjYMlkA+3ygxHF+0CYOX7JjAKBggqhkjOPQQDAwNnADBkAjANuZNh9v52fBTku1AApXwyISDdPDsxJh5sTcmXtyKWumXLzglx8+5j4JM5S5h1UaMCMAxnV9sWPV413y7vPccptRV9RpOYS3qU7cSBoev7yAwFuhikBjuEaTiQdTioJlmpFw=="},"tlogEntries":[{"logIndex":"2583301012","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660388","inclusionPromise":{"signedEntryTimestamp":"MEUCIAmPu4YW7WaKvADOuB80ShOOhYf+Rs1S8q7aSeeDaCwaAiEAplw6YD/ft9ZSGyUTMsKiuy3zjR1YJbD1EfJ79D8m1bY="},"inclusionProof":{"logIndex":"2461396750","rootHash":"1pvDT5idN/C0zaLG6r4W5FSrOQaOwrtDxWObYt7e3Is=","treeSize":"2461396760","hashes":["1jfuySa4lYVU2YeiToV67fXGun437h5d/8E7Mi8z51Q=","91TKOH6AFIjWZht1cxM7KirFxzjsqC1wsU2X3qjEg9k=","6yDgFc8UOh5a7YSmL+It+Mgvrx+ha4GGi/QEU4fpDds=","jOB7k5+Ai8qU7CV5QLbQ6tvMybg2QsHV+ZM6d5H0vwQ=","97JkW4syQbnYlniAcD/h1y34Ewl0+0Yw2Yi6B5lcKQM=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396760\n1pvDT5idN/C0zaLG6r4W5FSrOQaOwrtDxWObYt7e3Is=\n\n— rekor.sigstore.dev wNI9ajBGAiEA8Ocd+Zq9tmK94fX97OlhwNnV2x8FrXSEVuX4c3ttxJQCIQDPir+IeTpisJbvfI6uUY/tKWhticWYtHVRgf+68N6J8w==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJmNTczZDNhMTM3YzRmZWY5MmZlNWI1YTEyZmQ1YmU3M2NhZDEzY2U0YTUwYzMyODE0NmYzZTI2OTljYjc1ZDBiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJR1dFZXZ3V3Yva3RDcm5tVG5sL0FtNzlYRERZeUdOMzZDdlNjK1krN0QwOEFpRUF5M0x1Q1dwbnVsY1lSaWs3Ly8ycGg0aFpvWVlDMHpjei9KdXBESi85UUYwPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SSFowRjNTVUpCWjBsVlZucG1ZUzlxUmxsMlJWSXlMMmxsVERoMllYZzNVbTlGTVhGSmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJSTkZkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZFMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUxUkhCSlZYTnVUMmxQTDI1SVNURTRhQ3RhVWtsNmNUbHFaRGN5WTBRdk5TdFJla2NLUWxsMk1ISnpWWFF2TW1Sb0wzQmhWSGt6YmxBMlIwaE5ZM1ZSY1VoaVlYWXZObkV6VFhGSGJWTlhXbkJ3SzFjd1dVdFBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZoU0ZRekNsUTNkVWhxU2xjMWRqRjZOekIyTWtJMVVISmFTa1l3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU41V1UxQlFVRlJSQXBCUldOM1VsRkphRUZMY2tNeVVFMTRkVXBUVDJscVUyeHlhWFUwZVhKeEwwcENiM2MzUldKSWJXTXlWblJ0TlhOMlUwOTFRV2xDVVU4ck5XVlJkWGN6Q25jeWVrOTRXRkJzV25oc2JXcFpUV3hyUVNzemVXZDRTRVlyTUVOWlQxZzNTbXBCUzBKblozRm9hMnBQVUZGUlJFRjNUbTVCUkVKclFXcEJUblZhVG1nS09YWTFNbVpDVkd0MU1VRkJjRmgzZVVsVFJHUlFSSE40U21nMWMxUmpiVmgwZVV0WGRXMVlUSHBuYkhnNEt6VnFORXBOTlZNMWFERlZZVTFEVFVGNGJncFdPWE5YVUZZME1UTjVOM1pRWTJOd2RGSldPVkp3VDFsVE0zRlZOMk5UUW05bGRqZDVRWGRHZFdocGEwSnFkVVZoVkdsUlpGUnBiMHBzYlhCR2R6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgICHhFKbnBB+a3pjbiHdgW3YfnF+0t1RXH4NBu7fvLU4CFQD1rzLesmxzFyi3MpRBeuAUaAzKXRgPMjAyNjA4MjUxMjE5NDhaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMTk0OFowLwYJKoZIhvcNAQkEMSIEIHvInt1Pq6Z5x8Bpg8EqghwQoXy0JBDYurmza8/afnCYMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQDGuxY5DtAoXb1rkbs0Y8WmVb82oFzqVfPa8xH4pyScbymTf9euKoa2WLGEnFMSTpsCMBZRYLM+6w3q4yVGt/6dBta2a7tl41RLWFLMfIlLwOZxxoUU96iIvP7JkPNoxJF9Xg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"9XPToTfE/vkv5bWhL9W+c8rRPOSlDDKBRvPiaZy3XQs="},"signature":"MEUCIGWEevwWv/ktCrnmTnl/Am79XDDYyGN36CvSc+Y+7D08AiEAy3LuCWpnulcYRik7//2ph4hZoYYC0zcz/JupDJ/9QF0="}}
|
build/torch211-cxx11-cu128-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch211-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 10062568
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:42f42b28a91fe3b5cb4541cba47978da22d283022e01c7520077c4980701bd04
|
| 3 |
size 10062568
|
build/torch211-cxx11-cu130-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch211-cxx11-cu130-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "QvQrKKkf47XLRUHLpHl42iLSgwIuAcdSAHfEmAcBvQQ=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch211-cxx11-cu130-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtKgAwIBAgIUKLWAGcnkp2QwDvil9bqBQ/muBP8wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDIxWhcNMjYwODI1MDkxNDIxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElV5BuwlM25qU5KTygDzxK6CRfNdHk7w7ywFyHGCxBstfp0cKYU3N5pMGIDX9mM9x6WT57cdhs35+wo//IsXHa6OCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUajWLv6MQW2UPBUnxgoHf5ne51b0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp1xcAAAQDAEgwRgIhAJO9rYknPN3U7N/COeKyy1QpaXwhaUONbU+mCPeqcDYsAiEA4ldjKuQS2RBxFL5k5ENAPehbC30amR+3tSWR7/l2nf8wCgYIKoZIzj0EAwMDaAAwZQIxAL2nalBpfMuSZKju02usZy4pc5YQZ2skYz701BUEhmy+FN6A8QFCUIko40P73dg6xgIwDbkz23V1IefKstAWEFzWRHPZashXV41WIQIgNnDgBzk6Kwai1u57lpp4+GOefTS8"},"tlogEntries":[{"logIndex":"2582977735","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648661","inclusionPromise":{"signedEntryTimestamp":"MEYCIQDA213dI2UYNnpHycuf95RcEWhQVHT+gTtRHeKrQPeLrwIhAJ/taFiQyR2/W3uIXYA0yPYarhItUVEuGTI4Q5mLIL9m"},"inclusionProof":{"logIndex":"2461073473","rootHash":"apVe6x+i4pa8RQKVnEQjEZadzYFi++nPp+3sbgNGwqg=","treeSize":"2461073475","hashes":["t3BcCIlB2YdZ4h+sOAU9nefasg2HsxzG6R+W1jRi9wU=","zPTIjNnO+wWwo8YmGGvZDwziK9b93Fs7SVJ7oUs45NU=","WfF6D/sWEPwUJtf6CrUr55BiTTNRUkwx9Dg0kX9Z+/8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073475\napVe6x+i4pa8RQKVnEQjEZadzYFi++nPp+3sbgNGwqg=\n\n— rekor.sigstore.dev wNI9ajBFAiEAmpJD5Qpv41SSNx/j/pk677lOu7gaHgqDg1B+tMBzScwCIASCYCxZzvch7/8NfSc1gEZFNsVtU3R0nx4CQUbggOty\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4MTAxMDVjZmM5NmNhYzIwNWZiZTBkZTFmMTk1ZWNmMWJiZmMzMDA4OTA5ODA4YzZkMGFmNzFkMWQ2MzQyNDU3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRlNSTUNQOHh5UTJRQmZ5K29IYkEybFlJVUgybzNaMmxGVU12WDRmMUdhd0FpQkFyNklCcVIyTFJnL1lnTWZUdWdoTjhkQVNnbzZYcnVFSzRZcVgreWF6d0E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5STFowRjNTVUpCWjBsVlMweFhRVWRqYm10d01sRjNSSFpwYkRsaWNVSlJMMjExUWxBNGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKZUZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVsNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzVmpWQ2RYZHNUVEkxY1ZVMVMxUjVaMFI2ZUVzMlExSm1UbVJJYXpkM04zbDNSbmtLU0VkRGVFSnpkR1p3TUdOTFdWVXpUalZ3VFVkSlJGZzViVTA1ZURaWFZEVTNZMlJvY3pNMUszZHZMeTlKYzFoSVlUWlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZoYWxkTUNuWTJUVkZYTWxWUVFsVnVlR2R2U0dZMWJtVTFNV0l3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F4ZUdOQlFVRlJSQXBCUldkM1VtZEphRUZLVHpseVdXdHVVRTR6VlRkT0wwTlBaVXQ1ZVRGUmNHRllkMmhoVlU5T1lsVXJiVU5RWlhGalJGbHpRV2xGUVRSc1pHcExkVkZUQ2pKU1FuaEdURFZyTlVWT1FWQmxhR0pETXpCaGJWSXJNM1JUVjFJM0wyd3libVk0ZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkplRUZNTW00S1lXeENjR1pOZFZOYVMycDFNREoxYzFwNU5IQmpOVmxSV2pKemExbDZOekF4UWxWRmFHMTVLMFpPTmtFNFVVWkRWVWxyYnpRd1VEY3paR2MyZUdkSmR3cEVZbXQ2TWpOV01VbGxaa3R6ZEVGWFJVWjZWMUpJVUZwaGMyaFlWalF4VjBsUlNXZE9ia1JuUW5wck5rdDNZV2t4ZFRVM2JIQndOQ3RIVDJWbVZGTTRDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgEbF28frWRBCMHPGhrV89UBA7h3cO6gr3lkGdSfF53BACFQCQonnWq+IPKfv3udX+7csZK6be4RgPMjAyNjA4MjUwOTA0MjFaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA5MDQyMVowLwYJKoZIhvcNAQkEMSIEIJvppJQlAG6IqizFIZA3YDy7fP25gmx2GaSqcx6p+hTjMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQC1jrnKCkXUmHamh1QAefIlnP3Ghf64s8pOFQVLUfG6+Mhw7ozS57IpV/XosVCT+9cCMQDkuaYzz6a5JayABh/e9lxkIiU9ldsn7/azucsMmCtW0AIJkn01x97bN5bYpLCvU2M="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"gQEFz8lsrCBfvg3h8ZXs8bv8MAiQmAjG0K9x0dY0JFc="},"signature":"MEQCIFSRMCP8xyQ2QBfy+oHbA2lYIUH2o3Z2lFUMvX4f1GawAiBAr6IBqR2LRg/YgMfTughN8dASgo6XruEK4YqX+yazwA=="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtGgAwIBAgIUeUIFXJ50+G12sCjwJl6augF4nYkwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTQ5WhcNMjYwODI1MTIyOTQ5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETnFoeHaBXZxmUD4bM5e1HCFIW6+2UmcyhfG1es2w/2dx8166uiZnnpc0crvvMowTMT82UDoBAcxIOiTkNmO0fKOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUlmxH8ufqpVu9Glz6/XWF551U8D0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjczIoAAAQDAEcwRQIgWiYzfUX9Dn3pZIXPbKOgXR6WJ/+rR4vyyaqzz3rSQj8CIQCMTfgOEczMvL2d2CtQoGMErJ9vwpNTr3/wm1WLC8U05DAKBggqhkjOPQQDAwNpADBmAjEAvZFo1QbCMQeVvG0QKt5wu0Ozq/JVHfFDiBXJJL8z7/ohp6e+XnESLXzn5w+vQ68lAjEAkJafr6hmukEKp0BRUVDcHHIw3MctDa9PW52xXiAuKaksk8vYB/0hbuQtW14DwGMz"},"tlogEntries":[{"logIndex":"2583301032","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660389","inclusionPromise":{"signedEntryTimestamp":"MEYCIQCUtXbf/b51Js5ZRSIbUlNu2l1ewj3iUC0RMHBVVAG0ogIhALcm6a/0G0qs+un1gWipXQraGMgsPQMg2HITEW/+izqd"},"inclusionProof":{"logIndex":"2461396770","rootHash":"+9yDVQtoBwv+TWg9sbvbrws2o4uDrAiv3/sXe3VsXEI=","treeSize":"2461396771","hashes":["f156COoZ5G1LD9hWjZwrqyK6SWCrQZDZ0BsdBSj64Pw=","j0jxmcYIDfzscLLup18JrUF+HnFqxPFULBBDxDLqfSQ=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396771\n+9yDVQtoBwv+TWg9sbvbrws2o4uDrAiv3/sXe3VsXEI=\n\n— rekor.sigstore.dev wNI9ajBFAiBL168m4LojcDzYOaZGPy3YwpLodl04c1rYP6PM1jdPLAIhANY9/3PjaDlSULsSizUeyE+OZbCJwXr5psaGl/lNHDf/\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI0ZjY0MjUzMDA5YjZlZDMyOGNlODc2MTY0MWFmYjFkMzRiZjZkMmY5M2YzYzU3MmZmYWU2NjA4NjRhZjE3ZjgyIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURlMDlmc2w2T2R2QkZEOTJ0bElrLzNCNjhuMEt0aWN1a2d5ajhwdmkxVnB3SWhBTmJGVE5sTHR4aDZLVllxZHBqMjlMWmJMWURNQ3FSaXUwMXlOM2xzb0FsSCIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5SSFowRjNTVUpCWjBsVlpWVkpSbGhLTlRBclJ6RXljME5xZDBwc05tRjFaMFkwYmxscmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJSTlZkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZFMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZVYmtadlpVaGhRbGhhZUcxVlJEUmlUVFZsTVVoRFJrbFhOaXN5VlcxamVXaG1SekVLWlhNeWR5OHlaSGc0TVRZMmRXbGFibTV3WXpCamNuWjJUVzkzVkUxVU9ESlZSRzlDUVdONFNVOXBWR3RPYlU4d1prdFBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZzYlhoSUNqaDFabkZ3Vm5VNVIyeDZOaTlZVjBZMU5URlZPRVF3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU42U1c5QlFVRlJSQXBCUldOM1VsRkpaMWRwV1hwbVZWZzVSRzR6Y0ZwSldGQmlTMDluV0ZJMlYwb3ZLM0pTTkhaNWVXRnhlbm96Y2xOUmFqaERTVkZEVFZSbVowOUZZM3BOQ25aTU1tUXlRM1JSYjBkTlJYSktPWFozY0U1VWNqTXZkMjB4VjB4RE9GVXdOVVJCUzBKblozRm9hMnBQVUZGUlJFRjNUbkJCUkVKdFFXcEZRWFphUm04S01WRmlRMDFSWlZaMlJ6QlJTM1ExZDNVd1QzcHhMMHBXU0daR1JHbENXRXBLVERoNk55OXZhSEEyWlN0WWJrVlRURmg2YmpWM0szWlJOamhzUVdwRlFRcHJTbUZtY2pab2JYVnJSVXR3TUVKU1ZWWkVZMGhJU1hjelRXTjBSR0U1VUZjMU1uaFlhVUYxUzJGcmMyczRkbGxDTHpCb1luVlJkRmN4TkVSM1IwMTZDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgSWVhglxpSgP1f3zUnVIkOgusk5CMnDvGDhITWuynm5YCFDAh5gwFjdqsGgKEZ25Fktw3bonkGA8yMDI2MDgyNTEyMTk0OVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIxOTQ5WjAvBgkqhkiG9w0BCQQxIgQg3TJBUVxzs7a/jl+x/P7oQDylbJNmNbIXXeNjTiz38oUwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxALSFeJGSHEz0aIlHP0/fLvuDH1wMSI9RhzG1rUxWiHk28oT629l4tP2Tr7y5TYKttwIwMwrndXpK2KKFYLCEQoDB+AxwYe2KJ7aSrPUZG2aWyFYZzhWI3DaFSEcpBUn6PKgX"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"T2QlMAm27TKM6HYWQa+x00v20vk/PFcv+uZghkrxf4I="},"signature":"MEYCIQDe09fsl6OdvBFD92tlIk/3B68n0Kticukgyj8pvi1VpwIhANbFTNlLtxh6KVYqdpj29LZbLYDMCqRiu01yN3lsoAlH"}}
|
build/torch211-cxx11-cu130-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch212-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 13179512
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b7a6b16d948b24d1008e2409afab1371ad1a70c4e5d1e6c3d55ce87d4d197e85
|
| 3 |
size 13179512
|
build/torch212-cxx11-cu126-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch212-cxx11-cu126-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "t6axbZSLJNEAjiQJr6sTca0acMTl0ebD1VzofU0ZfoU=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch212-cxx11-cu126-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSTCCBtCgAwIBAgIURA4psH8MgnuWYo41Lg2JMTepkaowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDIyWhcNMjYwODI1MDkxNDIyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqCr40Lli7ROYDnocXr3BTZ2IPIs8IU8Bdkc4SU/+kOSLOmSSqgxZVSm5ypAX1gkc7QxO9e6eegWYwKWr9VwEoaOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUf6GGX9h+HmIqTFGzGdGhCc16uPYwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp2jQAAAQDAEYwRAIgIqNv52+WQxvpfJgiWlma48NnuFVQdy36eoxjuyjCQdACIDIcFpzpw6Kv5AdhfiQNqEzsDl2fvcWFh7TmulN3hhr4MAoGCCqGSM49BAMDA2cAMGQCMFFV+A0nYLjdGWuA1Wa5KDsFi7NWTEG3GqnqNVs7f0TfeXUD8iYLfL3NHf0xzo45wgIwJaV5qKAPoWqGqqehw6CPZVc/oxqHoIwYrFK+oXVvpKQzZJI7B4l0W2lKC8zNilj3"},"tlogEntries":[{"logIndex":"2582977745","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648662","inclusionPromise":{"signedEntryTimestamp":"MEYCIQC5QB9pu8wZZglqpRB9xFzZYUOncom44+ffv0U6MzenswIhANhrWHqhettDsAmfSt2LqP2lqt1LbDZ6cSuts/WDp1BK"},"inclusionProof":{"logIndex":"2461073483","rootHash":"jybjX7uHrfeuLrg+RrcKNSVirKC85JDjFJho4VHV8/s=","treeSize":"2461073484","hashes":["7RtIiRbCgLHRs0aRnkXT8Wf82c4M+Fud0ooodmPlDLA=","p8Mqi1VWyBEfV22HDv1WsSo6dqOBAgEYPPUlSBaKhfU=","xeoOmGXglW8feXvsEyQ/FeAmiRX3eT7IQrJ1+3YOMF0=","WfF6D/sWEPwUJtf6CrUr55BiTTNRUkwx9Dg0kX9Z+/8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073484\njybjX7uHrfeuLrg+RrcKNSVirKC85JDjFJho4VHV8/s=\n\n— rekor.sigstore.dev wNI9ajBFAiEA4VJ5SaL7eV+WEjMLyfaEYvaIwHdZITAosh2tUdzDIbcCIEhAH+05Jx0GcVroTSrYXf3oNKxBTVAnOJzrUuGhGM++\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlZTZmMWY2MDlhYzI5ZTBmZGU4MjM1N2IyMjQ5NGUwOGUyMGFiYWNmMjdkYzNjZTkzNzgxYTcwOGM3NGEyZTNhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNUOHlDUEFhbDluL0JqdS9DckhiL2xtK1NRcFMxU3djaGd3ODRzRm5OREJ3SWdQbjFPUEpYem1VUDZpQkVNdWEvL3BPVTBKcXpnKzlRNHVpVTNNVHo3UVlnPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRWRU5EUW5SRFowRjNTVUpCWjBsVlVrRTBjSE5JT0UxbmJuVlhXVzgwTVV4bk1rcE5WR1Z3YTJGdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKZVZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVsNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ4UTNJME1FeHNhVGRTVDFsRWJtOWpXSEl6UWxSYU1rbFFTWE00U1ZVNFFtUnJZelFLVTFVdksydFBVMHhQYlZOVGNXZDRXbFpUYlRWNWNFRllNV2RyWXpkUmVFODVaVFpsWldkWFdYZExWM0k1Vm5kRmIyRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZtTmtkSENsZzVhQ3RJYlVseFZFWkhla2RrUjJoRFl6RTJkVkJaZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F5YWxGQlFVRlJSQXBCUlZsM1VrRkpaMGx4VG5ZMU1pdFhVWGgyY0daS1oybFhiRzFoTkRoT2JuVkdWbEZrZVRNMlpXOTRhblY1YWtOUlpFRkRTVVJKWTBad2VuQjNOa3QyQ2pWQlpHaG1hVkZPY1VWNmMwUnNNbVoyWTFkR2FEZFViWFZzVGpOb2FISTBUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlZMEZOUjFGRFRVWkdWaXRCTUc0S1dVeHFaRWRYZFVFeFYyRTFTMFJ6Um1rM1RsZFVSVWN6UjNGdWNVNVdjemRtTUZSbVpWaFZSRGhwV1V4bVRETk9TR1l3ZUhwdk5EVjNaMGwzU21GV05RcHhTMEZRYjFkeFIzRnhaV2gzTmtOUVdsWmpMMjk0Y1VodlNYZFpja1pMSzI5WVZuWndTMUY2V2twSk4wSTBiREJYTW14TFF6aDZUbWxzYWpNS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgBrluxgYJJQ+VXpWuiIG1CcPy4CqlqGZ5orDHNHcBZt8CFFayJbsXTb+hlc8vuTyJtX4zk61iGA8yMDI2MDgyNTA5MDQyMlowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDkwNDIyWjAvBgkqhkiG9w0BCQQxIgQgfiMPG0HAhX1fhUzII2tzRtrImOtrhXyoSalsa+K+T+owgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwDaR2g4vhTmhn+a9bfPw9lpHk44cWjGjHOlNsHEhIxao9y1KFyzyhueEjJSC7e9idAjAZhDRmoW/1Y5QM5WOMaD6LgpMdgo39K5Y3MmYtebu95LgYJY/1s1ajcBEEvVGR8Hw="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"7m8fYJrCng/egjV7IklOCOIKus8n3DzpN4GnCMdKLjo="},"signature":"MEUCIQCT8yCPAal9n/Bju/CrHb/lm+SQpS1Swchgw84sFnNDBwIgPn1OPJXzmUP6iBEMua//pOU0Jqzg+9Q4uiU3MTz7QYg="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtCgAwIBAgIUFnFOQN7uJssvbiXCaawRDN/D3v4wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTUwWhcNMjYwODI1MTIyOTUwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELzuHLO359HEqG04AWhmqA9/Tn2OUzC+AlJcZ466Gc+8Uub12FCMNss8B+Sl8xfCWAhffHIJKM4q5PuRzqOqNeKOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQURMMYkodFWqTJRMaEx229QX5LCmkwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjczxIAAAQDAEYwRAIgKlOon84AnvCVrXqZeHDMoGAvIT7ME33nUzPiy4gW9ZICIEFp5fjPLiA6iaBxIWVL9bQ6siPjjBaqcakx5Y24fPMkMAoGCCqGSM49BAMDA2kAMGYCMQDkOMdIbuYsMZ9RUIWRQdH4kp0H+MjhrdVZAHpPJBaiN91cXivCpSAUJoxzfpwIHtMCMQCp49Va1yYt9vy3cIB4yQI/jJA22Zd9hQsBQQacmTZrMmiIdoUSwQbMMJIDAXxu7lw="},"tlogEntries":[{"logIndex":"2583301044","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660390","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDkO9m4Tl19c8iteMaIXPXB/uSmtag47s9WJuLHlsjDEgIgc9lVN//CEhqPE6CL7SfD9g0U7VyEj0iNFtQF96EfDSk="},"inclusionProof":{"logIndex":"2461396782","rootHash":"d18bbsE9PjlmjfnUJcACRTOgcpaZHGieCKgPwgUwZds=","treeSize":"2461396784","hashes":["rPvu9///nLz+gh1zjBlTy8zC38dE6rU8mfa5/CC/yqY=","NFilNnXKaLOXJr3n2WhRYP9i041CIJeDlvuqlzQ6e74=","WmIMG7asN5/crmb0Tm+GYiQGTyvZVQIwNgYs1akCGlY=","VnjBsDs2FMxUskVhMZAggxN5nK97K6ZChSBf5Oni0Gg=","j0jxmcYIDfzscLLup18JrUF+HnFqxPFULBBDxDLqfSQ=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396784\nd18bbsE9PjlmjfnUJcACRTOgcpaZHGieCKgPwgUwZds=\n\n— rekor.sigstore.dev wNI9ajBFAiAGdeMU88F0/iVOt7mBsHYzyxmxx/2gkgWaP+Tf8WDspwIhALfLBDfHzUWcQJ4pNbTUZVc2HwU8GIRjQnBU/BzLom0T\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlZWJhZTg2OGYxM2U2NTc3YTA1MzY1MWY4MTQ2OTYzNTZlZDlmYjEyMDM2MzAwMTBiNGQ4MjU4NmVhMjRkY2E5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRXRQcVRVVmlPN3RleTlPUDZWVWpuSXRXd2JvbFVZTExpS3AyZjFzbmMzWEFpQVNUbjlYMXVCejFhU0JpR0x2eThyc1dNc0tmdnZ5dk5WcjY0RFhGc0p3d1E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SRFowRjNTVUpCWjBsVlJtNUdUMUZPTjNWS2MzTjJZbWxZUTJGaGQxSkVUaTlFTTNZMGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJWZDFkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZWM1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZNZW5WSVRFOHpOVGxJUlhGSE1EUkJWMmh0Y1VFNUwxUnVNazlWZWtNclFXeEtZMW9LTkRZMlIyTXJPRlYxWWpFeVJrTk5Ubk56T0VJclUydzRlR1pEVjBGb1ptWklTVXBMVFRSeE5WQjFVbnB4VDNGT1pVdFBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZTVFUxWkNtdHZaRVpYY1ZSS1VrMWhSWGd5TWpsUldEVk1RMjFyZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU42ZUVsQlFVRlJSQXBCUlZsM1VrRkpaMHRzVDI5dU9EUkJiblpEVm5KWWNWcGxTRVJOYjBkQmRrbFVOMDFGTXpOdVZYcFFhWGswWjFjNVdrbERTVVZHY0RWbWFsQk1hVUUyQ21saFFuaEpWMVpNT1dKUk5uTnBVR3BxUW1GeFkyRnJlRFZaTWpSbVVFMXJUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlhMEZOUjFsRFRWRkVhMDlOWkVrS1luVlpjMDFhT1ZKVlNWZFNVV1JJTkd0d01FZ3JUV3BvY21SV1drRkljRkJLUW1GcFRqa3hZMWhwZGtOd1UwRlZTbTk0ZW1ad2QwbElkRTFEVFZGRGNBbzBPVlpoTVhsWmREbDJlVE5qU1VJMGVWRkpMMnBLUVRJeVdtUTVhRkZ6UWxGUllXTnRWRnB5VFcxcFNXUnZWVk4zVVdKTlRVcEpSRUZZZUhVM2JIYzlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgKI/oPhVrHmUFyIE+y2JgQTAL/+9krEqnMSlDCQzQjcACFQD8rb/iyffw+si3GwcMkoGa9kyhSRgPMjAyNjA4MjUxMjE5NTBaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMTk1MFowLwYJKoZIhvcNAQkEMSIEIHmWmFFIMV2oib4VeuU2NpF2M4p3ca2Nmq8Rvzsfv+ncMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMFGp3gZJXhP85ltPV5pkkhnozPgDaI0pcqrQngkqHvQAGcrMdJVl33ER4GEAmOfHnwIxAOCw+jrF4NHoYpd31+muglNn7577GBu/86LYACkL3ELI4rDZJchhVuPfRuOyV6VLSg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"7rroaPE+ZXegU2UfgUaWNW7Z+xIDYwAQtNglhuok3Kk="},"signature":"MEQCIEtPqTUViO7tey9OP6VUjnItWwbolUYLLiKp2f1snc3XAiASTn9X1uBz1aSBiGLvy8rsWMsKfvvyvNVr64DXFsJwwQ=="}}
|
build/torch212-cxx11-cu126-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch212-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 10062976
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2b6dfc16c00e8334974dc4937d458c3cc19003d04e3268beadb01a2b9361ab1e
|
| 3 |
size 10062976
|
build/torch212-cxx11-cu130-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch212-cxx11-cu130-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "K238FsAOgzSXTcSTfUWMPMGQA9BOMmi+rbAaK5Nhqx4=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch212-cxx11-cu130-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtKgAwIBAgIULnQN62f0ZKgw5nrfbWUiovJNqSAwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDIyWhcNMjYwODI1MDkxNDIyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsPcar8XEw6QDj0/mxQYKPmqpaB2nI2294BdLOSgQRLZ7THq5ZSnavwGnBGy/JlPNYMry1kgdE6rkKZMA4ZH0rqOCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU/rAEu8Je8dKyGUzHTZKrDWmHXcowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp3KYAAAQDAEgwRgIhAODwJcrxFyD9BJPS8tMj9gyX2EyC4ZnjEjMLMD727N0lAiEAj1rVSxpt1MrYmKB/IGbuXrOteCwZYPmNbHRdExOoAO0wCgYIKoZIzj0EAwMDaAAwZQIxAMTRzghaYbm33facSyXt9Hz99YhtiMdlecnuEgemZnR2wnUGJ3dC5u/a6YLvN6txZwIwFEfsYPxlId+66WVKH8V18//vDWVZtY7mONmVAUbJK90a0CNYDQ3/gtBiaeh9A0Oj"},"tlogEntries":[{"logIndex":"2582977758","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648662","inclusionPromise":{"signedEntryTimestamp":"MEYCIQC34tWB7qVrDI/+Z0m+9oqWltUAoj0N9ip2k+KE8a76bAIhAKeYrdyF2Sy1qN+XjScGF3nbdmS7kWYeelLwzCn6Jx0u"},"inclusionProof":{"logIndex":"2461073496","rootHash":"oLv2iYKJbL4WExOfhF3w5qnOul5y5AbSEeZsKggogQE=","treeSize":"2461073501","hashes":["dbxEP0FV7pmflZpDmL2tNGfBEu7LThf9n1nLtX7gRoU=","TkBfw4R6DmmhGyBSLAF97QL7Ybh5/fy+uZf7YAEKtYQ=","uGhTRfSlbIlQ0J74jNi/gxsKrv9Hz6fTSKF0SeeuDaY=","LXY7oyixSK02Tup8gib7uTv5+GWJgYZl3oSUWbhQjv0=","dZXpTcxruTCAqJdmgLe8ubZ/ID5LIHvQl5MoiOdDgLM=","WfF6D/sWEPwUJtf6CrUr55BiTTNRUkwx9Dg0kX9Z+/8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073501\noLv2iYKJbL4WExOfhF3w5qnOul5y5AbSEeZsKggogQE=\n\n— rekor.sigstore.dev wNI9ajBFAiAmqH2EhcE9gtoPnfLmf2DzVdJ6+OygPKmOCm2EnNVgWQIhAK92T6ObovyL58QGbZCtmHCCZYUddAFp3wsAt6moJtt7\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlNjFhNjE5MDg0YTk3YzkxZTIwMGFiZTM5NWU5NDAyN2Y3Y2ZjOTAzYmUxOTUwNDQ0YTUzYmEzNjg1YjZjNTBmIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUR3aDV5aUFDU3lkS21ucVovOE10UUdTdVRFRGpTT1NiWnRFY2pTN2g2V3FnSWhBTDdUVlBLN1RaelBqNExIQ1dPMGxIUnlNbG9zdUhEbHFZOW5ZOURaN2NBNCIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5STFowRjNTVUpCWjBsVlRHNVJUall5WmpCYVMyZDNOVzV5Wm1KWFZXbHZka3BPY1ZOQmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKZVZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVsNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ6VUdOaGNqaFlSWGMyVVVScU1DOXRlRkZaUzFCdGNYQmhRakp1U1RJeU9UUkNaRXdLVDFOblVWSk1XamRVU0hFMVdsTnVZWFozUjI1Q1Iza3ZTbXhRVGxsTmNua3hhMmRrUlRaeWEwdGFUVUUwV2tnd2NuRlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlV2Y2tGRkNuVTRTbVU0WkV0NVIxVjZTRlJhUzNKRVYyMUlXR052ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F6UzFsQlFVRlJSQXBCUldkM1VtZEphRUZQUkhkS1kzSjRSbmxFT1VKS1VGTTRkRTFxT1dkNVdESkZlVU0wV201cVJXcE5URTFFTnpJM1RqQnNRV2xGUVdveGNsWlRlSEIwQ2pGTmNsbHRTMEl2U1VkaWRWaHlUM1JsUTNkYVdWQnRUbUpJVW1SRmVFOXZRVTh3ZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkplRUZOVkZJS2VtZG9ZVmxpYlRNelptRmpVM2xZZERsSWVqazVXV2gwYVUxa2JHVmpiblZGWjJWdFdtNVNNbmR1VlVkS00yUkROWFV2WVRaWlRIWk9OblI0V25kSmR3cEdSV1p6V1ZCNGJFbGtLelkyVjFaTFNEaFdNVGd2TDNaRVYxWmFkRmszYlU5T2JWWkJWV0pLU3prd1lUQkRUbGxFVVRNdlozUkNhV0ZsYURsQk1FOXFDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgXx7GH3aqPx6z/UuFJnu8MTwXK85oGDJlgIPC71rmzFsCFQD5vJWGIPR5BESb3mpZ9jqTgC8HPhgPMjAyNjA4MjUwOTA0MjJaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA5MDQyMlowLwYJKoZIhvcNAQkEMSIEII6G0qFJ/J8L7sISXeOEv8r6SXsckdNYNuK0ReSOUdBzMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQCwklbK3In75P5Bpd+SFQOaawGyj4Ltla1WAAQoQvdyM5F9t6XOTmrvSEJZL8YraLMCMQDlq5P+3Nt8Q5DWOFe3a3LmkQVtc4CtkKYrgtbw7IB2cz739W+JxX3/Pk1dzbGG5VA="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"5hphkISpfJHiAKvjlelAJ/fPyQO+GVBESlO6NoW2xQ8="},"signature":"MEYCIQDwh5yiACSydKmnqZ/8MtQGSuTEDjSOSbZtEcjS7h6WqgIhAL7TVPK7TZzPj4LHCWO0lHRyMlosuHDlqY9nY9DZ7cA4"}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtKgAwIBAgIUX/lROFfwcp3Dp+K1mvRPKW3wpvIwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTUwWhcNMjYwODI1MTIyOTUwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEordtplyCu+GQHeQ9ey1VxdZ5Ht5xSW80StNYa84emSqVzCGxOE5dePYRQQAdd4FT+EgLgQLcBONduG5Cyi7cA6OCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUPkV+m9EYn8WFJgiemoWKVM6UtdowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjc0fcAAAQDAEgwRgIhAI6Arr1BHopBNTbNpwRLN7Xg28Sc2yPqFCJiJel3lLj6AiEA7zeo0UcDWQ9JdLfHf8H0rWQgGzw3+XkpTJgNsbe//YcwCgYIKoZIzj0EAwMDaAAwZQIxAInLA8ekANL1V7lB+iJmnzpf2wdt3Z6tGl0Xqzlcnl36ryZrzylII548U9gvwX9W/wIwSXIrHW9ds7R/n0s3Bz29pz5pS2miTVlCGhHybBNRTyqVwAjyf8PHK2InEV9+69ng"},"tlogEntries":[{"logIndex":"2583301055","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660391","inclusionPromise":{"signedEntryTimestamp":"MEUCIQC/yOlkkX5+vweOk84yGi3XIxu+cBHheseua3wuzWKi7wIgfF9e2IURGYK4/gOIiQxU0LpYsaQDH3aJMnNCTz/LbTk="},"inclusionProof":{"logIndex":"2461396793","rootHash":"d7K7sFwwosG5fPYRWJ7pD/EsSYbKbtyfvJuCwPOfFRY=","treeSize":"2461396795","hashes":["0X9dyk7HFfT0d/nFUhQzqiJqTlOK+PEHrRx6aCAPhVQ=","3hQojbb8eoY8HqfGrohobJUmvuEY6FYQUEmGMYCmqYQ=","dfUDZsat7AH4MyRBnL1j6Uop1GbU68dmOJ7mPrPhVbo=","5SSIAYN7P+bdRe32JW5aCkEXn6nVWaafvueOlRo+0I0=","j0jxmcYIDfzscLLup18JrUF+HnFqxPFULBBDxDLqfSQ=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396795\nd7K7sFwwosG5fPYRWJ7pD/EsSYbKbtyfvJuCwPOfFRY=\n\n— rekor.sigstore.dev wNI9ajBFAiEAy1A8fK1UUuh6SYf9iD6gbrxR6fu+D0IfUxS5shMdcocCIEloCs5D+YV0EOEdpjplSvggfVOodHD0qEnO0lIXYadR\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlZDRhNjQ5ZTFiMjk5ZWNjNTY0NjM2NzYyMTg4NzMxMjVjMDMzODU1NDRiOTViNTE5Mzk0MjRhODQ1NGZmODczIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURJdG9ZZmljVDI0N3JsM2N2aHN6VGI1TzRoM2RIa3NxbmxXOXNrdGV4NFlnSWdmSHMyZ1pJNWRCdXZNMW0rNDdBOHU0V1MxaU84cnpJYW9NVnVmT24yZGxVPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5STFowRjNTVUpCWjBsVldDOXNVazlHWm5kamNETkVjQ3RMTVcxMlVsQkxWek4zY0haSmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJWZDFkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZWM1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ2Y21SMGNHeDVRM1VyUjFGSVpWRTVaWGt4Vm5oa1dqVklkRFY0VTFjNE1GTjBUbGtLWVRnMFpXMVRjVlo2UTBkNFQwVTFaR1ZRV1ZKUlVVRmtaRFJHVkN0RloweG5VVXhqUWs5T1pIVkhOVU41YVRkalFUWlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZRYTFZckNtMDVSVmx1T0ZkR1NtZHBaVzF2VjB0V1RUWlZkR1J2ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU13Wm1OQlFVRlJSQXBCUldkM1VtZEphRUZKTmtGeWNqRkNTRzl3UWs1VVlrNXdkMUpNVGpkWVp6STRVMk15ZVZCeFJrTkthVXBsYkROc1RHbzJRV2xGUVRkNlpXOHdWV05FQ2xkUk9VcGtUR1pJWmpoSU1ISlhVV2RIZW5jeksxaHJjRlJLWjA1elltVXZMMWxqZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkplRUZKYmt3S1FUaGxhMEZPVERGV04yeENLMmxLYlc1NmNHWXlkMlIwTTFvMmRFZHNNRmh4ZW14amJtd3pObko1V25KNmVXeEpTVFUwT0ZVNVozWjNXRGxYTDNkSmR3cFRXRWx5U0ZjNVpITTNVaTl1TUhNelFub3lPWEI2TlhCVE1tMXBWRlpzUTBkb1NIbGlRazVTVkhseFZuZEJhbmxtT0ZCSVN6Skpia1ZXT1NzMk9XNW5DaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgSSOhPAlzolCffNwHPg1Z7lijHCRkYoaIxgEm6DmOk/ICFCCb7x63uGGVFdNWFxq9fSK3wXqaGA8yMDI2MDgyNTEyMTk1MVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIxOTUxWjAvBgkqhkiG9w0BCQQxIgQgt4TEFaQK45UdU8s7vWhUVHrkKiOEQNAwqol0vvSRQRswgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwECMv8XOdlmZs7UE5o/rpCwV4CfrXizvJe1vsHSx6mctwG11Fmg+bm9mHCw/zjQOEAjAWpP44C+k1H2mGUm4TEl5Owwj9/41AxO4Mz93Y/7ASNI6YlaD1Ya2+wIAOKLhoVDY="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"7UpknhspnsxWRjZ2IYhzElwDOFVEuVtRk5QkqEVP+HM="},"signature":"MEUCIQDItoYficT247rl3cvhszTb5O4h3dHksqnlW9sktex4YgIgfHs2gZI5dBuvM1m+47A8u4WS1iO8rzIaoMVufOn2dlU="}}
|
build/torch212-cxx11-cu130-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch212-cxx11-cu132-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 10393056
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:079f6f6e8893a9ce5a2fa17fd717a48282a9308607df2f65ad714d7f9b2ea9ad
|
| 3 |
size 10393056
|
build/torch212-cxx11-cu132-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch212-cxx11-cu132-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "B59vboiTqc5aL6F/1xekgoKpMIYH3y9lrXFNf5suqa0=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch212-cxx11-cu132-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHTTCCBtKgAwIBAgIUX2+lCZihX7/Cu0KIQtuZgMc2RxcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDIzWhcNMjYwODI1MDkxNDIzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEljVbv5eZxYV/LdQTPOxax/DfgcNvWQv+ga8CJLLgai1+UAkGAeln5p//7lL2h6ezbjUT8Mk3RH+6X0ykdJI2iqOCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUIiPpPk8mjLVO2/YYQ1fosAScOzgwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp38IAAAQDAEgwRgIhAPQQIZz7eaBojkatlk8iXIRaW/pL3hVCU//3UO3kNijPAiEAxVRKvMo5Vo31MeVE7vIKhR2BAqbc3x9Z1Blh0YtIk/UwCgYIKoZIzj0EAwMDaQAwZgIxANOyhW3ytUEbEHhIKBUcQKsXZDcoL4lBdT2FtvFM08FQa72urOwkyopvJr1VXex9xwIxANyKDXFcaLR2wgYaIqvDEGMAyrMnqpW8Ve+DbuB38ivSLmBXUghG3A7BGL03vuwROg=="},"tlogEntries":[{"logIndex":"2582977775","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648663","inclusionPromise":{"signedEntryTimestamp":"MEQCIDvrTSxS3x4ToTjkwELouiHuW0Q+15b5mLDvckUTYpCOAiB3KcffL5cMMaQndRXTiQSPEcjF2EEjN9CVi+hcAg/bQA=="},"inclusionProof":{"logIndex":"2461073513","rootHash":"FeXN6ikwdZZD18UM3SGavUIlEbRJgvkV9ZKK4RgjWg4=","treeSize":"2461073516","hashes":["ak65uKD5E/e2MbFiK5X03SpdHxJ7OzJRgdOk7TbXGuE=","Xenf/hx/Q5GW0Jcf8obY5wLfW6ZDnwEH662V5hdRmRo=","wdFBlFeKsJ9f/uYgAQgs8YZ0tsOqHBqPVlCDnDyAInY=","nIfLLS3On+p9qgKAj3BC7iWmKUSEEJz1oPygWckIY2E=","WfF6D/sWEPwUJtf6CrUr55BiTTNRUkwx9Dg0kX9Z+/8=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073516\nFeXN6ikwdZZD18UM3SGavUIlEbRJgvkV9ZKK4RgjWg4=\n\n— rekor.sigstore.dev wNI9ajBGAiEAwA4RUYFVp45IWpG7zAlpVZ9z/gh23gLPwjYPbEHD8vACIQDG10Wgsq5pbnpz3PW18hMZP2bnyqzW97c2dx8/8UyZHQ==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiNjVjZjU4YjI1OGU2YzQ3YWRhMTIwM2E3ZWZlODFiM2Y5OTI1OTY4ZjQ0ZDQwN2MzOTFmNTgzYzg2NjM3ZWYwIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQ3ZQaXBBeUxoS2VUZHNRby9oVnlGNzF4VWZBN0NtVWc4cU9KVko0dnhvUUFpRUFxbW5wUFU2VWxiMlZZRStqMThINTg5aHVXTlN3dnV3V2s3ekh2SzhWWjl3PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVWRU5EUW5STFowRjNTVUpCWjBsVldESXJiRU5hYVdoWU55OURkVEJMU1ZGMGRWcG5UV015VW5oamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKZWxkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVsNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzYWxaaWRqVmxXbmhaVmk5TVpGRlVVRTk0WVhndlJHWm5ZMDUyVjFGMksyZGhPRU1LU2t4TVoyRnBNU3RWUVd0SFFXVnNialZ3THk4M2JFd3lhRFpsZW1KcVZWUTRUV3N6VWtnck5sZ3dlV3RrU2treWFYRlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZKYVZCd0NsQnJPRzFxVEZaUE1pOVpXVkV4Wm05elFWTmpUM3BuZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0F6T0VsQlFVRlJSQXBCUldkM1VtZEphRUZRVVZGSldubzNaV0ZDYjJwcllYUnNhemhwV0VsU1lWY3ZjRXd6YUZaRFZTOHZNMVZQTTJ0T2FXcFFRV2xGUVhoV1VrdDJUVzgxQ2xadk16Rk5aVlpGTjNaSlMyaFNNa0pCY1dKak0zZzVXakZDYkdnd1dYUkpheTlWZDBObldVbExiMXBKZW1vd1JVRjNUVVJoVVVGM1dtZEplRUZPVDNrS2FGY3plWFJWUldKRlNHaEpTMEpWWTFGTGMxaGFSR052VERSc1FtUlVNa1owZGtaTk1EaEdVV0UzTW5WeVQzZHJlVzl3ZGtweU1WWllaWGc1ZUhkSmVBcEJUbmxMUkZoR1kyRk1VakozWjFsaFNYRjJSRVZIVFVGNWNrMXVjWEJYT0ZabEswUmlkVUl6T0dsMlUweHRRbGhWWjJoSE0wRTNRa2RNTUROMmRYZFNDazluUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgz0hFoOzWMn1ugCwI4Cl3Q0zNY4+1iAwJuG87AQJaQqwCFEiAYaKPjS+hHXzk+8td2tL7hz0OGA8yMDI2MDgyNTA5MDQyM1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDkwNDIzWjAvBgkqhkiG9w0BCQQxIgQgH+AIaEwIMnA3FUB5J5ywXdosgLgpTfXC5fJzBvI4Z8kwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAJ3HM5N355NuAV81ND9QDwFx/5Otbul1bq9UzK77Y6cxbcm2bcc9vWHhQX5JHwS0DwIwU+SRY3MUSsyfu4TQcmqa2CSLEh1xpv+lS5OZNePO4kFyJMcrWvyW7iLqaboWRtS+"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"tlz1iyWObEetoSA6fv6Bs/mSWWj0TUB8OR9YPIZjfvA="},"signature":"MEUCICvPipAyLhKeTdsQo/hVyF71xUfA7CmUg8qOJVJ4vxoQAiEAqmnpPU6Ulb2VYE+j18H589huWNSwvuwWk7zHvK8VZ9w="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtGgAwIBAgIUR6V5DsY+BUjiWw5r2c1qjLPvdiQwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTUxWhcNMjYwODI1MTIyOTUxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gYKoefCOR8Uuuo0KKEC/i1pDpwXBHrXIBWslUjoacrgtjgtBkkyl7W53Arjltz+jONjwyjLUQ08vvF1Ux0EF6OCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUGQJUwNpUSbKeghT51q3xxXFkR7AwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjc1RAAAAQDAEcwRQIhAIOqviLWyBZ4fvHEQ9eU/Kgww8nVyiiAV0WBGiJiu/tVAiBMsb02VYbhOxkBBDStdnFZJ/N1MGuQ+FUpJGUdT5qNxTAKBggqhkjOPQQDAwNnADBkAjBss8HABHHIKQDP/F+9uP9E9nmFWe0kUXPrjYVvE+1bUe5tyGR5bMMaXxP0Q41kfh4CMFg/cI8KJw+kPh27DBQ9sYjSkc8f5bZUJYBbagK55LiShYCcw3HNhp7YWTYHZ40nRA=="},"tlogEntries":[{"logIndex":"2583301071","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660391","inclusionPromise":{"signedEntryTimestamp":"MEQCIFaRBMNqb2UzX17vvi03NAGB9N7KjD0ek/F3MK3dgk1DAiBh0SOUPznKvRak8LPggkSZ03vgIt8tPoyaRGZJOainog=="},"inclusionProof":{"logIndex":"2461396809","rootHash":"sl0UVi5RDbF3bSCUSaWGQE1oePiJjoIC/BgnmiQlh+s=","treeSize":"2461396811","hashes":["qo6aB3Hw4estRMl0wNfEH9rgMokpYK4i7domAC10rBk=","BKyclpo60HrwVu1wzV4oEIvIqw9yJcwegdboJpq4Kyk=","GwLU1nZb+kv6KSHNSTfVgszkWZtBuRcF8bd6nFemKik=","FGoQjvguQqmlhEbn1uhWpAr5TNW2H4r+sHzTjsLX/Ec=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396811\nsl0UVi5RDbF3bSCUSaWGQE1oePiJjoIC/BgnmiQlh+s=\n\n— rekor.sigstore.dev wNI9ajBFAiEAhZQWSotNGDvxWiPc5eFw6kVIFRg3g2oid+JUgi04KfkCIBy+gxK9Kao3QjMx5I8y4a6SPbG3Xu6zMnTOzTLNjla9\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIxMDkzNjJiNmFmZDZhMWVlOTA1ZDNiNzcwNjc4YWFmNzJiOGNjMjYyOTlmODkwOWMyYWVlNGQ3YjY1NGI5MzEzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJR2k2R1ZLS21wZ01qY0IzNjdSZHE5Uks2Q3ppejBPTlAxcUdmSFFOcTNPaEFpQXJ3S1ZVNitYNzFRQTN3ZWNWbHVCMG1meFFXNkVmZFd5TWtkcEdjZk5lNWc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SSFowRjNTVUpCWjBsVlVqWldOVVJ6V1N0Q1ZXcHBWM2MxY2pKak1YRnFURkIyWkdsUmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJWZUZkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZWNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUzWjFsTGIyVm1RMDlTT0ZWMWRXOHdTMHRGUXk5cE1YQkVjSGRZUWtoeVdFbENWM01LYkZWcWIyRmpjbWQwYW1kMFFtdHJlV3czVnpVelFYSnFiSFI2SzJwUFRtcDNlV3BNVlZFd09IWjJSakZWZURCRlJqWlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIVVVwVkNuZE9jRlZUWWt0bFoyaFVOVEZ4TTNoNFdFWnJVamRCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU14VWtGQlFVRlJSQXBCUldOM1VsRkphRUZKVDNGMmFVeFhlVUphTkdaMlNFVlJPV1ZWTDB0bmQzYzRibFo1YVdsQlZqQlhRa2RwU21sMUwzUldRV2xDVFhOaU1ESldXV0pvQ2s5NGEwSkNSRk4wWkc1R1drb3ZUakZOUjNWUkswWlZjRXBIVldSVU5YRk9lRlJCUzBKblozRm9hMnBQVUZGUlJFRjNUbTVCUkVKclFXcENjM000U0VFS1FraElTVXRSUkZBdlJpczVkVkE1UlRsdWJVWlhaVEJyVlZoUWNtcFpWblpGS3pGaVZXVTFkSGxIVWpWaVRVMWhXSGhRTUZFME1XdG1hRFJEVFVabkx3cGpTVGhMU25jcmExQm9NamRFUWxFNWMxbHFVMnRqT0dZMVlscFZTbGxDWW1GblN6VTFUR2xUYUZsRFkzY3pTRTVvY0RkWlYxUlpTRm8wTUc1U1FUMDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg23pLsv2SNwLyENKWzryBIjNBKrqJeSctyHAlEpgVbLwCFDUVnCbcEIhJh/dnfHJ9ChZVJVfLGA8yMDI2MDgyNTEyMTk1MVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIxOTUxWjAvBgkqhkiG9w0BCQQxIgQgmLR1EEB06NIbo3z3jpCmMyZydKN9RFu4DeOK364OWEowgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAK7TQPzO1tjmX1JB3NlYp3ZH9BRMpzcUPRXoKowYZ0S0mPp7xzdWGNBEBvwIzU90OwIxAMp/r5GUVsO5bsSmCcXlS5S9L23GaVlCwacwMEzpew+e1DCo4yG1+oijC7yhxAAQOA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"EJNitq/Woe6QXTt3Bniq9yuMwmKZ+JCcKu5Ne2VLkxM="},"signature":"MEQCIGi6GVKKmpgMjcB367Rdq9RK6Cziz0ONP1qGfHQNq3OhAiArwKVU6+X71QA3wecVluB0mfxQW6EfdWyMkdpGcfNe5g=="}}
|
build/torch212-cxx11-cu132-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch213-cxx11-cu126-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 13179656
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:158335ce098593106590acae2ece601bca6f9f3350e61a5c150e58fbaa62ce41
|
| 3 |
size 13179656
|
build/torch213-cxx11-cu126-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch213-cxx11-cu126-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "FYM1zgmFkxBlkKyuLs5gG8pvnzNQ5hpcFQ5Y+6pizkE=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch213-cxx11-cu126-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtGgAwIBAgIUMtkI4yZee+nFD9oE0ojbUuNQuCwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDI0WhcNMjYwODI1MDkxNDI0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfHFZ4ZngJ4WZb8DFoiqVzTJvPWmXEMxFT6WlvWvxEtsIWfNQ/1pSlyIFL05wPPCBHb4QfCb+70nk6XcvMJojy6OCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUhVu8m6xRGfzGHzm5DUCrPVl2UqAwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp4rYAAAQDAEcwRQIga8oGXYawzFWqdSAsUq4qhWiDxXQ75BxnPCGwshHQO78CIQDByTEmOWUlvZ6Lv231Ue9rkX7PF3FePMS8TvC5rVi65zAKBggqhkjOPQQDAwNoADBlAjA1vEg5nCarVDYv4iEhKS4C9W+inN/oxAdPhoZsKhqAn2+C7THLWRqGVSZLZllqVcYCMQCye0RfgEVxBE5W4eA4ipGbuICpse4zumjtUPMpCPeqWgfkTMf2QcAaVwLp/T2fVJ8="},"tlogEntries":[{"logIndex":"2582977808","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648664","inclusionPromise":{"signedEntryTimestamp":"MEQCIDDuHbFR9WtNlZNiYAAiTMKqtzzftgD4XEOkVZbTkmp7AiBSnZmi2T0AgHWuaI7zXeYUaMtCgDSn9WRqsTxk6GWMig=="},"inclusionProof":{"logIndex":"2461073546","rootHash":"FV/PYroDwSFapocMH22+zb1LMzrzGqd94dfPheHgPkw=","treeSize":"2461073555","hashes":["7uTLtxRqmmv/8p+v2nnqUM1P42HPrKqaeUl9Wf+2HwE=","8GnqzV8pQl4J9bEUALd8Yp4PRuEnEvkNZcBMaP3Ittc=","gsvwDz2GmRmpXyJPjzpTxkY/K7TV3cNUM0Yemt+N4gs=","E3k6zUKpuWnYY9MRLAT8JUTWcqnh+0gDCDk/frmgjgc=","jzKq0V+XBYBPgZRy3daP/UF1vMDwW7pLdkIs5OpgDoU=","f96QBJwcFN9L0WkH/laITJQPIRru+66zvTEJhSnxV+o=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073555\nFV/PYroDwSFapocMH22+zb1LMzrzGqd94dfPheHgPkw=\n\n— rekor.sigstore.dev wNI9ajBFAiEApeDvQToepg7vll88mcPF7CwRId+qWhPCfA+23kzBlxcCIE3lf8DQbI+tu4nB0ah/XdAB9By6f++NU0jJAG0HGdHj\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI2N2QyYTIxNTdiYWRhODI4ZTljZDY2ZGMyOTk4ZDgxMWI5MTk4ZmNhNmQwZWNkMTc0NzA3YTcyMjc0MDY1ZmQxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURSY2VadnJRQ0xSUG5kclI3YmVOVUJHQkVlbTBNbWVkWEJFRW04VDR4ZC9BSWhBS3huTGtlbnpOOEdtai9tQ3ZwY3RZWlVtSUtkVkFJSWVndDFYTFNyTGE1SyIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SSFowRjNTVUpCWjBsVlRYUnJTVFI1V21WbEsyNUdSRGx2UlRCdmFtSlZkVTVSZFVOM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKTUZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVrd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZtU0VaYU5GcHVaMG8wVjFwaU9FUkdiMmx4Vm5wVVNuWlFWMjFZUlUxNFJsUTJWMndLZGxkMmVFVjBjMGxYWms1Ukx6RndVMng1U1VaTU1EVjNVRkJEUWtoaU5GRm1RMklyTnpCdWF6WllZM1pOU205cWVUWlBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZvVm5VNENtMDJlRkpIWm5wSFNIcHROVVJWUTNKUVZtd3lWWEZCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0EwY2xsQlFVRlJSQXBCUldOM1VsRkpaMkU0YjBkWVdXRjNla1pYY1dSVFFYTlZjVFJ4YUZkcFJIaFlVVGMxUW5odVVFTkhkM05vU0ZGUE56aERTVkZFUW5sVVJXMVBWMVZzQ25aYU5reDJNak14VldVNWNtdFlOMUJHTTBabFVFMVRPRlIyUXpWeVZtazJOWHBCUzBKblozRm9hMnBQVUZGUlJFRjNUbTlCUkVKc1FXcEJNWFpGWnpVS2JrTmhjbFpFV1hZMGFVVm9TMU0wUXpsWEsybHVUaTl2ZUVGa1VHaHZXbk5MYUhGQmJqSXJRemRVU0V4WFVuRkhWbE5hVEZwc2JIRldZMWxEVFZGRGVRcGxNRkptWjBWV2VFSkZOVmMwWlVFMGFYQkhZblZKUTNCelpUUjZkVzFxZEZWUVRYQkRVR1Z4VjJkbWExUk5aakpSWTBGaFZuZE1jQzlVTW1aV1NqZzlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgoqoIbuGkU55c4aqze3E2FEt7DHBUUMRh7oVbs1KmPa4CFQCelqIn3zbQRqX3MJNRULzg4Gq8ihgPMjAyNjA4MjUwOTA0MjRaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA5MDQyNFowLwYJKoZIhvcNAQkEMSIEIFbTmlbIsRSQoVdokEAao4eEHVRqVjIIYl9V7f1G7tl2MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMDESmSqRWvk1Tn76GyXxhn0XOgtW4V1AVFp83jWFk45z7h5YqLmZxtYH0WSGpHiOHwIxAKVBsT1scJ7OQCp43sbAECMmKzojVB7fVxhyTPjXN0svKlAL5MTnRKvEDsqQeagINw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"Z9KiFXutqCjpzWbcKZjYEbkZj8ptDs0XRwenInQGX9E="},"signature":"MEYCIQDRceZvrQCLRPndrR7beNUBGBEem0MmedXBEEm8T4xd/AIhAKxnLkenzN8Gmj/mCvpctYZUmIKdVAIIegt1XLSrLa5K"}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtCgAwIBAgIUfZ90HuZNi85NghDJd0m2PlvMtu0wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTUyWhcNMjYwODI1MTIyOTUyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEu42GY+SpIP0pI3Yt088XSewhRIRhkMQPeWk7OTFwMXWG7g2yvixZC6GnnZV613K5nw35BTSyqD99E86uonXN5qOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU3US2ZNisJgS78EtssmJKeUDKFb8wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjc2BQAAAQDAEYwRAIgTXLYfj3SuFm1R5EocGmsXeLCta8nv9wZ+kxFBpS8qAQCIAwFgHfYaCqPZoA1hHH3v0+nNSDZcy/xx9BNZnK520ehMAoGCCqGSM49BAMDA2gAMGUCMBhJtZuUwGxCNmcZhKZ5zVXnFQ/RI7O8ibMOmgJhWmXuHUEg5Ple5Y1r2BnKeknDzgIxAJ4gFSan3jS6qAbM3JAHTTjdmomSoLTBAZ92t5c7p85ARPg7237gKtY5jzBbmWPvzQ=="},"tlogEntries":[{"logIndex":"2583301082","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660392","inclusionPromise":{"signedEntryTimestamp":"MEUCIDsTmracy+YQrPHuOeGkisnPIOXoXhB0ayCBDj+YdJeMAiEAlFa8X7oXcW77B18bCkIWAgE67frIFuUAb6lYQhPmuGQ="},"inclusionProof":{"logIndex":"2461396820","rootHash":"eLNN5MK9k0uvh5m8bWNT0BPQyEkDGXQ/uVeByI97jWs=","treeSize":"2461396824","hashes":["62XGPnXIV7xFzYY7MZF1dtGjBN7xZvqyJR3kOz3IX3M=","QXoPZa0gi+tpxv9r2LMEvHMC7B3wj/bBhQKjgBFp8tQ=","nmNGjIq2+8uLpYDEwshJP8HhsBjCcNBxUKdLf84PDiE=","1KE1pQErum9qeIcrshsYXuDXHVntCDXZ2GVZ6MPH42U=","FGoQjvguQqmlhEbn1uhWpAr5TNW2H4r+sHzTjsLX/Ec=","M1KvBxaBWRZCfg7zEqvTKXXoAv5EZdP6wtNwhsr1HU0=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396824\neLNN5MK9k0uvh5m8bWNT0BPQyEkDGXQ/uVeByI97jWs=\n\n— rekor.sigstore.dev wNI9ajBEAiAIQQOciTwjgOC3UBOGMyHri1jWO/003KTZ7KUjUQ9U7AIgBeYLQ1rHwwchlRSiZ1oSkK9qtDDY4Z4SjXOQ0BZSqHE=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIwYTA0MDY4YzUxZWI5ZjAxNzMwYTYwYmZlOTgxNWU0ZjhkZTU5MmI5ZWY2NTAwZDc1YzFhYzY2OTU1MmM1Y2NhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQVdwZEdwRVFYMHBkd0RVcVorYlk5N2NjV2JiTSsvcHIvN1RlZ2pvWFp6T0FpQWhndkFScE5TK0g3Y0pLMlE2alQ1RDVENEthUWJGT0tiV3ZzNWhMYSt3cHc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SRFowRjNTVUpCWjBsVlpsbzVNRWgxV2s1cE9EVk9aMmhFU21Rd2JUSlFiSFpOZEhVd2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJWZVZkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZWNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVYxTkRKSFdTdFRjRWxRTUhCSk0xbDBNRGc0V0ZObGQyaFNTVkpvYTAxUlVHVlhhemNLVDFSR2QwMVlWMGMzWnpKNWRtbDRXa00yUjI1dVdsWTJNVE5MTlc1M016VkNWRk41Y1VRNU9VVTROblZ2YmxoT05YRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlV6VlZNeUNscE9hWE5LWjFNM09FVjBjM050U2t0bFZVUkxSbUk0ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU15UWxGQlFVRlJSQXBCUlZsM1VrRkpaMVJZVEZsbWFqTlRkVVp0TVZJMVJXOWpSMjF6V0dWTVEzUmhPRzUyT1hkYUsydDRSa0p3VXpoeFFWRkRTVUYzUm1kSVpsbGhRM0ZRQ2xwdlFURm9TRWd6ZGpBcmJrNVRSRnBqZVM5NGVEbENUbHB1U3pVeU1HVm9UVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlaMEZOUjFWRFRVSm9TblJhZFZVS2QwZDRRMDV0WTFwb1MxbzFlbFpZYmtaUkwxSkpOMDg0YVdKTlQyMW5TbWhYYlZoMVNGVkZaelZRYkdVMVdURnlNa0p1UzJWcmJrUjZaMGw0UVVvMFp3cEdVMkZ1TTJwVE5uRkJZazB6U2tGSVZGUnFaRzF2YlZOdlRGUkNRVm81TW5RMVl6ZHdPRFZCVWxCbk56SXpOMmRMZEZrMWFucENZbTFYVUhaNlVUMDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgvmSoXp6uCuAcF6+xllGtZvDKxQOtTJjPn/FXJP9r6usCFGKl/F2FhsqvaenrPm4aEHDOQ3/XGA8yMDI2MDgyNTEyMTk1MlowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIxOTUyWjAvBgkqhkiG9w0BCQQxIgQgwzaMqt/6oPQifDAgi2+Ui363SHIWUSBL55L8M/CEDgUwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwLKZH/61mj+IKaBtVyFB5VmCyNe4fbq1/x7PUWqEuamHcd4rT7A/UvSH1iYsHO4I3AjBSI0nPreejpYFllFxYhyb2IqVPryGd3bT7Q+Tgo9TxoV6jQsxh7ZhsyEOirYwZoFo="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"CgQGjFHrnwFzCmC/6YFeT43lkrnvZQDXXBrGaVUsXMo="},"signature":"MEQCIAWpdGpEQX0pdwDUqZ+bY97ccWbbM+/pr/7TegjoXZzOAiAhgvARpNS+H7cJK2Q6jT5D5D4KaQbFOKbWvs5hLa+wpw=="}}
|
build/torch213-cxx11-cu126-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch213-cxx11-cu130-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 10063112
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f5ee20f6f56544a76b0430e8b6804d7df870f97e09e55809f91529fb0f9c69a
|
| 3 |
size 10063112
|
build/torch213-cxx11-cu130-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch213-cxx11-cu130-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "P17iD29WVEp2sEMOi2gE19+HD5fgnlWAn5FSn7D5xpo=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch213-cxx11-cu130-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtCgAwIBAgIUIKO6h20i1PXPykkLpVpyvRfEPZcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDI1WhcNMjYwODI1MDkxNDI1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiAciQNk5eZ6mWjnlKnoNqxMuSjkyPRU/K2U2TcQg474PbXRcYbYGA/n9QYZ8qTXzaLWIQ0CxXJqzWJ4d6KW34aOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUeK/6rnceYHr3bmDZtarOnKatjYQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp5eoAAAQDAEYwRAIgJS9KMG9korBDqqjZcYk55px3FLLJKYvpXquZV1xcU/8CICDzDXj5LcPXc6v5GlvfT9AdQSZrGWigl4S20FyjhdzpMAoGCCqGSM49BAMDA2kAMGYCMQC8o3Gn/exxEubd+IzJM9WUU1PEbLQpsLIAUEk9lUBCvDuNlOZ7eIsVOHLyrxd8r3MCMQCBhFV/hzCy3H7KTcVSwh4YYI/O0Wmvh3dEpNnAsjj5DJEfqUS9kea84zhc2cG+3EU="},"tlogEntries":[{"logIndex":"2582977835","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648665","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCRjAU3U3nx986OkIc9dkcSbeBcGcmISDsdy/HiXQakMAIgH3+rNTBOaI37+gM795t+OrA9sZBprUEMNkJcB1bULE0="},"inclusionProof":{"logIndex":"2461073573","rootHash":"2wsvIqlPt3Cp8FhjIvnpUzt3pVCVdZ2pqaDG5/jiFL0=","treeSize":"2461073576","hashes":["9Xndp68fipwG+DheZE04KI8Wy1V7Z1UGkcB21T2tBuA=","h8JVo5NT5nwvB0We1pVpg3f5NEwMNwuB9cKa/PGzNmo=","DuC6E6Qfn3z98CE4ykqbz/pBxySWwEQCbXJWklrzxlQ=","la/NkjAdjkF6bNeSlJB+awx+HHp1GMhg1utiqCNjlDk=","f96QBJwcFN9L0WkH/laITJQPIRru+66zvTEJhSnxV+o=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073576\n2wsvIqlPt3Cp8FhjIvnpUzt3pVCVdZ2pqaDG5/jiFL0=\n\n— rekor.sigstore.dev wNI9ajBFAiEAt7pyxmssjw1oPwPRKrfLhftKDkP9TbpOPs9tMy61NUMCIDJ8aGT7nV5gWUNnPMw94kLQ+sXoxI3r9i0Q2ciKPKUV\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1ZjU4NGIxMGQ0YzRhOTM3ODAxYjVkNTRiZTcwMjE5YjdhOTRhODRkNTJlYTgzOWNhYTg0MzUzYWM4ZmVhZTY1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQ3ZHS3NRNGlvbzFla3J4QkpiQWd4aGNTNlRzUlA5MjdINkpwZUNvek9pckFpQVd0cVlveVJ0SUlIbi9uS2N6VzA1cWVkWHNCbXJsMzZBb0p1U0xsS2tFWFE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SRFowRjNTVUpCWjBsVlNVdFBObWd5TUdreFVGaFFlV3RyVEhCV2NIbDJVbVpGVUZwamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKTVZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVreFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZwUVdOcFVVNXJOV1ZhTm0xWGFtNXNTMjV2VG5GNFRYVlRhbXQ1VUZKVkwwc3lWVElLVkdOUlp6UTNORkJpV0ZKaldXSlpSMEV2YmpsUldWbzRjVlJZZW1GTVYwbFJNRU40V0VweGVsZEtOR1EyUzFjek5HRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZsU3k4MkNuSnVZMlZaU0hJelltMUVXblJoY2s5dVMyRjBhbGxSZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0ExWlc5QlFVRlJSQXBCUlZsM1VrRkpaMHBUT1V0TlJ6bHJiM0pDUkhGeGFscGpXV3MxTlhCNE0wWk1URXBMV1had1dIRjFXbFl4ZUdOVkx6aERTVU5FZWtSWWFqVk1ZMUJZQ21NMmRqVkhiSFptVkRsQlpGRlRXbkpIVjJsbmJEUlRNakJHZVdwb1pIcHdUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlhMEZOUjFsRFRWRkRPRzh6UjI0S0wyVjRlRVYxWW1RclNYcEtUVGxYVlZVeFVFVmlURkZ3YzB4SlFWVkZhemxzVlVKRGRrUjFUbXhQV2pkbFNYTldUMGhNZVhKNFpEaHlNMDFEVFZGRFFncG9SbFl2YUhwRGVUTklOMHRVWTFaVGQyZzBXVmxKTDA4d1YyMTJhRE5rUlhCT2JrRnphbW8xUkVwRlpuRlZVemxyWldFNE5IcG9ZekpqUnlzelJWVTlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgpck3w2G9YkyjTChvuRSp1D9tfnkUD/lkHDaz4O/n/80CFQDM0GOQodn4S36rugfmcisRsDrl+xgPMjAyNjA4MjUwOTA0MjVaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA5MDQyNVowLwYJKoZIhvcNAQkEMSIEIO4f0q+mTAbfti8zMHmImeX21+6xGkbahPTBlUT3Oy8NMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQDytlfLe6Brw1zKxZo/JMJs9e9uKsTlv3nYtz0Daq5H5FF5Zb9Er4nF7PHURoOdRpECMQDiLNwvXvP8KmInRCFO3kUxVbzKY6jwYdgdZlgHtWl2WYAdFHkSZt6+asEzfm/vrjo="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"X1hLENTEqTeAG11UvnAhm3qUqE1S6oOcqoQ1Osj+rmU="},"signature":"MEQCICvGKsQ4ioo1ekrxBJbAgxhcS6TsRP927H6JpeCozOirAiAWtqYoyRtIIHn/nKczW05qedXsBmrl36AoJuSLlKkEXQ=="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtCgAwIBAgIUa+WJMbaQC1grw12koPJUz9fw3hYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTQ2WhcNMjYwODI1MTIyOTQ2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5uKT3qT1XKlx7Ax0tTbyotTt1oWz3bBiTm+DGEkr34GTR227sxSshxtQ0cKzznaGtd3PxHH5M6qmRorwyR9zJaOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUUyAarDTYmOtydjdDEUhRcziuNOEwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjcv78AAAQDAEYwRAIgKlzyxe6AWov5mUW39DqvC6PqIygH2PTVfWtDDEiZShACIAjVC8GXApHFXp8ltEYDsC34IaK1bMBNl2iIhhEZ+6CUMAoGCCqGSM49BAMDA2kAMGYCMQCncp177k1vh3mDsz4DD7fQqtwTpmCRR0EqLrG8YGQnxNrbxtmgP3XKe/zvGhmETkwCMQDq72NfH5gTj5OiZDei80f8tAdwQhhfT6waK+55gMZq32mpUXoJ7M5Jh6BEgld0Q2A="},"tlogEntries":[{"logIndex":"2583300970","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660386","inclusionPromise":{"signedEntryTimestamp":"MEUCIQDAqX15QuahW4ktX+B9pdtCNdXcDxIczhGzUb0L7T0kNgIgE2QOTIieSfs2CzJPiL3bidigMQz0mJKbFMJyAqry9W4="},"inclusionProof":{"logIndex":"2461396708","rootHash":"+/BtGEjaCfOBE3GyItfh2Lva+OpfCMdb5nho4znBQSQ=","treeSize":"2461396712","hashes":["rPq/yA7FeNfQ3tMZyTpSkm9gwhRjTQhF1u/MIi2QgQM=","myJqHqlcVUBm3tQLhERPc/5mnR58YRrfBX5BzOcjhaE=","fggg/bWHkFYa60X0ZTfttapZkWq6l1dyFCmAObC2eTM=","jctsymf2PHXE6SdE6lQqEqLa8/9vIkw0qveGvYs8YBU=","BXKuzzO7ElNGXj0uheQyAFy9pIic2FshQ8heU2FrQwI=","M4YcEg7u+RzHhtqrJi5G60zEdbFHo9OVEDterfXbo4k=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396712\n+/BtGEjaCfOBE3GyItfh2Lva+OpfCMdb5nho4znBQSQ=\n\n— rekor.sigstore.dev wNI9ajBGAiEAuLkkijT5J+/ImxIYxLvWPtbfHcKl2fIjUllTbyIzfgMCIQCkxXNnKp3fuWQNaXLcMoRx1IyYSp6whS6O+0BV9aWpWg==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4MDUwOGUzZjM5ZjEwMDQ1NGMxNGU4MDI5YmU0ZTA2OTM3NGRhYWM2MzA2N2MyZTkwMmI2YWM2MDVjMzQ3OGFhIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNsVXJIekR1R2dpWWZhZ3VPQ1J3dnRyN2FEajRoaDh5aStjNVhGZHlXS0l3SWdVTU9Gb3JJRmpETzUzKzVYRHdyR214YklYUFBsOVRIcTI2eDlUUm96b0NNPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SRFowRjNTVUpCWjBsVllTdFhTazFpWVZGRE1XZHlkekV5YTI5UVNsVjZPV1ozTTJoWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJSTWxkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZFeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUxZFV0VU0zRlVNVmhMYkhnM1FYZ3dkRlJpZVc5MFZIUXhiMWQ2TTJKQ2FWUnRLMFFLUjBWcmNqTTBSMVJTTWpJM2MzaFRjMmg0ZEZFd1kwdDZlbTVoUjNSa00xQjRTRWcxVFRaeGJWSnZjbmQ1VWpsNlNtRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZWZVVGaENuSkVWRmx0VDNSNVpHcGtSRVZWYUZKamVtbDFUazlGZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU4yTnpoQlFVRlJSQXBCUlZsM1VrRkpaMHRzZW5sNFpUWkJWMjkyTlcxVlZ6TTVSSEYyUXpaUWNVbDVaMGd5VUZSV1psZDBSRVJGYVZwVGFFRkRTVUZxVmtNNFIxaEJjRWhHQ2xod09HeDBSVmxFYzBNek5FbGhTekZpVFVKT2JESnBTV2hvUlZvck5rTlZUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlhMEZOUjFsRFRWRkRibU53TVRjS04yc3hkbWd6YlVSemVqUkVSRGRtVVhGMGQxUndiVU5TVWpCRmNVeHlSemhaUjFGdWVFNXlZbmgwYldkUU0xaExaUzk2ZGtkb2JVVlVhM2REVFZGRWNRbzNNazVtU0RWblZHbzFUMmxhUkdWcE9EQm1PSFJCWkhkUmFHaG1WRFozWVVzck5UVm5UVnB4TXpKdGNGVlliMG8zVFRWS2FEWkNSV2RzWkRCUk1rRTlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgqPejiK1ZbyXw+q7IqxjjAak/qGm6VF9NBzFPJCDomVkCFQCQI9QhFSZZ0In1mR+9sJvhrSrSwhgPMjAyNjA4MjUxMjE5NDZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMTk0NlowLwYJKoZIhvcNAQkEMSIEINw8sRB6JyhxDYV2KzcKOqkuc8pvkOSfroRmUeJcX+SGMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQCf7RAfBiR3Utsnu4eKiIBBuQPPD+FDfFPDze92VvMbih/B9DtQTTKxOoEQb4aeptkCMFowKt2axet72pb7NaHXc0V357Ij6BJEgN8++VF4hG7HWQVY2gMdGsIcVvh/pVqCXg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"gFCOPznxAEVMFOgCm+TgaTdNqsYwZ8LpArasYFw0eKo="},"signature":"MEUCIQClUrHzDuGgiYfaguOCRwvtr7aDj4hh8yi+c5XFdyWKIwIgUMOForIFjDO53+5XDwrGmxbIXPPl9THq26x9TRozoCM="}}
|
build/torch213-cxx11-cu130-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|
build/torch213-cxx11-cu132-aarch64-linux/{_megablocks_cuda_18e92fb.abi3.so → _megablocks_cuda_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 10393200
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b771635991a5759a16294af9a8e125105fee84ff1f77cd412051adffbb24b343
|
| 3 |
size 10393200
|
build/torch213-cxx11-cu132-aarch64-linux/_ops.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
import torch
|
| 2 |
-
from . import
|
| 3 |
-
ops = torch.ops.
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
-
return f"
|
|
|
|
| 1 |
import torch
|
| 2 |
+
from . import _megablocks_cuda_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_cuda_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_cuda_c4d0dc5::{op_name}"
|
build/torch213-cxx11-cu132-aarch64-linux/metadata.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
-
"id": "
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
@@ -48,8 +48,8 @@
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
-
"
|
| 52 |
-
"_ops.py": "
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
-
"xpu_fused_moe.py": "
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
@@ -110,7 +110,7 @@
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
-
"sha": "
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_cuda_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 48 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 49 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 50 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 51 |
+
"_megablocks_cuda_c4d0dc5.abi3.so": "t3FjWZGldZoWKUr5qOElEF/uhP8fd81BIFGt/7sks0M=",
|
| 52 |
+
"_ops.py": "9NSxkX5lSS5VhF9+hDazP5NimwZK2V/+nIXR0AQxnHA=",
|
| 53 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 54 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 55 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 100 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 101 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 102 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 103 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 104 |
}
|
| 105 |
},
|
| 106 |
"provenance": {
|
|
|
|
| 110 |
"dirty": false
|
| 111 |
},
|
| 112 |
"kernel": {
|
| 113 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 114 |
"dirty": false
|
| 115 |
}
|
| 116 |
}
|
build/torch213-cxx11-cu132-aarch64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtCgAwIBAgIUIKN96qO6niw8wTgQQyEhIigsi/wwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDkwNDI1WhcNMjYwODI1MDkxNDI1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEi+5T9ae/x3kJGsNATqK7PnrZYwZp3oRfRuiz0kLs/bS+m9OiT2kIE4ulNCpRejTb7XGwPOsR6+H1my4nq+aMbaOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUugj1xlZyAA8vY3ObSi5R27RzHuAwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgp6QcAAAQDAEYwRAIgYCtaiqUXEbqLlZ0Zdzeq2qrgDedZgqmBB815uqHMzcMCIA7GZGgg8WTS7czs8QdInEK0kY8OMYrvOlgsP85nCdTLMAoGCCqGSM49BAMDA2gAMGUCMACwzULkbzQgwhISHWQwIu1+V7YYpmJZBYXOcjf0fUcB43Na3OQP3SNniuPLW4yAowIxALBHha/brnttgvceCZT+cR7xg8XiWNyA39E1I5cLDs9IRCsBTQsdQ43Kls8pO1vz9g=="},"tlogEntries":[{"logIndex":"2582977859","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787648666","inclusionPromise":{"signedEntryTimestamp":"MEQCIEG1VLJ1vP2qQfMsRPnZ9XzadQGLN5MQbSFe9TPhX/WwAiBYm7IbZFLMDVcVDvcmazyj6ZCFk5GeFXs1DQl+2rfsEw=="},"inclusionProof":{"logIndex":"2461073597","rootHash":"LNPoCc/pShINEqNrdb1g7EZ0x2C7pfu4qUZhyWNH7WA=","treeSize":"2461073602","hashes":["gAGmTCfpbuyfmZ9kZXp8dSavdBNUNAd6JNCkUaoTANk=","afKBR25GgH9Kt2K3fT90qHhTahV1n17bqgQbanSsj2w=","j9TsVZHvmJIw7PhaMxWhO9PFssI7YJQCub1QVZ5BSxE=","hMcunMan/QEb4k6PtHCDeLWDw7KcD7mb2w/g6jIw7r8=","2aIgbBj6PDPfNCiDK/xGx1S6kXWAFE0oFfxcHOzOfZc=","la/NkjAdjkF6bNeSlJB+awx+HHp1GMhg1utiqCNjlDk=","pFPl7r5TL+BvyorK0Jb8/8dZum0E0a1WtS/SeoEAeyg=","f96QBJwcFN9L0WkH/laITJQPIRru+66zvTEJhSnxV+o=","/pzrkLFRwt/XMVRmL7s6Ii88QiOLu5drCOp/UggZ7TU=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461073602\nLNPoCc/pShINEqNrdb1g7EZ0x2C7pfu4qUZhyWNH7WA=\n\n— rekor.sigstore.dev wNI9ajBFAiBRghzrOqW48OjI73fP4M89K4ykJlBrE17fm46Tku+4ugIhAJ/oTF7JmsbDsY60Nc6ExI57/mEdwB0ck4iHpD4HSP1v\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjZDkzZjNkZjYwMmUxZDllYTcwZjE0MjFiNWYwM2EzYTAxMTEyMDdiYmVhNDkwN2U0YTU2N2QwMzBlNmE5MzVjIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURocVVWdzRFdk9qZFZnRXF3MUZ6d21QVm4yWTBobjNBL0hnaWtPRGdhWit3SWdPYmw2dFNMZWY3VzFrM3ZQbjE3bHQzWVZDN25LbXZXR1dmQjFQSnBTMEJJPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SRFowRjNTVUpCWjBsVlNVdE9PVFp4VHpadWFYYzRkMVJuVVZGNVJXaEphV2R6YVM5M2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHdDNUa1JKTVZkb1kwNU5hbGwzVDBSSk1VMUVhM2hPUkVreFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZwS3pWVU9XRmxMM2d6YTBwSGMwNUJWSEZMTjFCdWNscFpkMXB3TTI5U1psSjFhWG9LTUd0TWN5OWlVeXR0T1U5cFZESnJTVVUwZFd4T1EzQlNaV3BVWWpkWVIzZFFUM05TTml0SU1XMTVORzV4SzJGTlltRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlYxWjJveENuaHNXbmxCUVRoMldUTlBZbE5wTlZJeU4xSjZTSFZCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaM0EyVVdOQlFVRlJSQXBCUlZsM1VrRkpaMWxEZEdGcGNWVllSV0p4VEd4YU1GcGtlbVZ4TW5GeVowUmxaRnBuY1cxQ1FqZ3hOWFZ4U0UxNlkwMURTVUUzUjFwSFoyYzRWMVJUQ2pkamVuTTRVV1JKYmtWTE1HdFpPRTlOV1hKMlQyeG5jMUE0Tlc1RFpGUk1UVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlaMEZOUjFWRFRVRkRkM3BWVEdzS1lucFJaM2RvU1ZOSVYxRjNTWFV4SzFZM1dWbHdiVXBhUWxsWVQyTnFaakJtVldOQ05ETk9ZVE5QVVZBelUwNXVhWFZRVEZjMGVVRnZkMGw0UVV4Q1NBcG9ZUzlpY201MGRHZDJZMlZEV2xRclkxSTNlR2M0V0dsWFRubEJNemxGTVVrMVkweEVjemxKVWtOelFsUlJjMlJSTkROTGJITTRjRTh4ZG5vNVp6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgpwqjMDw3nwkf4G20GMykmbJ4wq5UgUde5B5zqEZV51kCFQDhLfomwgeAw+bYpREBOgnsxVQPOhgPMjAyNjA4MjUwOTA0MjVaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA5MDQyNVowLwYJKoZIhvcNAQkEMSIEILAMreDO3rbxFqB5lF++PfdM/6NJkB16nsZYwKk5hcviMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMGZ0WjV4207azZ6HrucNRKGqhYogUcT2bkxpJEhLeTMuM0XWdu16EVSGbGhZy7W2xwIxAPvtHYw+Vyy7PN6gN6GdC3unXJyy21GM/2s0Z6i1wXpYv9Z0F6B0y0N6ME/NtxDlrw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"zZPz32AuHZ6nDxQhtfA6OgERIHu+pJB+SlZ9Aw5qk1w="},"signature":"MEUCIQDhqUVw4EvOjdVgEqw1FzwmPVn2Y0hn3A/HgikODgaZ+wIgObl6tSLef7W1k3vPn17lt3YVC7nKmvWGWfB1PJpS0BI="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtCgAwIBAgIUMwrtx0tqraZMygQCikDK1Chn52MwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIxOTQ3WhcNMjYwODI1MTIyOTQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5oaf/lzNoHXTylb1DDDGFGjtEZTHCuqiisBbCkmXoaovbcXr10ytIBIo5+uBbOo1xIbem/KGWAeV+tshNR+OJqOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUDHky/Kd+SqfhN5eMCDP+baZ2tCowHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjcwzsAAAQDAEYwRAIgeJq0LebERg2HeKxbrY0u3o8r7hsAqhyoYr0BoyFjfg8CIGPQYeRd1kAz+ypbHsjYAOnKKVAx4ZW1iOLqQrRtzz2eMAoGCCqGSM49BAMDA2gAMGUCMQCCwAU2dbop28oQvvIBZtBIJivsJRtKL3R1kAO4hEq1+gzkMC175TYqE/8Zh0aZpnECMBnE0zkkgykAnJGyzJN8eNFFlM7V/g+jVYSObVsPjvtCwaXBTL/IUWLqEITwK9IJwg=="},"tlogEntries":[{"logIndex":"2583300987","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1787660387","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCQbcIKZ3vvLmI+RMMofM5jZyol4RtZsSYI9lLolNqL2AIgM40CH7c5xrYx4I8soFQeKCG+omUpM3A0jYHdNBG8/z0="},"inclusionProof":{"logIndex":"2461396725","rootHash":"Px7Yx7+T4zZwBjPwUsi+oYONjEHU4EFM6uRdZlDLHKQ=","treeSize":"2461396727","hashes":["P1522aPS+RLZLdPUYwp9hqnQWdW3fHi7YfHRvcgfzfI=","RBOv5M1/IFMYI2OkmQCKgsOiFU/eM/P8KpgAy0kkQ1U=","PnTjVMVFSfBf8Th+IftUutqdgefsWFdLP4tSxkXkU44=","UBTTofHsrD/tXJCgUFartEaSLHtmA9hqwVUCnxmKfOw=","jctsymf2PHXE6SdE6lQqEqLa8/9vIkw0qveGvYs8YBU=","BXKuzzO7ElNGXj0uheQyAFy9pIic2FshQ8heU2FrQwI=","M4YcEg7u+RzHhtqrJi5G60zEdbFHo9OVEDterfXbo4k=","rJMFK17JIR2K3LvDkBdSnu34bvtB3vXQPdwQg0pZ8co=","sBRt94T302PGfFAkqNx12yVeZQ2wK8MXBkspHV8OBEU=","bBUTypOI8GgjhxRM30SIZoDfZopPulgZgxKAp1agI1Q=","EY8T0lxQDrmYoWBGpKNGttaHfKmpfqKcWqSNF4XOQKE=","T4Jz+m9vO48rOpMSsdZSW28/bgHR8prz7JeNX1s7WiQ=","EXKrSbeG2qm5APD5QSDN66X7UHz9OSofiW9PyNU7fPM=","cjIeeutzThxIPTlFFHJqa7bAzn3k2FzK8Nrdd56OWvE=","+pNXWGIXzU1dqSy/aePHKYtSkDnFinI+/bL5HnurJ6w=","G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461396727\nPx7Yx7+T4zZwBjPwUsi+oYONjEHU4EFM6uRdZlDLHKQ=\n\n— rekor.sigstore.dev wNI9ajBEAiAiUvqizYRNJc7ll/k7p4TYKpJUHemJz+gJT6ma38F/2AIgAwCT2tpfEZabmXAfEPeOI2t9Y1/F4gnqWxJQVays5w8=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3NjY0ZmNhYjQ5ZTBlNDkwNTgxNWE0ZmU5NmJmZTZjYTE1MGRkNTllYTk2YTdmYzhmYWU4OGYxODJjNjBkNmUxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRnQ0T3lRR3dBN1Q1aVFrMjZhcW9hMzM5cGVCSnVJbFpYZWJiZ3cyRDlhWEFpRUFpR3VEaUQ1Y0J3NTNZUkEwb0pXdFFrOC9CSkpBcENBWERUWisxUTErbmtNPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SRFowRjNTVUpCWjBsVlRYZHlkSGd3ZEhGeVlWcE5lV2RSUTJsclJFc3hRMmh1TlRKTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDRUMVJSTTFkb1kwNU5hbGwzVDBSSk1VMVVTWGxQVkZFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUxYjJGbUwyeDZUbTlJV0ZSNWJHSXhSRVJFUjBaSGFuUkZXbFJJUTNWeGFXbHpRbUlLUTJ0dFdHOWhiM1ppWTFoeU1UQjVkRWxDU1c4MUszVkNZazl2TVhoSlltVnRMMHRIVjBGbFZpdDBjMmhPVWl0UFNuRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZFU0d0NUNpOUxaQ3RUY1dab1RqVmxUVU5FVUN0aVlWb3lkRU52ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbU4zZW5OQlFVRlJSQXBCUlZsM1VrRkpaMlZLY1RCTVpXSkZVbWN5U0dWTGVHSnlXVEIxTTI4NGNqZG9jMEZ4YUhsdldYSXdRbTk1Um1wbVp6aERTVWRRVVZsbFVtUXhhMEY2Q2l0NWNHSkljMnBaUVU5dVMwdFdRWGcwV2xjeGFVOU1jVkZ5VW5SNmVqSmxUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlaMEZOUjFWRFRWRkRRM2RCVlRJS1pHSnZjREk0YjFGMmRrbENXblJDU1VwcGRuTktVblJMVEROU01XdEJUelJvUlhFeEsyZDZhMDFETVRjMVZGbHhSUzg0V21nd1lWcHdia1ZEVFVKdVJRb3dlbXRyWjNsclFXNUtSM2w2U2s0NFpVNUdSbXhOTjFZdlp5dHFWbGxUVDJKV2MxQnFkblJEZDJGWVFsUk1MMGxWVjB4eFJVbFVkMHM1U1VwM1p6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgH5gRaDxpIITuM7jMGDW7PFJMwLanUdlcoFP7eXIuB3wCFQCw56lcJ9vTLX5/Gvsomzbe5aFTYBgPMjAyNjA4MjUxMjE5NDdaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMTk0N1owLwYJKoZIhvcNAQkEMSIEIKuGQ7u/FkcBvgOPNDGclSD4jVPnIVOaIrdJehxL74koMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMAhtYPLc/rtzNreRWzDQC679OGgmLsj/aG9UKulVzrKlAGm8ErKZV2uzm3lhpYCKZQIxAOnEBfY2x+v9utgceIINrdbHgpPFzjmD3IkG01WWCqjVFli23SE1iTEwXYI1EbHXYA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"dmT8q0ng5JBYFaT+lr/myhUN1Z6pan/I+uiPGCxg1uE="},"signature":"MEUCIFt4OyQGwA7T5iQk26aqoa339peBJuIlZXebbgw2D9aXAiEAiGuDiD5cBw53YRA0oJWtQk8/BJJApCAXDTZ+1Q1+nkM="}}
|
build/torch213-cxx11-cu132-aarch64-linux/xpu_fused_moe.py
CHANGED
|
@@ -26,7 +26,7 @@ def _register_xpu_fake_kernels():
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
-
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
@@ -106,12 +106,13 @@ def cutlass_grouped_gemm(input_A, input_B, bias, output, expert_token_count, n,
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
-
is_B_mxfp4=False
|
|
|
|
| 110 |
|
| 111 |
|
| 112 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 113 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 114 |
-
is_B_mxfp4):
|
| 115 |
expert_first_token_offset = torch.cat([
|
| 116 |
torch.tensor([0],
|
| 117 |
dtype=num_rows_per_expert.dtype,
|
|
@@ -129,7 +130,8 @@ def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
|
| 129 |
K=k,
|
| 130 |
num_experts=num_experts,
|
| 131 |
is_B_int4=is_B_int4,
|
| 132 |
-
is_B_mxfp4=is_B_mxfp4
|
|
|
|
| 133 |
|
| 134 |
|
| 135 |
def ceilDiv(a, b):
|
|
@@ -206,7 +208,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 206 |
ep_size=1,
|
| 207 |
is_fp8=False,
|
| 208 |
is_int4=False,
|
| 209 |
-
is_mxfp4=False
|
|
|
|
| 210 |
'''
|
| 211 |
hidden_states: [num_rows, hidden_size]
|
| 212 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
@@ -228,6 +231,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 228 |
num_experts: int
|
| 229 |
is_int4: bool
|
| 230 |
is_mxfp4: bool
|
|
|
|
| 231 |
'''
|
| 232 |
|
| 233 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
@@ -266,7 +270,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 266 |
|
| 267 |
# 4bits support [E, N, K]
|
| 268 |
# other types [E, K, N]
|
| 269 |
-
if not is_int4 and not is_mxfp4:
|
| 270 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 271 |
if needs_transpose:
|
| 272 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
@@ -389,7 +393,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 389 |
########### gemm1 ##################
|
| 390 |
input_B = w13
|
| 391 |
|
| 392 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 393 |
ops.cutlass_grouped_gemm_interface(
|
| 394 |
ptr_A=gemm1_input,
|
| 395 |
ptr_B=input_B,
|
|
@@ -401,7 +405,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 401 |
K=hidden_size,
|
| 402 |
num_experts=num_experts_per_node,
|
| 403 |
is_B_int4=is_int4,
|
| 404 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 405 |
else:
|
| 406 |
ops.cutlass_grouped_gemm_interface(
|
| 407 |
ptr_A=gemm1_input,
|
|
@@ -414,7 +419,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 414 |
K=hidden_size,
|
| 415 |
num_experts=num_experts_per_node,
|
| 416 |
is_B_int4=is_int4,
|
| 417 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 418 |
|
| 419 |
# act
|
| 420 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
@@ -435,7 +441,7 @@ def xpu_fused_moe(hidden_states,
|
|
| 435 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 436 |
dtype=hidden_states.dtype,
|
| 437 |
device=hidden_states.device)
|
| 438 |
-
if not is_fp8 and not is_int4 and not is_mxfp4:
|
| 439 |
ops.cutlass_grouped_gemm_interface(
|
| 440 |
ptr_A=input_A,
|
| 441 |
ptr_B=input_B,
|
|
@@ -447,7 +453,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 447 |
K=inter_size,
|
| 448 |
num_experts=num_experts_per_node,
|
| 449 |
is_B_int4=is_int4,
|
| 450 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 451 |
else:
|
| 452 |
ops.cutlass_grouped_gemm_interface(
|
| 453 |
ptr_A=input_A,
|
|
@@ -460,7 +467,8 @@ def xpu_fused_moe(hidden_states,
|
|
| 460 |
K=inter_size,
|
| 461 |
num_experts=num_experts_per_node,
|
| 462 |
is_B_int4=is_int4,
|
| 463 |
-
is_B_mxfp4=is_mxfp4
|
|
|
|
| 464 |
|
| 465 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 466 |
permuted_row_to_unpermuted_row,
|
|
@@ -633,6 +641,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 633 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 634 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 635 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
|
|
|
| 636 |
|
| 637 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 638 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
@@ -685,6 +694,7 @@ class MegaBlocksMoeMLP(torch.nn.Module):
|
|
| 685 |
is_fp8=is_fp8,
|
| 686 |
is_int4=is_int4,
|
| 687 |
is_mxfp4=is_mxfp4,
|
|
|
|
| 688 |
)
|
| 689 |
|
| 690 |
# All-reduce across EP group to combine partial expert outputs
|
|
|
|
| 26 |
|
| 27 |
_register_if_available(
|
| 28 |
"cutlass_grouped_gemm_interface",
|
| 29 |
+
lambda ptr_A, ptr_B, ptr_scales, ptr_bias, ptr_D, expert_first_token_offset, N, K, num_experts, is_B_int4, is_B_mxfp4, is_B_mxfp8=False: ptr_D,
|
| 30 |
)
|
| 31 |
|
| 32 |
_register_if_available(
|
|
|
|
| 106 |
K=k,
|
| 107 |
num_experts=num_experts,
|
| 108 |
is_B_int4=False,
|
| 109 |
+
is_B_mxfp4=False,
|
| 110 |
+
is_B_mxfp8=False)
|
| 111 |
|
| 112 |
|
| 113 |
def cutlass_grouped_gemm_xe2(input_A, input_B, scales, bias, output,
|
| 114 |
num_rows_per_expert, n, k, num_experts, is_B_int4,
|
| 115 |
+
is_B_mxfp4, is_B_mxfp8=False):
|
| 116 |
expert_first_token_offset = torch.cat([
|
| 117 |
torch.tensor([0],
|
| 118 |
dtype=num_rows_per_expert.dtype,
|
|
|
|
| 130 |
K=k,
|
| 131 |
num_experts=num_experts,
|
| 132 |
is_B_int4=is_B_int4,
|
| 133 |
+
is_B_mxfp4=is_B_mxfp4,
|
| 134 |
+
is_B_mxfp8=is_B_mxfp8)
|
| 135 |
|
| 136 |
|
| 137 |
def ceilDiv(a, b):
|
|
|
|
| 208 |
ep_size=1,
|
| 209 |
is_fp8=False,
|
| 210 |
is_int4=False,
|
| 211 |
+
is_mxfp4=False,
|
| 212 |
+
is_mxfp8=False):
|
| 213 |
'''
|
| 214 |
hidden_states: [num_rows, hidden_size]
|
| 215 |
w13: [num_experts, 2*inter_size, hidden_size]
|
|
|
|
| 231 |
num_experts: int
|
| 232 |
is_int4: bool
|
| 233 |
is_mxfp4: bool
|
| 234 |
+
is_mxfp8: bool
|
| 235 |
'''
|
| 236 |
|
| 237 |
# Resolve DTensors to local tensors before passing to custom ops
|
|
|
|
| 270 |
|
| 271 |
# 4bits support [E, N, K]
|
| 272 |
# other types [E, K, N]
|
| 273 |
+
if not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 274 |
if not hasattr(w13, 'xpu_fused_moe'):
|
| 275 |
if needs_transpose:
|
| 276 |
w13.data = w13.transpose(-1, -2).contiguous()
|
|
|
|
| 393 |
########### gemm1 ##################
|
| 394 |
input_B = w13
|
| 395 |
|
| 396 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 397 |
ops.cutlass_grouped_gemm_interface(
|
| 398 |
ptr_A=gemm1_input,
|
| 399 |
ptr_B=input_B,
|
|
|
|
| 405 |
K=hidden_size,
|
| 406 |
num_experts=num_experts_per_node,
|
| 407 |
is_B_int4=is_int4,
|
| 408 |
+
is_B_mxfp4=is_mxfp4,
|
| 409 |
+
is_B_mxfp8=is_mxfp8)
|
| 410 |
else:
|
| 411 |
ops.cutlass_grouped_gemm_interface(
|
| 412 |
ptr_A=gemm1_input,
|
|
|
|
| 419 |
K=hidden_size,
|
| 420 |
num_experts=num_experts_per_node,
|
| 421 |
is_B_int4=is_int4,
|
| 422 |
+
is_B_mxfp4=is_mxfp4,
|
| 423 |
+
is_B_mxfp8=is_mxfp8)
|
| 424 |
|
| 425 |
# act
|
| 426 |
act_output = torch.empty((num_moe_inputs, inter_size),
|
|
|
|
| 441 |
gemm2_output = torch.empty((num_moe_inputs, hidden_size),
|
| 442 |
dtype=hidden_states.dtype,
|
| 443 |
device=hidden_states.device)
|
| 444 |
+
if not is_fp8 and not is_int4 and not is_mxfp4 and not is_mxfp8:
|
| 445 |
ops.cutlass_grouped_gemm_interface(
|
| 446 |
ptr_A=input_A,
|
| 447 |
ptr_B=input_B,
|
|
|
|
| 453 |
K=inter_size,
|
| 454 |
num_experts=num_experts_per_node,
|
| 455 |
is_B_int4=is_int4,
|
| 456 |
+
is_B_mxfp4=is_mxfp4,
|
| 457 |
+
is_B_mxfp8=is_mxfp8)
|
| 458 |
else:
|
| 459 |
ops.cutlass_grouped_gemm_interface(
|
| 460 |
ptr_A=input_A,
|
|
|
|
| 467 |
K=inter_size,
|
| 468 |
num_experts=num_experts_per_node,
|
| 469 |
is_B_int4=is_int4,
|
| 470 |
+
is_B_mxfp4=is_mxfp4,
|
| 471 |
+
is_B_mxfp8=is_mxfp8)
|
| 472 |
|
| 473 |
ops.moe_gather(output, gemm2_output, topk_weights,
|
| 474 |
permuted_row_to_unpermuted_row,
|
|
|
|
| 641 |
is_fp8 = getattr(self.experts, "is_fp8", False)
|
| 642 |
is_int4 = getattr(self.experts, "is_int4", False)
|
| 643 |
is_mxfp4 = getattr(self.experts, "is_mxfp4", False)
|
| 644 |
+
is_mxfp8 = getattr(self.experts, "is_mxfp8", False)
|
| 645 |
|
| 646 |
w13_scales = getattr(self.experts, "gate_up_proj_scales", None)
|
| 647 |
w2_scales = getattr(self.experts, "down_proj_scales", None)
|
|
|
|
| 694 |
is_fp8=is_fp8,
|
| 695 |
is_int4=is_int4,
|
| 696 |
is_mxfp4=is_mxfp4,
|
| 697 |
+
is_mxfp8=is_mxfp8,
|
| 698 |
)
|
| 699 |
|
| 700 |
# All-reduce across EP group to combine partial expert outputs
|