Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse files- build/torch211-cxx11-xpu20253-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so} +2 -2
- build/torch211-cxx11-xpu20253-x86_64-linux/_ops.py +3 -3
- build/torch211-cxx11-xpu20253-x86_64-linux/metadata.json +5 -5
- build/torch211-cxx11-xpu20253-x86_64-linux/metadata.json.sigstore +1 -1
- build/torch211-cxx11-xpu20253-x86_64-linux/xpu_fused_moe.py +22 -12
- build/torch212-cxx11-xpu20253-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so} +2 -2
- build/torch212-cxx11-xpu20253-x86_64-linux/_ops.py +3 -3
- build/torch212-cxx11-xpu20253-x86_64-linux/metadata.json +5 -5
- build/torch212-cxx11-xpu20253-x86_64-linux/metadata.json.sigstore +1 -1
- build/torch212-cxx11-xpu20253-x86_64-linux/xpu_fused_moe.py +22 -12
- build/torch213-cxx11-xpu20260-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so} +2 -2
- build/torch213-cxx11-xpu20260-x86_64-linux/_ops.py +3 -3
- build/torch213-cxx11-xpu20260-x86_64-linux/metadata.json +5 -5
- build/torch213-cxx11-xpu20260-x86_64-linux/metadata.json.sigstore +1 -1
- build/torch213-cxx11-xpu20260-x86_64-linux/xpu_fused_moe.py +22 -12
build/torch211-cxx11-xpu20253-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a6313faabce228bd1b28c8d6fe9fe1ec7445b1b106c2c4ff2c88f3ccebccc507
|
| 3 |
+
size 4321024
|
build/torch211-cxx11-xpu20253-x86_64-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_xpu_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_xpu_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_xpu_c4d0dc5::{op_name}"
|
build/torch211-cxx11-xpu20253-x86_64-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": [],
|
|
@@ -38,8 +38,8 @@
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
-
"
|
| 42 |
-
"_ops.py": "
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -90,7 +90,7 @@
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
-
"xpu_fused_moe.py": "
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
-
"sha": "
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_xpu_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
+
"_megablocks_xpu_c4d0dc5.abi3.so": "pjE/qrziKL0bKMjW/p/h7HRFsbEGwsT/LIjzzOvMxQc=",
|
| 42 |
+
"_ops.py": "KZ/xutl7d4r1cvlnq+lt8PGsR1a57OQznlwnP3eVkKI=",
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
build/torch211-cxx11-xpu20253-x86_64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtGgAwIBAgIULs8F0Pv9F310pFCoagjrGJ5N2EIwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDg1MTQ2WhcNMjYwODI1MDkwMTQ2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEM6ls1wqVE6jbq+AjQpkxyp+nALFMnE1Ic3I/57W2p5jydsbhjvilDwBB3uRZJgwVwBsGXaoMe96Jt9T4mnFKEKOCBfAwggXsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU5KOY1krEV5H04t+uHK3ePYcusGgwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgeURkAAAQDAEcwRQIhAISLVjg3rS2d2Mxrp/JvZn8j6lv3F7IoZSPZw4QBcAzyAiBrjeKi/unKRDzLoQS61MeasaTDucHbo31QMbNhhsI8xTAKBggqhkjOPQQDAwNpADBmAjEAkuOF6lebwhU+rKX4m9aMUjdOQrFMmESIeRvkTcA0KFK338Mr1OpTEkXv9QZG7dSXAjEAzd0UeXAjI/sz3BwplL7Mjnm9BUDIVmvrymYtWE0uBhSTlP03VPBmXUMI7/gERryg"}, "tlogEntries":[{"logIndex":"2582961953", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787647906", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDfk2fYnMUqBKQxE4MmKLK3PK75v33ccJ5jvMl6gZeaIwIgdRoPgUg3+FNAhZuOClBcQABzeJ5xH3d9YUSWn+nMjmM="}, "inclusionProof":{"logIndex":"2461057691", "rootHash":"TgOypswV6d5BMnGVaykUDT79iaiJWpVkjrIK/2oOktU=", "treeSize":"2461057693", "hashes":["cuB+c3pYjRXD03aZz/AG+MK4OPUszzqEzwFUE9XTSWg=", "ZbTc9rJqlKFodJwqC2F01tDm7Ka4NSm0+tSxGmHPcbI=", "4A2nvQepDn8mtigR533D+2B478u48AaifXqU9ea3XTA=", "qwHgfE6I3d87nJDEVqBYUkuWQmGvcWeKXh8ZxBC8zRw=", "3BPmGCGfTTFqocd10GECkTDUf5vv2Gsjt3GGJA6zzkE=", "mB/UpB9H7CUKaXOtI3tqlR1k0FFQHKKsX4Z8VulGQP8=", "L+ww7xnXOOoVCiQRiBmynDrlvQabAt5VFWzxsBdILtU=", "I6uWY1fVVGvGTO61tOrO/pY4sfzaGT7EJeS0VjVau0M=", "AIf8u9gW8bL2y17W8LUxlNoyuhwQoXMnh4ikfEtQoyA=", "G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=", "RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=", "mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=", "b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=", "SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461057693\nTgOypswV6d5BMnGVaykUDT79iaiJWpVkjrIK/2oOktU=\n\n— rekor.sigstore.dev wNI9ajBFAiEAxYU87Cu2+fVlRQ7VY6BZF4Y74dq9hU32Ii8ivtEMQoQCIALnRs11LanihT2kSCFM0GAUU15ho3dSNVMkJUPaApI9\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4OTFmNzViZjFhYjYxOTU2NTg1MmZjNjllYWRhMjA2YWMyMmQwZWExM2RiNTUxYjI3MjNhNmYzNWYxMmI1NTcxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNqdTBPN3h0bmprVFRMeUxtd0FQQ3VRdjBFZUJ2UXJJQ3Y4RU8vREZEM0xnSWdEcldnb0tLWXI4WGhMcHZ2UmVvaWRMZGRsdklJY2ttNm9QdU40U2lSbTI0PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5SSFowRjNTVUpCWjBsVlRITTRSakJRZGpsR016RXdjRVpEYjJGbmFuSkhTalZPTWtWSmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHY3hUVlJSTWxkb1kwNU5hbGwzVDBSSk1VMUVhM2ROVkZFeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZOTm14ek1YZHhWa1UyYW1KeEswRnFVWEJyZUhsd0syNUJURVpOYmtVeFNXTXpTUzhLTlRkWE1uQTFhbmxrYzJKb2FuWnBiRVIzUWtJemRWSmFTbWQzVm5kQ2MwZFlZVzlOWlRrMlNuUTVWRFJ0YmtaTFJVdFBRMEptUVhkbloxaHpUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlUxUzA5WkNqRnJja1ZXTlVnd05IUXJkVWhMTTJWUVdXTjFjMGRuZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwWjFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT0VKSWIwRUtaVUZDTWtGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaMlZWVW10QlFVRlJSQXBCUldOM1VsRkphRUZKVTB4V2FtY3pjbE15WkRKTmVISndMMHAyV200NGFqWnNkak5HTjBsdldsTlFXbmMwVVVKalFYcDVRV2xDY21wbFMya3ZkVzVMQ2xKRWVreHZVVk0yTVUxbFlYTmhWRVIxWTBoaWJ6TXhVVTFpVG1ob2MwazRlRlJCUzBKblozRm9hMnBQVUZGUlJFRjNUbkJCUkVKdFFXcEZRV3QxVDBZS05teGxZbmRvVlN0eVMxZzBiVGxoVFZWcVpFOVJja1pOYlVWVFNXVlNkbXRVWTBFd1MwWkxNek00VFhJeFQzQlVSV3RZZGpsUldrYzNaRk5ZUVdwRlFRcDZaREJWWlZoQmFra3ZjM296UW5kd2JFdzNUV3B1YlRsQ1ZVUkpWbTEyY25sdFdYUlhSVEIxUW1oVFZHeFFNRE5XVUVKdFdGVk5TVGN2WjBWU2NubG5DaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgJosULRbhM88DhVKF+SF79kIgK105/NshFiqogtpQD5MCFQD+Y0aT3vnDRMzJtuB/rwRiQPqk+xgPMjAyNjA4MjUwODUxNDZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTA4NTE0NlowLwYJKoZIhvcNAQkEMSIEIKpPDUcxlio4b889lZ04HlRwFl0E7iK7ZAuBu48Eir6RMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQD18KdMXgJcZ8KqPQ7WXahlDI4GIjkMjt17OmhTuqnLkfZDuyqM6hih0DEhiAO8GcACMGvGqnmUFI8Vtf4vBcD7P+aznvl26K/yweDVSUX4oetVwYdCULfJ9iEmkE6AyZyq8w=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"iR91vxq2GVZYUvxp6togasItDqE9tVGycjpvNfErVXE="}, "signature":"MEUCIQCju0O7xtnjkTTLyLmwAPCuQv0EeBvQrICv8EO/DFD3LgIgDrWgoKKYr8XhLpvvReoidLddlvIIckm6oPuN4SiRm24="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtKgAwIBAgIUIzluOvtPWqWfKClErLlNPRUYKjMwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIwNzQ2WhcNMjYwODI1MTIxNzQ2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkOr64RjNQ0gt5zj4LR+iPIc/WMDx8QdjmFtR7/u1e7YFCKOdqJkaPRL8nwWLPao6Zgbq2s8+UqNZwozyW10gqaOCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUvzLXJHYLh/n4tr78PT0CZ8qGQdUwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjRw7kAAAQDAEgwRgIhAK/xGojM6pQemiFXiNF3e2WP0gG1lq71LdWeSwE8kKNTAiEAroxYtKM12bIlDEWHUNe5Fg80+ANZrIDmW0DkdKRNpLgwCgYIKoZIzj0EAwMDaAAwZQIwWA1IIR/2HT0j3k4RExzkzno/r005KDWft4RTXIfOGYDaqQPI2AK0uU5X8MyGIgscAjEAinwvwk6Us0LBPNaNW7stEa9wv+76hLWDz6QB8oHZhWCUSePr6XWNCpNauZUVC9uS"}, "tlogEntries":[{"logIndex":"2583274357", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787659666", "inclusionPromise":{"signedEntryTimestamp":"MEQCID7eLq7wiB1ZivkWLD/Yg+95tXZz3cqmBeWWv8VCNslkAiBXDJPTh4Y7ZQ4z8RVrY6Ca5l/6Tg2P6zoruX4ukmfwHQ=="}, "inclusionProof":{"logIndex":"2461370095", "rootHash":"sNdad1MYqTezyuxVsQbdWDuGezleCfAVTPuhx4YUMRQ=", "treeSize":"2461370096", "hashes":["p8KJgfmCOTSN5JxKwmMJmpRe1C7x2TqJ5qho61aFifg=", "MbZb5RVaRHfqDrl3xHl8bF42Wpu7OxJ6NMMRNI4tDDM=", "MgUJd53G8EV31ig6QZR9U6dN/Ej1GPS5ayB8X21qHR4=", "qHs0mut7KuFue87Z1nV/QuRceM+1PlkJj8CLP2OIAyQ=", "gRd5sNxi5eDa55ZlY+5SfYVJq4GljVECv0jl/fOv4wk=", "5qjJfz7EuBCzY7LHx9a9AMI+K35pr8cTAiOfk7dpAPE=", "RBz2MREEZpmXGxUtKP8ABoDLiNAR/6GNsImOEpoZr44=", "JsX9xGIEwFv7MFelTobmTLz4j1Jl78aSs2G7dkybw0w=", "nwobU/9yRWhsbw80xq3x/uNV1nniMWdUKAqc3UWYsJM=", "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\n2461370096\nsNdad1MYqTezyuxVsQbdWDuGezleCfAVTPuhx4YUMRQ=\n\n— rekor.sigstore.dev wNI9ajBEAiBDmv7pjT5tF2Co7OGBHBHwR5bn/PZjrolwj+PYykkizwIgUE6i07I2FM2jfeX2NJzMZGJKQ+2t8jW/ZP062BiiiY0=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiM2IzMWYzOTQ5OTBhNjU5YWQ4N2IxMjFmZWMyMDA1MWM2NzQ3MjU3NjZjZTk5MDUxZTcxZDRiZDFlMDkyNzc5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRENEWTNTK1NtcTBpRU5RMXNncEtVWkc5UmkzazVxUWR1aGlZdDlrYVAzMkFpQlZTM2xnbmp5M0Q2TUQ0NnBwUWQ1dlJGUGV6MkxsOWcwcU4zbWVUTjVSOVE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5STFowRjNTVUpCWjBsVlNYcHNkVTkyZEZCWGNWZG1TME5zUlhKTWJFNVFVbFZaUzJwTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDNUbnBSTWxkb1kwNU5hbGwzVDBSSk1VMVVTWGhPZWxFeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZyVDNJMk5GSnFUbEV3WjNRMWVtbzBURklyYVZCSll5OVhUVVI0T0ZGa2FtMUdkRklLTnk5MU1XVTNXVVpEUzA5a2NVcHJZVkJTVERodWQxZE1VR0Z2TmxwblluRXljemdyVlhGT1duZHZlbmxYTVRCbmNXRlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlYyZWt4WUNrcElXVXhvTDI0MGRISTNPRkJVTUVOYU9IRkhVV1JWZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbEozTjJ0QlFVRlJSQXBCUldkM1VtZEphRUZMTDNoSGIycE5ObkJSWlcxcFJsaHBUa1l6WlRKWFVEQm5SekZzY1RjeFRHUlhaVk4zUlRoclMwNVVRV2xGUVhKdmVGbDBTMDB4Q2pKaVNXeEVSVmRJVlU1bE5VWm5PREFyUVU1YWNrbEViVmN3Ukd0a1MxSk9jRXhuZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkpkMWRCTVVrS1NWSXZNa2hVTUdvemF6UlNSWGg2YTNwdWJ5OXlNREExUzBSWFpuUTBVbFJZU1daUFIxbEVZWEZSVUVreVFVc3dkVlUxV0RoTmVVZEpaM05qUVdwRlFRcHBibmQyZDJzMlZYTXdURUpRVG1GT1Z6ZHpkRVZoT1hkMkt6YzJhRXhYUkhvMlVVSTRiMGhhYUZkRFZWTmxVSEkyV0ZkT1EzQk9ZWFZhVlZaRE9YVlRDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgeBwwzPZR2St8rF3TjNMFJH6cEb0+ZpX5DYtnQMd5UUcCFQDGBRSGS5PWx7H00VRHBHeVfMP8CRgPMjAyNjA4MjUxMjA3NDZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDgyNTEyMDc0NlowLwYJKoZIhvcNAQkEMSIEIPJgL/hPgtePC00s7ES9TLKV7NS2fo0kWw5VVhOiPEYpMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMC6IwcE3T8EvwvHz6Uo026enxQIOuYHH2U00qgbOFIchNg9M8oP79vHzdblbt3CCmgIwfAk+LjIlla/zuoWwJgedqtemcFNVQR3YFyIYVtsj1jlyHVVRhWbN4NG3krK/edAX"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"s7MfOUmQplmth7Eh/sIAUcZ0cldmzpkFHnHUvR4JJ3k="}, "signature":"MEQCIDCDY3S+Smq0iENQ1sgpKUZG9Ri3k5qQduhiYt9kaP32AiBVS3lgnjy3D6MD46ppQd5vRFPez2Ll9g0qN3meTN5R9Q=="}}
|
build/torch211-cxx11-xpu20253-x86_64-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-xpu20253-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:868eb695bd1e4c252332321da1ca3002e7322764498808ed957cf8e869b9ea5a
|
| 3 |
+
size 4321128
|
build/torch212-cxx11-xpu20253-x86_64-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_xpu_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_xpu_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_xpu_c4d0dc5::{op_name}"
|
build/torch212-cxx11-xpu20253-x86_64-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": [],
|
|
@@ -38,8 +38,8 @@
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
-
"
|
| 42 |
-
"_ops.py": "
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -90,7 +90,7 @@
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
-
"xpu_fused_moe.py": "
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
-
"sha": "
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_xpu_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
+
"_megablocks_xpu_c4d0dc5.abi3.so": "ho62lb0eTCUjMjIdocowAucyJ2RJiAjtlXz46Gm56lo=",
|
| 42 |
+
"_ops.py": "KZ/xutl7d4r1cvlnq+lt8PGsR1a57OQznlwnP3eVkKI=",
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
build/torch212-cxx11-xpu20253-x86_64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtCgAwIBAgIUUo1Q+dMc1YruPECHaV6deR8dVBQwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDg1MTQ2WhcNMjYwODI1MDkwMTQ2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEm6+030z+eACu2UyM3KOAWNjRSkP0Ktzjenkkofw/1qqXA0PhBA3DM6SeRpLbdl9ZVCWfOlhhjGR2C9LEcjvrgqOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU+0zhfUftst48U/qXBS7Rrw0ybVAwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgeVFkAAAQDAEYwRAIgHlbFSxPhFtZNe0UgD64oP7QQkWlrGQ6G5Q9u/w4ZbSgCIBdXw37FU2DkEkh3Cgwj4FmkkRr5kfvbIqVVmLsItU0sMAoGCCqGSM49BAMDA2gAMGUCMBYTrRUaFqVBx645v6MZI1TPA9qZIXaWeHXuwyApnjvLpTC8bE+NyWZqsPDDdQznzAIxAKwW703J5pFvzkMLtHiInH8eT0dvqS8ro43wDqs9oc9AsRW2UeTZUBz3JP1Sm65dBg=="}, "tlogEntries":[{"logIndex":"2582961967", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787647907", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQCuSLOiEgMMKoKphyEjZoHZzWZqrOgnrSu/Nu767xbS8QIhAPg5HaG+D20IkMFvEdqNXW8D2HL4FWR0gT5WxNgTUg5N"}, "inclusionProof":{"logIndex":"2461057705", "rootHash":"u6UUhCe8LH/Dbd9a46QKRLrmb4JpL561F1y3Z3bq5cA=", "treeSize":"2461057708", "hashes":["F7TEKDuu+YFFo7OLlEwIzlZWc8Xi415hbhsi99z/O1E=", "P8ph9ciEbWQC1WHyF81PwKneEft7FJFOvvbrGgVasgs=", "2WNElo7tRci3y2DoWmrHdInqhBeEhKKZlMETLw1Ohn8=", "2SU7I66Sclt9Jps6m2NeW+MHapEPMWvVa1OUGrTvtNg=", "mB/UpB9H7CUKaXOtI3tqlR1k0FFQHKKsX4Z8VulGQP8=", "L+ww7xnXOOoVCiQRiBmynDrlvQabAt5VFWzxsBdILtU=", "I6uWY1fVVGvGTO61tOrO/pY4sfzaGT7EJeS0VjVau0M=", "AIf8u9gW8bL2y17W8LUxlNoyuhwQoXMnh4ikfEtQoyA=", "G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=", "RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=", "mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=", "b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=", "SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461057708\nu6UUhCe8LH/Dbd9a46QKRLrmb4JpL561F1y3Z3bq5cA=\n\n— rekor.sigstore.dev wNI9ajBGAiEAlR/P6vrUK18VNH0Y9AAUEwGCQT592X/2CekmYgFciO4CIQC85a0rAGxPq6l19BuBJRU60zPdcr8eEOzncHd3TUcjhg==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzZDBjMmUwNTdiMjRiMDc4OWNhOGJjMjBmYThjM2Y5MjNjNjNlYTA4YTFkY2EwYjg0NmY1Y2JhMzc2NWYzYWY3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUROeHBxZ3RHbVNlNHlhOEUvODFhWFg5NysrNkdSV3BEVlUrYWtvOWRJSi9nSWhBTkxBYURFV2tBWUk1dzE4Q2NkK0s4MVFxVnlZc2RXTVdmd2FYNkRJOUI3diIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SRFowRjNTVUpCWjBsVlZXOHhVU3RrVFdNeFdYSjFVRVZEU0dGV05tUmxVamhrVmtKUmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHY3hUVlJSTWxkb1kwNU5hbGwzVDBSSk1VMUVhM2ROVkZFeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ0Tmlzd016QjZLMlZCUTNVeVZYbE5NMHRQUVZkT2FsSlRhMUF3UzNSNmFtVnVhMnNLYjJaM0x6RnhjVmhCTUZCb1FrRXpSRTAyVTJWU2NFeGlaR3c1V2xaRFYyWlBiR2hvYWtkU01rTTVURVZqYW5aeVozRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlVyTUhwb0NtWlZablJ6ZERRNFZTOXhXRUpUTjFKeWR6QjVZbFpCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaMlZXUm10QlFVRlJSQXBCUlZsM1VrRkpaMGhzWWtaVGVGQm9SblJhVG1Vd1ZXZEVOalJ2VURkUlVXdFhiSEpIVVRaSE5WRTVkUzkzTkZwaVUyZERTVUprV0hjek4wWlZNa1JyQ2tWcmFETkRaM2RxTkVadGEydFNjalZyWm5aaVNYRldWbTFNYzBsMFZUQnpUVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlaMEZOUjFWRFRVSlpWSEpTVldFS1JuRldRbmcyTkRWMk5rMWFTVEZVVUVFNWNWcEpXR0ZYWlVoWWRYZDVRWEJ1YW5aTWNGUkRPR0pGSzA1NVYxcHhjMUJFUkdSUmVtNTZRVWw0UVV0M1Z3bzNNRE5LTlhCR2RucHJUVXgwU0dsSmJrZzRaVlF3WkhaeFV6aHlielF6ZDBSeGN6bHZZemxCYzFKWE1sVmxWRnBWUW5velNsQXhVMjAyTldSQ1p6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg/NsEwfjHmQzDyIXTJeQTJGpp37BoZF83gwsfe4O7ApUCFA7AwoX4Vf8VAbzrDiBFYvrTLc7zGA8yMDI2MDgyNTA4NTE0NlowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDg1MTQ2WjAvBgkqhkiG9w0BCQQxIgQgIa8KQFKDO4sH+itJ3ystmHo+XqWJ/vadfg4DI6Ejjc0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAKvtsNw0y4SABHEUKMGAqctw6IN5f7+PhTxqOBGFVdht97vIpDXal6rcR2JfaRe0VgIwbZJvS0Li0dX8iyLfzrwt9C8k1xmkprpGCVXK68c7+PNyb4CiAmYYeD38Xm0seVv4"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"PQwuBXsksHicqLwg+ow/kjxj6gih3KC4RvXLo3ZfOvc="}, "signature":"MEYCIQDNxpqgtGmSe4ya8E/81aXX97++6GRWpDVU+ako9dIJ/gIhANLAaDEWkAYI5w18Ccd+K81QqVyYsdWMWfwaX6DI9B7v"}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHTDCCBtKgAwIBAgIUXl5Lj0ZZxmJSBAElnUur5bPOFSUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIwNzQ3WhcNMjYwODI1MTIxNzQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErc2vjnOd2F7gDDhqBurUUxT/ujdwHbHjt8JcM57UgNubELzPeSCPV+EjHNgld7qmRfUjLa21P6DWD7BypZNRNqOCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU+Uxv/tFJgmXCXe5vuYfg2ML3TocwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjRxswAAAQDAEgwRgIhAN+W8o+X7UgM1dt/DI3YoGQwFZtyRfMAGOEyZnvXz5DPAiEA0zBGzcriJLXqkz+htQgXqRdIzS3LI70Vj61poOh2B+MwCgYIKoZIzj0EAwMDaAAwZQIxANO7WbSfiTPHzqSEAfB+JpfkSWRdxfujCm2jE0ncT/4jIC6v14qyZVBlHp7+teGYYAIwOx4kJzvP6rP/tlp5LPhe7rF5kD+Vja6AtjwfMNXLBgTcU4Aew0pof22Kdj5DsGO9"}, "tlogEntries":[{"logIndex":"2583274380", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787659667", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQCpPbM0AS/szLFi2f2RNpUPV4OvvmCRi5a6WAzN9iI8/AIhAJA2d6b7uUNN4ebditgvyIz/6tvKd7yv4hi/AP2Mwxti"}, "inclusionProof":{"logIndex":"2461370118", "rootHash":"cQ7wW1xW/L20rkOvTt9r9iCKPByWXNI6FCkRaju37Ts=", "treeSize":"2461370120", "hashes":["y7dnw8OA1nxLA6kcdGFSV0dFZoGA1uZ1xOITOKTf2Js=", "uJ0tsePLf6AS/EahjuJN0+b+EnlFud7NirVAZMI0B4I=", "jjdaExfTfO3Htve6MMlB8UBrmhQIgQW9lSQ4kVJYuG4=", "BJlxWyo+0U2jxgcimrAeK1pey6FSpHWLOetp0UXRWI4=", "JsX9xGIEwFv7MFelTobmTLz4j1Jl78aSs2G7dkybw0w=", "nwobU/9yRWhsbw80xq3x/uNV1nniMWdUKAqc3UWYsJM=", "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\n2461370120\ncQ7wW1xW/L20rkOvTt9r9iCKPByWXNI6FCkRaju37Ts=\n\n— rekor.sigstore.dev wNI9ajBFAiA9mr274M9R9qIT6J8dTEeSqj88FaQxjItF4bRLmWCsmwIhAMsWTJ1A8HcsmgMoEJo+YpOQ01H1eQMrBHPvtx3pT2mT\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlMjU4NGVmMDU2OGZkMmVkMTM4MmE2ODZjODNhMGIyNzNhMmZjYzE4MWI1YzZkMmQ2ODRjNzgwNDc5MzNjM2JkIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUNwRlg3N3NjWTF1VUZwOWdNQWIrUWJ3VVluYlNFdXNjYURBYlJCbFVQNHJnSWdCT1E3T3U4QnNaTGo1RWNtNDArOTViOXZoUFhGVmZZNmxxV3kvUHpBbWE0PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFVSRU5EUW5STFowRjNTVUpCWjBsVldHdzFUR293V2xwNGJVcFRRa0ZGYkc1VmRYSTFZbEJQUmxOVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDNUbnBSTTFkb1kwNU5hbGwzVDBSSk1VMVVTWGhPZWxFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ5WXpKMmFtNVBaREpHTjJkRVJHaHhRblZ5VlZWNFZDOTFhbVIzU0dKSWFuUTRTbU1LVFRVM1ZXZE9kV0pGVEhwUVpWTkRVRllyUldwSVRtZHNaRGR4YlZKbVZXcE1ZVEl4VURaRVYwUTNRbmx3V2s1U1RuRlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlVyVlhoMkNpOTBSa3BuYlZoRFdHVTFkblZaWm1jeVRVd3pWRzlqZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbEo0YzNkQlFVRlJSQXBCUldkM1VtZEphRUZPSzFjNGJ5dFlOMVZuVFRGa2RDOUVTVE5aYjBkUmQwWmFkSGxTWmsxQlIwOUZlVnB1ZGxoNk5VUlFRV2xGUVRCNlFrZDZZM0pwQ2twTVdIRnJlaXRvZEZGbldIRlNaRWw2VXpOTVNUY3dWbW8yTVhCdlQyZ3lRaXROZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkplRUZPVHpjS1YySlRabWxVVUVoNmNWTkZRV1pDSzBwd1ptdFRWMUprZUdaMWFrTnRNbXBGTUc1alZDODBha2xETm5ZeE5IRjVXbFpDYkVod055dDBaVWRaV1VGSmR3cFBlRFJyU25wMlVEWnlVQzkwYkhBMVRGQm9aVGR5UmpWclJDdFdhbUUyUVhScWQyWk5UbGhNUW1kVVkxVTBRV1YzTUhCdlpqSXlTMlJxTlVSelIwODVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgAF4NzZ4QDxxyny7GD5G9gutsEM6gS48lZIjdv0q0L2oCFCqbR84O99XA9ORjAz6eaf5ry4FfGA8yMDI2MDgyNTEyMDc0N1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIwNzQ3WjAvBgkqhkiG9w0BCQQxIgQg0xV8kuoZmTLPREuzDn9A2nFk6uc+jwxngJv06AITOqwwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAMORtmStWCwKwKsaiLGpF8sh0OG1iC4tOrFRmmNktIbLmI9CIQUsE5ApgIm8LWbMwAIxAOEkQlSqUSkaNMPcj+l3vymorX1kyGFtf1kzOX789cV5zvO8oJs+Z4Ob8ZAs+jdMhQ=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"4lhO8FaP0u0TgqaGyDoLJzovzBgbXG0taEx4BHkzw70="}, "signature":"MEUCIQCpFX77scY1uUFp9gMAb+QbwUYnbSEuscaDAbRBlUP4rgIgBOQ7Ou8BsZLj5Ecm40+95b9vhPXFVfY6lqWy/PzAma4="}}
|
build/torch212-cxx11-xpu20253-x86_64-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-xpu20260-x86_64-linux/{_megablocks_xpu_18e92fb.abi3.so → _megablocks_xpu_c4d0dc5.abi3.so}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e9e67436714e7f1ac7513960d18a05eae815c650050754fe667d1ddef6cf2210
|
| 3 |
+
size 3931504
|
build/torch213-cxx11-xpu20260-x86_64-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_xpu_c4d0dc5
|
| 3 |
+
ops = torch.ops._megablocks_xpu_c4d0dc5
|
| 4 |
|
| 5 |
def add_op_namespace_prefix(op_name: str):
|
| 6 |
"""
|
| 7 |
Prefix op by namespace.
|
| 8 |
"""
|
| 9 |
+
return f"_megablocks_xpu_c4d0dc5::{op_name}"
|
build/torch213-cxx11-xpu20260-x86_64-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": [],
|
|
@@ -38,8 +38,8 @@
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
-
"
|
| 42 |
-
"_ops.py": "
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
@@ -90,7 +90,7 @@
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
-
"xpu_fused_moe.py": "
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
@@ -100,7 +100,7 @@
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
-
"sha": "
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"name": "megablocks",
|
| 3 |
+
"id": "_megablocks_xpu_c4d0dc5",
|
| 4 |
"version": 1,
|
| 5 |
"license": "Apache-2.0",
|
| 6 |
"python-depends": [],
|
|
|
|
| 38 |
"_layers/mpu.py": "BX61/pmqRCVeEMnzpuK8x5NpITBJyZfOawGnDegW1O8=",
|
| 39 |
"_layers/router.py": "GKC/5//Uf43HT6zXlBTStCMTml2YXn7Jbgq9EgTgDC0=",
|
| 40 |
"_layers/sharedexpert_registry.py": "GfwHKjbC7lBXYq9kNifp3HudTdZKSqwsFxGxFLc2krw=",
|
| 41 |
+
"_megablocks_xpu_c4d0dc5.abi3.so": "6eZ0NnFOfxrHUTlg0YoF6ugVxlAFB1T+Zn0d3vbPIhA=",
|
| 42 |
+
"_ops.py": "KZ/xutl7d4r1cvlnq+lt8PGsR1a57OQznlwnP3eVkKI=",
|
| 43 |
"_version.py": "W3l9oUrnmvfBoIy06Lv0y2ezTQhNU04ug/txHcdWJD0=",
|
| 44 |
"backend/__init__.py": "4bunAqqjwE93nym8CigHbqVAal7UaYGdONb8lGRfrek=",
|
| 45 |
"backend/kernels.py": "2UFNTlmSDk3S5y6UW14MJMPVVsVhmozxQ5wFDxtZHhQ=",
|
|
|
|
| 90 |
"stk/random/__init__.py": "Gr/+Gl20jJ6fJVRfoAUxEcCPeChILQzrzhKVVAWQsRI=",
|
| 91 |
"stk/random/random_ops.py": "AluIDj3Vo2ReKAsZz07yydbtndDbJoglekRGIaCoRZE=",
|
| 92 |
"stk/random/random_ops_test.py": "B+a4Zb+OPhBtpVA48oc09sBL/AAQO9j/YUFI0nnXxzk=",
|
| 93 |
+
"xpu_fused_moe.py": "sPmuRSpkH1Bmk4hdpz53us8Qpc6yinT9rkld3T8WreI="
|
| 94 |
}
|
| 95 |
},
|
| 96 |
"provenance": {
|
|
|
|
| 100 |
"dirty": false
|
| 101 |
},
|
| 102 |
"kernel": {
|
| 103 |
+
"sha": "c4d0dc56661badb9cc47bde647e08fe3b4bf7458",
|
| 104 |
"dirty": false
|
| 105 |
}
|
| 106 |
}
|
build/torch213-cxx11-xpu20260-x86_64-linux/metadata.json.sigstore
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtCgAwIBAgIUbehWVIsXj1Nn1XSDffNtq3bdGekwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MDg1MTQ3WhcNMjYwODI1MDkwMTQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbQQsp68Z3XaLyD7LJToT5M7D18uIqo2uDCDsuIKZxlF4N+Y/a6/3rAqrdL4RHjxOc9lTrqRPTp5GszZ7c4ErNaOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUk0gOpa+4+a2bFxEr5YBp1XnQna4wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoMThlOTJmYjY4ODYyMDFmZmI5MWMxNzNmMDI1OTM3Nzc3NTZjNzkzZjAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDE4ZTkyZmI2ODg2MjAxZmZiOTFjMTczZjAyNTkzNzc3NzU2Yzc5M2YwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4Mjc3ODQ2NjkvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDgeV1MAAAQDAEYwRAIgUjJndgE4Nuf2102k2UjXKzqR87/Q/o2hjJZ9pqtLm5gCIGC5zjFWJOTiFAz2g9s/toY/G7vt9E68PR8YR18WdLMfMAoGCCqGSM49BAMDA2kAMGYCMQC4H983WB83znWe8Y8T4pfoyhOB0N3546EIj3vuv6nyz3PQgUc+yFjzlA+uzgUWR78CMQCbQJtkv6lFLZCA5ueA89V9Dm3cfbq57Wy6iUmEJ2jjjyYx8/tS8de68+231BbnR2I="}, "tlogEntries":[{"logIndex":"2582961996", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787647907", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDxUqe1QATEXlf42CBaEIt7ii0HtFEF/qTgGr7sfUYAVwIgVMPm/zTCFa25z4K38v1VoSYJXb9fRo8qswWS50UzNrE="}, "inclusionProof":{"logIndex":"2461057734", "rootHash":"JTEw2Kup6CHqhKbl1o8HJokkBXUWWnt4EthrXtk6sZo=", "treeSize":"2461057737", "hashes":["w+/k6N4x6IQV/Y8GSb8uYbp0yQ+DVfr/iUtQiYE58Rk=", "K+soKkCAPZO+ABb9EI2PwPO5ximd5hgNAWlpt7KatRg=", "eS4fo1SbIHwfnSoKh/xplr0cH55SnMl3FHO6/B55fHE=", "1rekyYBKTt8Cs8b/u2H0ioOT9TTyuIiP+45pVfODx1A=", "XIE8dfPj/yjza6iRLGG/ZYZjFEupzN6GZIi4y6cO5WY=", "mB/UpB9H7CUKaXOtI3tqlR1k0FFQHKKsX4Z8VulGQP8=", "L+ww7xnXOOoVCiQRiBmynDrlvQabAt5VFWzxsBdILtU=", "I6uWY1fVVGvGTO61tOrO/pY4sfzaGT7EJeS0VjVau0M=", "AIf8u9gW8bL2y17W8LUxlNoyuhwQoXMnh4ikfEtQoyA=", "G1R9F5B2KizFA2NyhDznjNKXPOF1SDmbGHz+omLG7TY=", "RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=", "mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=", "b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=", "SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2461057737\nJTEw2Kup6CHqhKbl1o8HJokkBXUWWnt4EthrXtk6sZo=\n\n— rekor.sigstore.dev wNI9ajBGAiEA/y3T4jZIVwzLxFm7H08JyabtLNQSdNZVClum0bwQ2KUCIQDwkFc6m+BpXzZgRIeIaETBmMS163bS49RiUk/DZNiGFw==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1Y2VmNDRjM2VkMTFmYTZhZjgyZWJiYTg4ZGNmM2RjMTZhMWI3NTFkYTgyNTM0Njc3NDc2MTFhNDc3MGFiMWVmIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQk91Qi9BMW9IQXdaQll4bGdWU3hGaC9PbEVBcGgxQWRpVVJ4b2wwTWtoMEFpQTlsZHBQM2UxVG11bWpMMDkrWVNuK2JnWWdyc0crUk5DS1pVZzF2bFVOT2c9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5SRFowRjNTVUpCWjBsVlltVm9WMVpKYzFocU1VNXVNVmhUUkdabVRuUnhNMkprUjJWcmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlJHY3hUVlJSTTFkb1kwNU5hbGwzVDBSSk1VMUVhM2ROVkZFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZpVVZGemNEWTRXak5ZWVV4NVJEZE1TbFJ2VkRWTk4wUXhPSFZKY1c4eWRVUkRSSE1LZFVsTFduaHNSalJPSzFrdllUWXZNM0pCY1hKa1REUlNTR3A0VDJNNWJGUnljVkpRVkhBMVIzTjZXamRqTkVWeVRtRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZyTUdkUENuQmhLelFyWVRKaVJuaEZjalZaUW5BeFdHNVJibUUwZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOU5WR2hzVDFSS2JWbHFXVFJQUkZsNVRVUkdiVnB0U1RWTlYwMTRDazU2VG0xTlJFa3hUMVJOTTA1Nll6Tk9WRnBxVG5wcmVscHFRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGhPZWs1dFRVUkpNVTlVVFRNS1RucGpNMDVVV21wT2VtdDZXbXBCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMDFVYUd4UFZFcHRXV3BaTkU5RVdYbE5SRVp0V20xSk5VMVhUWGdLVG5wT2JVMUVTVEZQVkUwelRucGpNMDVVV21wT2VtdDZXbXBCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwUkZORnBVYTNrS1dtMUpNazlFWnpKTmFrRjRXbTFhYVU5VVJtcE5WR042V21wQmVVNVVhM3BPZW1NelRucFZNbGw2WXpWTk1sbDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRXcGpNMDlFVVRKT2FtdDJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVaMlZXTVUxQlFVRlJSQXBCUlZsM1VrRkpaMVZxU201a1owVTBUblZtTWpFd01tc3lWV3BZUzNweFVqZzNMMUV2YnpKb2FrcGFPWEJ4ZEV4dE5XZERTVWRETlhwcVJsZEtUMVJwQ2taQmVqSm5PWE12ZEc5WkwwYzNkblE1UlRZNFVGSTRXVkl4T0Zka1RFMW1UVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlhMEZOUjFsRFRWRkRORWc1T0RNS1YwSTRNM3B1VjJVNFdUaFVOSEJtYjNsb1QwSXdUak0xTkRaRlNXb3pkblYyTm01NWVqTlFVV2RWWXl0NVJtcDZiRUVyZFhwblZWZFNOemhEVFZGRFlncFJTblJyZGpac1JreGFRMEUxZFdWQk9EbFdPVVJ0TTJObVluRTFOMWQ1Tm1sVmJVVktNbXBxYW5sWmVEZ3ZkRk00WkdVMk9Dc3lNekZDWW01U01razlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgNgCck0Efy6/TXP09NfTs9Q4q9Sfidr6xMYdwFIPHkDsCFGvBWJUrZNLziEKSobt/sCf9h6IkGA8yMDI2MDgyNTA4NTE0N1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MDg1MTQ3WjAvBgkqhkiG9w0BCQQxIgQgmySY7i01CilNgH25RkRF+7uI1oMrIsyGgODl9Sjh9oYwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwL9UEpX7hIsLq1V9SqfX3mnJ4YpYbY0PfDIhwzU6usTkD7tnVH35t+rTmw0529+wRAjACd5nRkHWwdBKYzoiycqbjq8buFuPVdDbAvetd76nNpqFfFeE0stMrshs7TTaDOEY="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"XO9Ew+0R+mr4Lruojc89wWobdR2oJTRndHYRpHcKse8="}, "signature":"MEQCIBOuB/A1oHAwZBYxlgVSxFh/OlEAph1AdiURxol0Mkh0AiA9ldpP3e1TmumjL09+YSn+bgYgrsG+RNCKZUg1vlUNOg=="}}
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHSTCCBtCgAwIBAgIUEsfCDaGiIjMTh2fWbFNDO7MtkCowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI1MTIwNzQ3WhcNMjYwODI1MTIxNzQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmPdHGofC4sgawEo7z3SJT/Ayt9ERh4bgxvOL7buMV+eCrAw2gmH3lYDRyAHRdCkSP2KQuzjQAsjJ19LZCqzw6KOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUPsC5HZTI3gn0jq+BQjq4r5S2OgswHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoYzRkMGRjNTY2NjFiYWRiOWNjNDdiZGU2NDdlMDhmZTNiNGJmNzQ1ODAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGM0ZDBkYzU2NjYxYmFkYjljYzQ3YmRlNjQ3ZTA4ZmUzYjRiZjc0NTgwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMzI4NDQ2ODk4OTQvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoDjRyaUAAAQDAEYwRAIgM0GM4ReR0pFWw7Wx/buzmiWJqvaZoMT/xfGlpLZRm1cCIGUMb+0iRQuknEKoQbK+5DveMo3AC6jEpy4nLUXlBadNMAoGCCqGSM49BAMDA2cAMGQCMFodrf0jX0YBZhtrHolQlOygwpaTKfIqEd1KsAEBGzEeyglfDdeCtnlJqyjC2QabTgIwMSJ9rAuw/7JMGuRwKX7SN6y10dj6bcgrWH1h1pMOpRkDviO3UcOW6D7YK0QJh6sI"}, "tlogEntries":[{"logIndex":"2583274400", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1787659668", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQCqfQPWi1/v5rUMFeKZU9k687Y42OyxhJoWYlADuFTFUwIhAIRq8YTYK2Y2WqGWhf4mVDyufmMqpoud0k4fLVFBgMVq"}, "inclusionProof":{"logIndex":"2461370138", "rootHash":"sKa21DCpYU/7LZ9ORZD9C6zjkbDLdRZrxb0LEXD2oF8=", "treeSize":"2461370140", "hashes":["56CyIHBhqSmA3l4hOHXc32F/TItpTDPvieoQQ97VSao=", "y6SajW2RSxSC+qZEPkVTOda5uUFbFye//C1W3E4fOD0=", "cTavF/Ocd3ZeX1e1jnEV1te21vU3vvj+JGzwC/gStgk=", "yW+Ys91jOHBbqiKaKMiTKMYmn8iwJam2ZsB6CNDrzzs=", "BJlxWyo+0U2jxgcimrAeK1pey6FSpHWLOetp0UXRWI4=", "JsX9xGIEwFv7MFelTobmTLz4j1Jl78aSs2G7dkybw0w=", "nwobU/9yRWhsbw80xq3x/uNV1nniMWdUKAqc3UWYsJM=", "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\n2461370140\nsKa21DCpYU/7LZ9ORZD9C6zjkbDLdRZrxb0LEXD2oF8=\n\n— rekor.sigstore.dev wNI9ajBFAiBoocRiTqMBmVriZO1sD/o5GwCtMgDY+WHYB3j+0fWVLAIhAPgdJas1OQKZUc4PR5zJpIrE5p3Emu3DDxDwPi16ZReL\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3MzUwOTg3YTRmYjA2ODdiNDYxY2EzMjJlM2NiYzVhZmY3Y2VhZGQ4ZjBkYzcyZDQ0MmU3OTQ0MzRkNzIxYjc2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJR09BTGdFYjdMaEJsZ09CSmpZVkhwMUk2bGZIVEZ6alZjVzdJTG9mL2U0cEFpRUFueks1RGZibGF2KzVuYVdseHV1U2lxUWJ0QmN5aHE5cFhvTE8wb0t0eHVRPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRWRU5EUW5SRFowRjNTVUpCWjBsVlJYTm1RMFJoUjJsSmFrMVVhREptVjJKR1RrUlBOMDEwYTBOdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFU1RGTlZFbDNUbnBSTTFkb1kwNU5hbGwzVDBSSk1VMVVTWGhPZWxFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ0VUdSSVIyOW1RelJ6WjJGM1JXODNlak5UU2xRdlFYbDBPVVZTYURSaVozaDJUMHdLTjJKMVRWWXJaVU55UVhjeVoyMUlNMnhaUkZKNVFVaFNaRU5yVTFBeVMxRjFlbXBSUVhOcVNqRTVURnBEY1hwM05rdFBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZRYzBNMUNraGFWRWt6WjI0d2FuRXJRbEZxY1RSeU5WTXlUMmR6ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOVplbEpyVFVkU2FrNVVXVEpPYWtacFdWZFNhVTlYVG1wT1JHUnBDbHBIVlRKT1JHUnNUVVJvYlZwVVRtbE9SMHB0VG5wUk1VOUVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2xhUjFVeVRrUmtiRTFFYUcwS1dsUk9hVTVIU20xT2VsRXhUMFJCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMWw2VW10TlIxSnFUbFJaTWs1cVJtbFpWMUpwVDFkT2FrNUVaR2tLV2tkVk1rNUVaR3hOUkdodFdsUk9hVTVIU20xT2VsRXhUMFJCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZE5NRnBFUW1zS1dYcFZNazVxV1hoWmJVWnJXV3BzYWxsNlVUTlpiVkpzVG1wUk0xcFVRVFJhYlZWNldXcFNhVnBxWXpCT1ZHZDNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOZWtrMFRrUlJNazlFYXpSUFZGRjJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtOUVhbEo1WVZWQlFVRlJSQXBCUlZsM1VrRkpaMDB3UjAwMFVtVlNNSEJHVjNjM1YzZ3ZZblY2YldsWFNuRjJZVnB2VFZRdmVHWkhiSEJNV2xKdE1XTkRTVWRWVFdJck1HbFNVWFZyQ201RlMyOVJZa3NyTlVSMlpVMXZNMEZETm1wRmNIazBia3hWV0d4Q1lXUk9UVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlZMEZOUjFGRFRVWnZaSEptTUdvS1dEQlpRbHBvZEhKSWIyeFJiRTk1WjNkd1lWUkxaa2x4UldReFMzTkJSVUpIZWtWbGVXZHNaa1JrWlVOMGJteEtjWGxxUXpKUllXSlVaMGwzVFZOS09RcHlRWFYzTHpkS1RVZDFVbmRMV0RkVFRqWjVNVEJrYWpaaVkyZHlWMGd4YURGd1RVOXdVbXRFZG1sUE0xVmpUMWMyUkRkWlN6QlJTbWcyYzBrS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgRIyiiGiz024oUd3PbWjmpU4Y6+JvU70/lSZrsvLelY0CFF9e0UyujyckpCkQ8/3pRK36GnSgGA8yMDI2MDgyNTEyMDc0N1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI1MTIwNzQ3WjAvBgkqhkiG9w0BCQQxIgQgakL2LLBSBy+oQUb+Pe25PcygEP3fQJZCV+Gtb6iAf3IwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwMkmYobhjvzAoBXodVkDPISEvVJD2D8VPMKig4/BXuTpd0ZUS22yF79X5tHAMOkNmAjB/7sdz/RW1HEIQ3AN1fMQwpJY7iKj5JDvrcHaXrQJZczm6BnMfClNitGhQzvaOzDY="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"c1CYek+waHtGHKMi48vFr/fOrdjw3HLUQueUQ01yG3Y="}, "signature":"MEUCIGOALgEb7LhBlgOBJjYVHp1I6lfHTFzjVcW7ILof/e4pAiEAnzK5Dfblav+5naWlxuuSiqQbtBcyhq9pXoLO0oKtxuQ="}}
|
build/torch213-cxx11-xpu20260-x86_64-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
|