kernels-bot commited on
Commit
1e2eecc
·
verified ·
1 Parent(s): e29af9d

Uploaded using `kernel-builder`.

Browse files
Files changed (44) hide show
  1. .gitattributes +6 -0
  2. README.md +3 -3
  3. build/torch210-cpu-x86_64-linux/__init__.py +27 -0
  4. build/torch210-cpu-x86_64-linux/_ops.py +9 -0
  5. build/torch210-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  6. build/torch210-cpu-x86_64-linux/layers.py +59 -0
  7. build/torch210-cpu-x86_64-linux/metadata.json +33 -0
  8. build/torch210-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  9. build/torch210-cpu-x86_64-linux/symbols.json +126 -0
  10. build/torch211-cpu-x86_64-linux/__init__.py +27 -0
  11. build/torch211-cpu-x86_64-linux/_ops.py +9 -0
  12. build/torch211-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  13. build/torch211-cpu-x86_64-linux/layers.py +59 -0
  14. build/torch211-cpu-x86_64-linux/metadata.json +33 -0
  15. build/torch211-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  16. build/torch211-cpu-x86_64-linux/symbols.json +126 -0
  17. build/torch212-cpu-x86_64-linux/__init__.py +27 -0
  18. build/torch212-cpu-x86_64-linux/_ops.py +9 -0
  19. build/torch212-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  20. build/torch212-cpu-x86_64-linux/layers.py +59 -0
  21. build/torch212-cpu-x86_64-linux/metadata.json +33 -0
  22. build/torch212-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  23. build/torch212-cpu-x86_64-linux/symbols.json +126 -0
  24. build/torch213-cpu-x86_64-linux/__init__.py +27 -0
  25. build/torch213-cpu-x86_64-linux/_ops.py +9 -0
  26. build/torch213-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  27. build/torch213-cpu-x86_64-linux/layers.py +59 -0
  28. build/torch213-cpu-x86_64-linux/metadata.json +33 -0
  29. build/torch213-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  30. build/torch213-cpu-x86_64-linux/symbols.json +126 -0
  31. build/torch214-cpu-x86_64-linux/__init__.py +27 -0
  32. build/torch214-cpu-x86_64-linux/_ops.py +9 -0
  33. build/torch214-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  34. build/torch214-cpu-x86_64-linux/layers.py +59 -0
  35. build/torch214-cpu-x86_64-linux/metadata.json +33 -0
  36. build/torch214-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  37. build/torch214-cpu-x86_64-linux/symbols.json +126 -0
  38. build/torch215-cpu-x86_64-linux/__init__.py +27 -0
  39. build/torch215-cpu-x86_64-linux/_ops.py +9 -0
  40. build/torch215-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so +3 -0
  41. build/torch215-cpu-x86_64-linux/layers.py +59 -0
  42. build/torch215-cpu-x86_64-linux/metadata.json +33 -0
  43. build/torch215-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  44. build/torch215-cpu-x86_64-linux/symbols.json +126 -0
.gitattributes CHANGED
@@ -149,3 +149,9 @@ build/torch213-cxx11-cpu-x86_64-linux/_rmsnorm_cpu_89d4054.abi3.so filter=lfs di
149
  build/torch214-cxx11-cpu-x86_64-linux/_rmsnorm_cpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
150
  build/torch213-cxx11-xpu20260-x86_64-linux/_rmsnorm_xpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
151
  build/torch214-cxx11-xpu20261-x86_64-linux/_rmsnorm_xpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
149
  build/torch214-cxx11-cpu-x86_64-linux/_rmsnorm_cpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
150
  build/torch213-cxx11-xpu20260-x86_64-linux/_rmsnorm_xpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
151
  build/torch214-cxx11-xpu20261-x86_64-linux/_rmsnorm_xpu_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
152
+ build/torch210-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
153
+ build/torch211-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
154
+ build/torch212-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
155
+ build/torch213-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
156
+ build/torch214-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
157
+ build/torch215-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -12,13 +12,13 @@ This is the repository card of kernels-community/rmsnorm that has been pushed on
12
  from kernels import get_kernel
13
 
14
  kernel_module = get_kernel("kernels-community/rmsnorm", version=1)
15
- apply_rms_norm_forward = kernel_module.apply_rms_norm_forward
16
 
17
- apply_rms_norm_forward(...)
18
  ```
19
 
20
  ## Available functions
21
- - `apply_rms_norm_forward`
22
  - `apply_rms_norm_backward`
23
 
24
  ## Available layers
 
12
  from kernels import get_kernel
13
 
14
  kernel_module = get_kernel("kernels-community/rmsnorm", version=1)
15
+ apply_rms_norm = kernel_module.apply_rms_norm
16
 
17
+ apply_rms_norm(...)
18
  ```
19
 
20
  ## Available functions
21
+ - `apply_rms_norm`
22
  - `apply_rms_norm_backward`
23
 
24
  ## Available layers
build/torch210-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch210-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch210-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8bc1b02fc9c9c12086a96288f25b00ac712c9e0ce079310f769bcc2b618337c7
3
+ size 162296
build/torch210-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch210-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "i8GwL8nJwSCGqWKI8lsArHEsngzgeTEPdpvMK2GDN8c=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch210-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"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"}, "tlogEntries":[{"logIndex":"3334248398", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486375", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDGOUiSN089lSu4zIVkpQgCrfcjM0ctTSv2WQz/02jQ3AIgZ4ebvn/gbYnMvotFwtGykvEyUd/L5rJ0RqQfjBKOGs0="}, "inclusionProof":{"logIndex":"3212344136", "rootHash":"ynMKOSIgmBYnQ07wkjBV/dz4azfmWybnOQvXqaTR0Z4=", "treeSize":"3212344198", "hashes":["E5nHM7rwEbS/Jx5vEVsBAbLCufmlG274eEkxFuHJJ44=", "xsieIHRMyF9be7tOP6SrniOtZCrUWT6Uf53hA4IpwE0=", "PIy+m4vYiTBMd/8IUYNXYT10xuTqhXnXyMCHwtebMgw=", "O6KvIOI8+CMkU8Pe6tkYbfpHSJtltPk6eYd1WyYRTG4=", "Kc+Df1ulYP8COjOtwbgor+V92XvumCq+QiT8YGbhSC0=", "Vw2GiI8PuUGH5bd2x3ZtBuw48V86NlfxFKaIbG3TLaw=", "CVZWLicOHQsfLPD9ELbLj1jDsZ5xlGa+UrwTf0prb4E=", "fwJR/+78DJkz7Gae7nzbyqN6EcUj0P7LGjdajYvQRS4=", "12J4F2DKZkX/E1jLkATbulSn/0fepB2/zacBSJ1KiWU=", "VpS2IZYZtdrQ9a+UIO7FRWgcxh7B7ODCJvE4Ia13lno=", "fvqyTW1xZ2r3fAWd4utyP8XMtLs5Nr5puX1yeDePXs8=", "lc0FEOjCcLQL/vdsg6aTHVpXrYhp+6y7widHgCIU2qY=", "3qFzoNcwsFHlO0Jr53idQbDBxut+ZbrCMFObDRQjoVk=", "GXRYQwDmzTLeAHfRArmNCk0QZSDlxQFpXjF7IF5e1wY=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212344198\nynMKOSIgmBYnQ07wkjBV/dz4azfmWybnOQvXqaTR0Z4=\n\n— rekor.sigstore.dev wNI9ajBGAiEA+VZ054VKWS3yWtYQNP40HZasL9Y3qOqLk10AL6cwJO0CIQDVfUgKvU/T3Su9WzKll91ZncvQSb4gMDzqWRVeSRiznA==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkMjdhMWE0YjExMTM3OWY4ZjFkMDAyNjA5ZDZkZjFlYTY4NWMyZjE0MDQ2ODAzOTI4NzkzNDA3Y2FjNmQ1YzEwIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJR2xNYXkyWFkwd0tFWit1Rno1TFNTZ0NjNkprMENTVG9lek1YdStDTTVya0FpQlRJdDhaUkVlWHRxRW9WaXRlTno4ZW9yZHpaaFlOMjNSZzEvUFNIZEo5enc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExha05EUW5KSFowRjNTVUpCWjBsVlJVOVFXa1F2VWxKbFJYSkpNRkJLVTJ4R2FrUjNUamwyVkhoWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUV3BWTUZkb1kwNU5hbGw0VFVSSmQwMUVhM2ROYWxVd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZKTTBwMGQyMXZiREJMUVZsMk9VZHFZMlpsTlVneGIzQlRabEJUTVZBMVNscG5haklLVjBwbk1qRlpibGRpY1RoYVlXWXdiV2t6Unl0bFNFMUdXUzl6U2tGcmMwVnVRekZWVWpRMmEydFljSE5xYjNCVlN6WlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsT05ubDNRVUZDUVUxQlVtcENSVUZwUVhONFJDdDNVSFJEYlVWclREUnJOMEYzV1RnNWJFWnFkbEp5U1ZKMlpXSkZTZ3BZTVc5dGVXMUlPSGRCU1dkU1Rua3liazAwYzJjdlVsZFBiekIxY3poek4yZ3JXak40VDBKWGRuSjZWelZyY1ZZMWNWbHFSVEpOZDBObldVbExiMXBKQ25wcU1FVkJkMDFFV25kQmQxcEJTWGRRTmxWR1UwNXJWMlZtY201NmNHeHFUSGRqUWpOcFEwVXJhVVJaUnpoYVdUZG9NMjQxVEhoRE5DdHRiVEE1UTA0S1pHTkRXazFUV0ZWTVJGRnphVGhLWVVGcVFXWkJNVVpyVjI1RFdpdDBVV1pYVG1KRGFDOW5WbFpMZWpGT2VHUnZOM0pyVWxkNWF6RlpkM1F3VDAweVJBcHBMME5JUkRSeVJHUk9USEJQYW1SWmVtdHJQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgmlTFW/fMOjsve6LveBIwJwrcdaPK3FC++c9FtTkdhkECFQDghgtJwxvxAtCDhX65BVxHLPD/lRgPMjAyNjEwMjAwODUyNTRaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAyMDA4NTI1NFowLwYJKoZIhvcNAQkEMSIEIA6czIV3eEEmo/y2aXL9TBuxcblGWiiznjKxYCI0we9OMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMF7t4EnIYI9aGcm6xEd4kkkfGPL9hHKTgJBei3cIFXRHPGpwR+FSFv1V0Lo+AIEYFAIwZ8DWzZ10b4EsYh5Vc8RFcdCSs5vzBLP/SaIRlWiH8saAxIpN/EcLVOsKN2WzPYR/"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"0noaSxETefjx0AJgnW3x6mhcLxQEaAOSh5NAfKxtXBA="}, "signature":"MEQCIGlMay2XY0wKEZ+uFz5LSSgCc6Jk0CSToezMXu+CM5rkAiBTIt8ZREeXtqEoViteNz8eordzZhYN23Rg1/PSHdJ9zw=="}}
build/torch210-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }
build/torch211-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch211-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch211-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cf1ca0f9c90f38eccf76c1eb02a4bd4cc6146bc9ecc1adea25e1c51c1740ae15
3
+ size 162296
build/torch211-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch211-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "zxyg+ckPOOzPdsHrAqS9TMYUa8nswa3qJeHFHBdArhU=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch211-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUfbiTSJwu64QinRchWkOw0XnpHbQwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDIwMDg1MjU4WhcNMjYxMDIwMDkwMjU4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeU6vh43MxP2P+rvTP9U25IxmOn96I8J4WvRYIxAxvQq1apWzyje3I2n2q2YkOirjpti6edZD183WfMK/AmwyFaOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoNTlhYzJmOWVkZDE5NDE2ZmJlZWI4OGNiMDBhMmI1MjFjNDEyMjgwYTAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTM5NTExNzUwMy9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhWIOMBAAABAMARzBFAiAt42VnOyv4OWBTJRHTDrPA0uV+3g6LzUICvjDdcJqrfAIhAMLmXHDqM8orI+KHzP1ACeMv1BhZmS3MadU0xzKM9Z2JMAoGCCqGSM49BAMDA2gAMGUCMCvJfyomkzTnes/4oZ3QYbTQnric7cEzgsQRs/yGP9k4bQfjhEzC7FQoIEM3fK2LSAIxAK1oaKH30grO6sS0npdIfkaSJXPfHf7+5Mc3ruWfT1KhGc3kfZXS6UQwN5YuI4hN6A=="}, "tlogEntries":[{"logIndex":"3334249134", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486378", "inclusionPromise":{"signedEntryTimestamp":"MEUCIE+x1p4F1RmlIKSYTCuCoO/vUHqxCvXz8UNP8a37zJhoAiEA+DYxBXrGDEfSeqxWUmgH65D2XT5uSXfbc2VWobsInV0="}, "inclusionProof":{"logIndex":"3212344872", "rootHash":"fMmkqSqiCVzYhozIDD4AzW2Ay7dtSeSF5M3VOL7C+AY=", "treeSize":"3212345498", "hashes":["x3xc3Wa2N2BE1ayEropFGZu44iCN/mZYHWJLUAWFTWU=", "SJaWGMBSUsJl4smsfbrj9+iRCzaOBRdKUpCF0UyzI6c=", "bgusT59TMZbFqKREiXemaiM62vnfRm30Mj5Gd+b/OQA=", "5zSFNW34eutEcWbfWfBAy6ya4haqFojLWeBFBbLPHD0=", "v0clySz5MBrocFK1Ps3Mjsyc5Kmmdj143d4s1COGz2o=", "P+FmZS687i9EiZtr9cKhPHTP+e6LSsExN11Er9BcBTY=", "zZAfu/Duf3Cyxh11/hQmCQE92nuH3XfcMK/KePYUKhY=", "ii2kWnTvidymSBEpAz6fmnVLvy1s6pl+Pwe/7sKk1qg=", "28A34ZSx5reb00UpW/aUiQ2k8DbIILNVW+qzn1BC7as=", "zrZ9FTJtjj6LfnDEfk2ZcSL6ijQOnDgZE9Oz+bE4HZg=", "h6eK2S7f4IHJ5AUGif1kfiPY2g/ctLGGzUxFntTk2A0=", "fvqyTW1xZ2r3fAWd4utyP8XMtLs5Nr5puX1yeDePXs8=", "lc0FEOjCcLQL/vdsg6aTHVpXrYhp+6y7widHgCIU2qY=", "3qFzoNcwsFHlO0Jr53idQbDBxut+ZbrCMFObDRQjoVk=", "GXRYQwDmzTLeAHfRArmNCk0QZSDlxQFpXjF7IF5e1wY=", "fIwvlkxa1NTnACUzUPQyHqdE6LBfx4/V2tSLPPuKCJ4=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212345498\nfMmkqSqiCVzYhozIDD4AzW2Ay7dtSeSF5M3VOL7C+AY=\n\n— rekor.sigstore.dev wNI9ajBFAiEAxYfpE4ZLKcIp79nZMBNNHQ5b6d1YWaf6nFCEv820JSACIDvrnOqC/Mlaibrmx9w7tP/L9AgUGyoPwYT8Q2nRAjCO\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3NGI0MGVkNWZlZmU0NmRkM2I2YmY0OWY1OGE1ODExNzdkMjhiNmY4ZTEzZmYxYzU0ODU5NjFhMGQ4OWU3YWQwIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRUU1RGk5RnBBazlYZjRIb1JSWmllTFZHV2JOWnJ6N3R5d0N5WEFlNzRsNUFpQjgzNnhoeENoTFFQU2k4VEVySWlyZDVpdUI0cld3dEg2aTJxQWtIdlordlE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlptSnBWRk5LZDNVMk5GRnBibEpqYUZkclQzY3dXRzV3U0dKUmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUV3BWTkZkb1kwNU5hbGw0VFVSSmQwMUVhM2ROYWxVMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZsVlRaMmFEUXpUWGhRTWxBcmNuWlVVRGxWTWpWSmVHMVBiamsyU1RoS05GZDJVbGtLU1hoQmVIWlJjVEZoY0ZkNmVXcGxNMGt5YmpKeE1sbHJUMmx5YW5CMGFUWmxaRnBFTVRnelYyWk5TeTlCYlhkNVJtRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsUFRVSkJRVUZDUVUxQlVucENSa0ZwUVhRME1sWnVUM2wyTkU5WFFsUktVa2hVUkhKUVFUQjFWaXN6WnpaTWVsVkpRd3AyYWtSa1kwcHhjbVpCU1doQlRVeHRXRWhFY1UwNGIzSkpLMHRJZWxBeFFVTmxUWFl4UW1oYWJWTXpUV0ZrVlRCNGVrdE5PVm95U2sxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OUTNaS1pubHZiV3Q2Vkc1bGN5ODBiMW96VVZsaVZGRnVjbWxqTjJORmVtZHpVVkp6TDNsSFVEbHJOR0pSWm1vS2FFVjZRemRHVVc5SlJVMHpaa3N5VEZOQlNYaEJTekZ2WVV0SU16Qm5jazgyYzFNd2JuQmtTV1pyWVZOS1dGQm1TR1kzS3pWTll6TnlkVmRtVkRGTGFBcEhZek5yWmxwWVV6WlZVWGRPTlZsMVNUUm9UalpCUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg9tmllZV/xVIP2y7/j9EfxLzPBmzNw0yikUYEdQomO6wCFQCq2ZhVB7elVFRgekS30ZJNF/fbbxgPMjAyNjEwMjAwODUyNThaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAyMDA4NTI1OFowLwYJKoZIhvcNAQkEMSIEIA+xGxMHZWA1gsthM175iYkPpF/XNd1jT0qRR1I6O1WZMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQDiTPbE55UJLiZm90CqcNNvBMo++WABigVGPZdujaKOpVpfG6e+OQShdhm2Ix8+GFwCMGpnLtr4earLK19oEm6XrgcF9i0SrQ9k5Ys1Dd2Bbix3lkKhKGSXPK5E13jPihlmrg=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"dLQO1f7+Rt07a/SfWKWBF30otvjhP/HFSFlhoNieetA="}, "signature":"MEQCIEE5Di9FpAk9Xf4HoRRZieLVGWbNZrz7tywCyXAe74l5AiB836xhxChLQPSi8TErIird5iuB4rWwtH6i2qAkHvZ+vQ=="}}
build/torch211-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }
build/torch212-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch212-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch212-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e2ca80be18daa9d3cce9e9d734740e580ee66cd5a0214fc06b7e71933a8d809
3
+ size 161760
build/torch212-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch212-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "HiyoC+GNqp08zp6dc0dA5YDuZs1aAhT8BrfnGTOo2Ak=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch212-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrGgAwIBAgIUcvIrCvyRNS0tjQR9rnPPu1ESxkEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDIwMDg1MzAzWhcNMjYxMDIwMDkwMzAzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXywP3fMolOxBfpotwNxkYV/+gnpE/s1JkPe7lySeyT/vDlQn4LMDrMTbDIqm6kL661SF2B1LKEAI2qOvi1H7naOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDCg1OWFjMmY5ZWRkMTk0MTZmYmVlYjg4Y2IwMGEyYjUyMWM0MTIyODBhMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoNTlhYzJmOWVkZDE5NDE2ZmJlZWI4OGNiMDBhMmI1MjFjNDEyMjgwYTAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTM5NTExNzUwMy9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhWIOd5gAABAMARjBEAiBZ6XczetJJVRnvntHwd9jAITjUCFO6kHOqTiONKNWTZwIgUQPznu7hO3VzgnrpMCXgvXEkdyDjoC1dvKugcKdWsGEwCgYIKoZIzj0EAwMDaQAwZgIxAOXFROfRi01aUTQEBWxgcAcZZocunpF7s+fKKpDvRZdJhYGRkyJivScEVL1Ij4GZ1AIxAPg7hk/cXceIbMx+XtpsOSriHwgyprjYQ24g/PeXunWTdoPaZLY4ijaWXobpOgdmiw=="}, "tlogEntries":[{"logIndex":"3334250663", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486385", "inclusionPromise":{"signedEntryTimestamp":"MEQCIAOI5zCWm6WvyeE/AaAnDyyWsqfNWrwM/F25QvYRzbuxAiB3y3JHH988cESWXwz8HO1d9LSItLjY9q8FbOT2CrSXEQ=="}, "inclusionProof":{"logIndex":"3212346401", "rootHash":"0jUiTtdrbpVgzEA+a0r9t0L9N8msecBz4h3K9+NZRMM=", "treeSize":"3212347596", "hashes":["11YuFP1AtvU7LL56PR4Hbkyv0OHO5tYYi9AwLkg38Oc=", "gXmf9UyHpAWX0UGc20Z+V5c6EhsmfPXzp6lek7MKYcc=", "obDGU+hd22hAZv2rPPJnHw57wLW/WMulC60nVte4i78=", "JIdCtoXJp5mvKWxoJNFqsEpSRG+xxHBqoKthqKbn66M=", "hlnfIUx/8PWD2/CETZmzumLLWjwmx9YKiQoN/r7p5pA=", "zGCHgD/YZvRCAZ+TNgAGIZFwYCxzyexR0E3dSey6WbY=", "oAQiYxP09dwKi7o6AnJqeuQJewVDAqm0mQmpNUfPJ50=", "zwdiPTNGRpeCwITTXSzjugMlRHRsYxUzkeYpXY0sFaE=", "aeeWjK2AdhGzsjNI8sW7aPiGcCrUoZC8vLqtoYWrr6w=", "yGh2vYCJKLu/Bg3ZztTLRq7SfLiPjJlUfQJJbzGS28I=", "pvryv32b/OAchHMBh6xwsY0Jatp1QOwptMp/AkgI5TY=", "D1HK0jTXq6gUQlxngKu3MP85mHWGNoUsgAdpBDO0tuo=", "vL2UsCTV6iQaa5VYe8SpdMJWeQ3hjoe76B94a3RVa2s=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212347596\n0jUiTtdrbpVgzEA+a0r9t0L9N8msecBz4h3K9+NZRMM=\n\n— rekor.sigstore.dev wNI9ajBFAiEAljfGa1Z15s2v8eytEd2DY7wh+gjcDq32RtyjKC+seekCIEjs4K2QckmGuBtonZT/BsuAaR0wwlbqxd1gSebm+KtI\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzYzc5OGY0Y2MwMjg0M2FiYjBmZjhhYTJkNjYyMzhiNDc5MWU2ZTlkMGI1OGMyYjg5YjcyYTFiNjIzZjViNmUxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURmNTcvQmllOHpIUGJOZlZFZXcvaWZ3T0JMSUt5bm9iK3FhNS8vN3FUMVJBSWhBTU41OGxIV3QydkN4alVHOTdqc011aUgwb3ZQVmovL0tBaWMwdmFTOVJ5dyIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KSFowRjNTVUpCWjBsVlkzWkpja04yZVZKT1V6QjBhbEZTT1hKdVVGQjFNVVZUZUd0RmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUWHBCZWxkb1kwNU5hbGw0VFVSSmQwMUVhM2ROZWtGNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZZZVhkUU0yWk5iMnhQZUVKbWNHOTBkMDU0YTFsV0x5dG5ibkJGTDNNeFNtdFFaVGNLYkhsVFpYbFVMM1pFYkZGdU5FeE5SSEpOVkdKRVNYRnRObXRNTmpZeFUwWXlRakZNUzBWQlNUSnhUM1pwTVVnM2JtRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsUFpEVm5RVUZDUVUxQlVtcENSVUZwUWxvMldHTjZaWFJLU2xaU2JuWnVkRWgzWkRscVFVbFVhbFZEUms4MmEwaFBjUXBVYVU5T1MwNVhWRnAzU1dkVlVWQjZiblUzYUU4elZucG5ibkp3VFVOWVozWllSV3RrZVVScWIwTXhaSFpMZFdkalMyUlhjMGRGZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVZGQmQxcG5TWGhCVDFoR1VrOW1VbWt3TVdGVlZGRkZRbGQ0WjJOQlkxcGFiMk4xYm5CR04zTXJaa3RMY0VSMlVscGtTbWhaUjFJS2EzbEthWFpUWTBWV1RERkphalJIV2pGQlNYaEJVR2MzYUdzdlkxaGpaVWxpVFhncldIUndjMDlUY21sSWQyZDVjSEpxV1ZFeU5HY3ZVR1ZZZFc1WFZBcGtiMUJoV2t4Wk5HbHFZVmRZYjJKd1QyZGtiV2wzUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgRIxRTt3ZbN3XoEQlU/vdwOESZvsv/iRKq7Qt5sRfgWICFQDcDKGwO/gBnCNFSsYY7RSM1UitAhgPMjAyNjEwMjAwODUzMDNaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAyMDA4NTMwM1owLwYJKoZIhvcNAQkEMSIEIDId9qHIynwS0gDtcZ+wq5tet8A9qOVZA5CtGNGp5iNIMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMAqKhkdwYaAH/FW6kb4XAYtL5BaPEVVdUVZrYnOLFMB8HJaRGX10UMEkzNA5wPEyTQIwD/Q1GMZYnFy1jtYl9fDE6Bfpjk2d7i4dEKDj0A4B0++hAAxpyM10JuUUIcfOarz6"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"PHmPTMAoQ6uw/4qi1mI4tHkebp0LWMK4m3KhtiP1tuE="}, "signature":"MEYCIQDf57/Bie8zHPbNfVEew/ifwOBLIKynob+qa5//7qT1RAIhAMN58lHWt2vCxjUG97jsMuiH0ovPVj//KAic0vaS9Ryw"}}
build/torch212-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }
build/torch213-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch213-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch213-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c096bc1c1d38b4d506e23dd887a32fe19b14513047c536486cab24cf9f6fe88
3
+ size 162120
build/torch213-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch213-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "DAlrwcHTi01QbiPdiHoy/hmxRRMEfFNkhsqyTPn2/og=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch213-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"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"}, "tlogEntries":[{"logIndex":"3334253432", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486397", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDtDxXPFipgdjpBnLJKBqBTE90fW/RKaIOBBtqQxIUoDQIgapGsq9Dz2lBNNECk6MHJ2BBs+Fx1T+jFZczKG1OeflM="}, "inclusionProof":{"logIndex":"3212349170", "rootHash":"cgWif8LZpTrlDBVGvNSknZZl4vYMs+0TAxKn+DYCflY=", "treeSize":"3212349349", "hashes":["QkRqohGQk7Xv6YBBhBdjl1BrNlEY1GnXWGYuVHyoMaE=", "e+Lle2cYa2qkZhCrNKpKrz2hIMJupv1jQDC6xjla7QM=", "6A83BljeHhPkMajx4ki/4w7iEbHdFrBeZQwil5VpCqE=", "8c694KYAT8tBDBis6vdHgVmGqXGyg9C2g89NxXIwmHs=", "RrnCm3XukkkChHkxvu4WsZIZa9WVjNV75GKakv2oh+0=", "Fl7Siaht/Rsu4RS3gW4iH40YQGNrHm83sgDMxLlPKdY=", "oH57pSzXXesYGbNsu6gC3zcsBIMbKyZSZa9T/ZPeM5M=", "CkYjiMdlR2/AGqapCzr/bHSxTOKNIdIfFlXRX/Ky0bk=", "4VJuc99YwWHqIHEpZBt//IAZSu3CtfcG9xTolLf/tyU=", "pHH9RX7/TG3YLg1/yv18HT0kJxjYgsHXEOOVUA0fiSU=", "TFhu7qE3GcP4fmtqjiEhtIXJEaHFFhB7rgOFleVY5Ag=", "VHa+bbBD7kSHfaw+qSBMefZc0CW8GKUDALrJrZdBNoM=", "vL2UsCTV6iQaa5VYe8SpdMJWeQ3hjoe76B94a3RVa2s=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212349349\ncgWif8LZpTrlDBVGvNSknZZl4vYMs+0TAxKn+DYCflY=\n\n— rekor.sigstore.dev wNI9ajBFAiEA6jG+n654qiBlCv3cg5rEBFRdgO6MMCocu1fnmbwRUf4CIAxYBLkhN5qOEDvOm4iWVgnKc8CZYA4Lx2g8/fGOXkZh\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkOTc0YTJjMzdkYmVjN2Y1Y2ZlZjhmMGI5YzgxM2QwNzhhNTg4MmE3Mjc0ODQ4ODNkZjYyOGE4N2M3NDY0OTdjIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURYMmtNdmNsOWdOZStBdjNIcHNncFZvSUQxYVN4Q1RSYmY2a2Q2L1NHVTVBSWhBSnNFdWVXSFRycHluODZ6UjVuWEUyeTMrNithRGdTTmd1SU9Nb2IrbFZhYyIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1WRU5EUW5KUFowRjNTVUpCWjBsVlZqSldhalp6V1RoWVkwdEJhbWhKVEd0MU1uTTJZek0zUWtRMGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUWHBGTWxkb1kwNU5hbGw0VFVSSmQwMUVhM2ROZWtVeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ0Ym5reGMwRmFLMHhqVWtwWGFXZG9PRXBSWjJkSU9FRlBPRU5OTlU1UmFtMUhabFlLZFdsM1RYRTFTbXhXVEdGRk1YVXhiRU12WVdReFdFZHhNVlpsY21oTVlYWkJiVTB4TW1OQlVEbHpVMG8xT1hSNVlqWlBRMEprU1hkbloxaFBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTUNrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NEQkZaWGRDTlVGSVkwRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsUVZFUlJRVUZDUVUxQlUwUkNSMEZwUlVGNGEySmxkemRYVjJzeFUwZ3haR2RKZW5GeFVHOWtZVVpxUjJReVluaFFZUXB0VkZaWlVXSXhSSFJGTUVOSlVVTXlZM012UkN0YVduVjBSVGMxVmsxWmVrWkpja0p4ZURCVVlUUnZVa1k1WlVaNlRTdDVhRUpqZW5OcVFVdENaMmR4Q21ocmFrOVFVVkZFUVhkT2IwRkVRbXhCYWtKR1EyNVlaWGh1TVcxWmFHRkJSVGhZV1daNWVtSnhiVVJMZDFKclozQllTRWxzTTJwRFdtUm9RVlUySzFjS09YaFhXVmMxVkhZdmMzZFdRVkozYlVSc1NVTk5VVVJqZG0xWU5VMHZXSGhTVGxWTVpVNUpUa0oyYkhGa2JVdHFWMDk2Ym1waWFWUjNTVko0YW5BMWVncEZiMHRrWkZwb01rOVFTbXREY2sxWVYxVnpTWEZWT0QwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgUwgQuW0v77iijIhYAUpHph2wklQUtSkEvMQQsXRSOoUCFQC8nYI9oK1OGeuIexHBpEgWCvOd3hgPMjAyNjEwMjAwODUzMTZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAyMDA4NTMxNlowLwYJKoZIhvcNAQkEMSIEIB52tFVP4wAShrwOkALWbKWQ6X54vAxiiUFk45WSeoaZMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQCOItsiQt9LqfspF8FK42SXf8Xo/5fiHoOdtwIdQUPzR/W88CGp5n8HvmR4/2F6nawCMBf9a8LjH9/qS5hOXT7IiOVKxOJ5lkXXdOMeLKMVzVQKZhz5LLGoQQdJkJFgF6Y5yA=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"2XSiw32+x/XP748LnIE9B4pYgqcnSEiD32KKh8dGSXw="}, "signature":"MEYCIQDX2kMvcl9gNe+Av3HpsgpVoID1aSxCTRbf6kd6/SGU5AIhAJsEueWHTrpyn86zR5nXE2y3+6+aDgSNguIOMob+lVac"}}
build/torch213-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }
build/torch214-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch214-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch214-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34f15020ae7cda49b16ad7c8126399dfd1ca3cabb948df8e2c875fa1d7762fdb
3
+ size 162120
build/torch214-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch214-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "NPFQIK582kmxatfIEmOZ39HKPKu5SN+OLIdfodd2L9s=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch214-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"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"}, "tlogEntries":[{"logIndex":"3334254890", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486403", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQC1m+hm7jrj2na1xgrKzCsc5Vd1PMqXoHDuNi6c2UoD8QIhAKHZdSrpdfg+hVbydCl3mhe+LsMwrkJStSTadrepquHK"}, "inclusionProof":{"logIndex":"3212350628", "rootHash":"+1eXKk4l9npkij5I42jO/56FZVuyw11yhXpavwFZHyA=", "treeSize":"3212351377", "hashes":["8EK8ewuVqpA49udgnp/zI0JMICuHknpRHVoH9rFj87k=", "xMTExzRkqawMsPmZXlBNlo71nUrd0RodL5gjbyHfAU0=", "G8+HLQgP69r2zJMKQqRmtmo9YcyBbCORIXNKdMH8rcA=", "3mPFhCfGDUmeXVPpbLxb/9dNJBxfVdX6+RxSL+frMb0=", "oDQE1AzC1FcnTZpK6n6IWdXnCHruGOnSA/t+qQ3jkR4=", "ybvXnCv93SOKQi/DZjMaX4XCh/JW696LkKTEIiI+vVU=", "XWV65JxgTmMMToTjvHJpDMzOKugGWg01rqj3OeNsQ9E=", "25k4aJ/mpNLxxoAXoV0y4GrX/AEF29MyP+fDdG/3RKo=", "Shd8MYt/UpjjDMFu+PcWTeCuZOHYajBuD66NuSKUKOo=", "9f/SN70A1+OalBtfPfdJ4DfU5YT76ZqmgHBGRL39K/Y=", "uU64xRf1HY1vsrZQp/nO1XxAqdPifClPxjuWtvxg3OM=", "mL7Xe6LCMktwTiFXGPKi5pL11xvjYYTdJ7E5KQtrRss=", "vL2UsCTV6iQaa5VYe8SpdMJWeQ3hjoe76B94a3RVa2s=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212351377\n+1eXKk4l9npkij5I42jO/56FZVuyw11yhXpavwFZHyA=\n\n— rekor.sigstore.dev wNI9ajBEAiBamZe//Q/N4rZGbD9hI3iBhS6qJyJbfrHD+ujrRbxx5wIgHRnvoZ34SnTqkVHzRatOVLZTgiWnpOCz4WEUNjmleT8=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI5ZjUxZWEzYTNiYjhkNDYyM2QwZTgxMGRhOGIyZDhmNmMzZjg3Mzg1MjJiMjdlMTEzMDYxMTU1Yjk1ZmY2YzI1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUQ0cm1SWGhxdkJyOUdSYlNTdE1tYWUwWllwOFVMcU9HQzd3MTNYMWdvZk9nSWdJOWZoeEZPSWpvR0hhOWJMOHRhUXA0V040QTRkK1QrVEhPWmhUakVhM204PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KSFowRjNTVUpCWjBsVlRsWjJVbE5UUlRsaGFrUnpWbGxwWlZwbVJUTmlZa1kwUVhaQmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUWHBKZVZkb1kwNU5hbGw0VFVSSmQwMUVhM2ROZWtsNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZGUTJVeFVUbE9jRWQyYnpWd09ISmpXWFo0ZDAxeGREa3hNMWhFY25aUWMwUkJXRmNLU2pGbk5FSkRlV3BCVGl0a1ZDODBiVkJJYVRsTFNISjVTbGhsYkM4clV6UnhPVWRVYUdWbGEwRlplbWRxVFd4R1RFdFBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsUWIyVm5RVUZDUVUxQlVtcENSVUZwUWs1Wk5YaGhlbTVJTW5aS2IwRTBhR1JTV0hkWGNGVkxjVlpUYVUxbU4weG5iQXA0VTB4SU0yMVpiekozU1dkYVMweExUakY0V0VnMmNYWlRNVGc1UjJocmNrdFRWamR2WmpGNGJVdERTMWR4YkU4emJTdE1jSFZWZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVZGQmQxcG5TWGhCVGtGaVRGQm1VQzlGWVRaaVl6VjBiR3BOYUdKRmNHaDRjMHNyVmtWVlQySlVkWGxvYlhwQ1VtUmFNV1pPUkRrS1ozRnpUV1prUm5RMGJTOWtPVVZzY3k5QlNYaEJUbWxHZFZaNlIxUTFjamRuYUROaWFrcDBPR0p4VEdsMUx6SjVURVppZDB0TU1tbGllRGhFZERWeVN3cFZWelpKV1ZKVVpUTnpjVlJUYkc5VlJVWlBUa3hCUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgKCBLB2KUbUTDLDmGShRJe/Z5Ul+8t7hh79yeGiKY0XECFEXfuyFp6EvqrfY9GEw+J555/uL0GA8yMDI2MTAyMDA4NTMyMlowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDIwMDg1MzIyWjAvBgkqhkiG9w0BCQQxIgQg6usfrHr3t1YamEjWXvdXqEWWWhvcSweCaRCZO8kTxfkwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwGvIHnmRP00IW8O7Tw57yfIIbcC+LssUB6ld5y1cbUq5ODJcY1h97U9odsSnqh6LMAjAiwBzWxQJR5AukrArbhzu2UHEPoaX7JlXlixblmlZ4yB260E2gozeYYEQ0IPB1ZSQ="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"n1HqOju41GI9DoENqLLY9sP4c4Uisn4RMGEVW5X/bCU="}, "signature":"MEUCIQD4rmRXhqvBr9GRbSStMmae0ZYp8ULqOGC7w13X1gofOgIgI9fhxFOIjoGHa9bL8taQp4WN4A4d+T+THOZhTjEa3m8="}}
build/torch214-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }
build/torch215-cpu-x86_64-linux/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from . import layers
2
+
3
+ from ._ops import ops
4
+
5
+
6
+ def apply_rms_norm(input, weight, eps):
7
+ # ops.apply_rms_norm returns [output, rstd]
8
+ return ops.apply_rms_norm(
9
+ input,
10
+ weight,
11
+ eps,
12
+ )[0]
13
+
14
+ def apply_rms_norm_backward(grad_output, input, weight, output, rstd, eps, input_requires_grad=True, weight_requires_grad=True):
15
+ return ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ input,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ eps,
22
+ input_requires_grad,
23
+ weight_requires_grad
24
+ )
25
+
26
+ __all__ = ["layers", "apply_rms_norm", "apply_rms_norm_backward"]
27
+
build/torch215-cpu-x86_64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _rmsnorm_cpu_59ac2f9
3
+ ops = torch.ops._rmsnorm_cpu_59ac2f9
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_rmsnorm_cpu_59ac2f9::{op_name}"
build/torch215-cpu-x86_64-linux/_rmsnorm_cpu_59ac2f9.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f578c6024271db907d1f4cf4211a476b23fe35262f3807d9b34930704df25a51
3
+ size 162120
build/torch215-cpu-x86_64-linux/layers.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from ._ops import ops
3
+
4
+ class RMSNormFunction(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, hidden_states, weight, variance_epsilon):
7
+ ctx.variance_epsilon = variance_epsilon
8
+ output, rstd = ops.apply_rms_norm(hidden_states, weight, variance_epsilon)
9
+ ctx.save_for_backward(hidden_states, weight, output, rstd)
10
+ return output
11
+
12
+ @staticmethod
13
+ def backward(ctx, grad_output):
14
+ hidden_states, weight, output, rstd = ctx.saved_tensors
15
+ grads = ops.apply_rms_norm_backward(
16
+ grad_output,
17
+ hidden_states,
18
+ weight,
19
+ output,
20
+ rstd,
21
+ ctx.variance_epsilon,
22
+ ctx.needs_input_grad[0],
23
+ ctx.needs_input_grad[1]
24
+ )
25
+ return grads[0], grads[1], None
26
+
27
+ class RMSNorm(torch.nn.Module):
28
+ """
29
+ RMSNorm module that uses the optimized LigerRMSNormFunction.
30
+
31
+ Args:
32
+ hidden_size (int): The size of the hidden dimension.
33
+ eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.
34
+ offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.
35
+ casting_mode (str, optional): The casting mode to use. Defaults to "llama".
36
+ in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.
37
+ """
38
+
39
+
40
+ weight: torch.Tensor
41
+ variance_epsilon: float
42
+
43
+ def forward(self, hidden_states):
44
+ """
45
+ Apply RMS normalization to the input tensor.
46
+
47
+ Args:
48
+ hidden_states (torch.Tensor): Input tensor of shape (B, T, H) or (BxT, H)
49
+
50
+ Returns:
51
+ torch.Tensor: Normalized tensor of the same shape as input
52
+ """
53
+ return RMSNormFunction.apply(
54
+ hidden_states,
55
+ self.weight,
56
+ self.variance_epsilon,
57
+ )
58
+
59
+ __all__ = ["RMSNorm"]
build/torch215-cpu-x86_64-linux/metadata.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "rmsnorm",
3
+ "id": "_rmsnorm_cpu_59ac2f9",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "Apache-2.0",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cpu"
11
+ },
12
+ "digest": {
13
+ "algorithm": "sha256",
14
+ "files": {
15
+ "__init__.py": "/ulY9H9OswHp9JHl1OZyjDJFuI/Uuoyiq+e8Swx14wY=",
16
+ "_ops.py": "l1a3DvymOaKP4FEgC+VW0MhnSWDnNEPrhHNkvz3ywss=",
17
+ "_rmsnorm_cpu_59ac2f9.abi3.so": "9XjGAkJx25B9H0z0IRpHayP+NSYvOAfZs0kwcE3yWlE=",
18
+ "layers.py": "8KMmxy30Olm/16XW7vvHAwWNVWcnA8js0nNuoOSGEO8=",
19
+ "symbols.json": "oeLQ1wwvhrKfNCq0/LwHhIn71+VdONzzoRWed5liCMI="
20
+ }
21
+ },
22
+ "provenance": {
23
+ "kernel-builder": {
24
+ "version": "0.18.0-dev0",
25
+ "commit": "d054906a13710b811b96697b4635f03020842733",
26
+ "dirty": false
27
+ },
28
+ "kernel": {
29
+ "commit": "59ac2f9edd19416fbeeb88cb00a2b521c412280a",
30
+ "dirty": false
31
+ }
32
+ }
33
+ }
build/torch215-cpu-x86_64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"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"}, "tlogEntries":[{"logIndex":"3334255961", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792486408", "inclusionPromise":{"signedEntryTimestamp":"MEUCIQDblxx0YQUV0/sexjDOvgjiAdYNWRWSqEuOlb95doNgcgIgF73ak3YO3C77f0g+q3Fzgep0WrRJiSPfQg48htUgQv4="}, "inclusionProof":{"logIndex":"3212351699", "rootHash":"315daEwuTXB/NMLSwwpj083v/Z1zbSXW4G2VWz6kyi0=", "treeSize":"3212351766", "hashes":["GOsHm2H64UsDacg3J3IgkZJZY6AZm395IHrjNTP+ka4=", "42Ot+Q20OI5FimXGi6gHQTR313tELMGdxMx9cu6w9/c=", "ENC7ywahxXkVR0yZScujx6U82cgF18RZbND20jNkRCA=", "SIuRiXYGts0SHsxgJxx+03eZSEmjBNfKA2AYsFAu8bc=", "BqW3xjWTO+hby7xQc2GuUf8i4lxQ+OfcC0lUOGgprWY=", "oMxzZYyLCVjRrpx1uv2+tSkSBVIul99cTCkGkJznSes=", "6aDdlnrYeIMyri77VR7EFUWZMZj0GuLlOLdSVey1KJA=", "r/vOaADaGDisY/C55bViMZlFzh5VtgrMvCObucZQZhA=", "Csp56t2IiTGbbNepNzs8WYHc6DG0y2mp/fFz7rPzqM0=", "faB1pw4KcdhHkn50Wxgo5Qf3Qs1IzTxAWioibOuBzKg=", "mL7Xe6LCMktwTiFXGPKi5pL11xvjYYTdJ7E5KQtrRss=", "vL2UsCTV6iQaa5VYe8SpdMJWeQ3hjoe76B94a3RVa2s=", "aUQBNCV2jU/dfurbyZ32ZF3mXIdblfx3z6ju/tVsc9c=", "POxArWHcWCvTl4A5TsIHhhI0Dv9yexyVJxfdFTxSTCw=", "3aUq4N47Z1/AszcODIxRgusLXNRFZAnHFg6Vur7t22o=", "PwdgHXfl6JMsozFa2gp9OjWOM8+7eYRrqPJa9FEI6k4=", "HovTPBWzoErvUg1u5sIi3x1ZonZ7yJekVsBrmpomCIA=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3212351766\n315daEwuTXB/NMLSwwpj083v/Z1zbSXW4G2VWz6kyi0=\n\n— rekor.sigstore.dev wNI9ajBEAiA+GtdFtZGirXAHcy86WM2Lznf2QykZj1YNC2qPxTjjyQIgS8fMryN4qgvZoSklpQz1hiFGoyVv1Hv9PohN60HRU/k=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzOWFlYmVjYjIxMzZmMTA4ZTQ2NDA5Yjk4YjkzZGEyYWJhYTRiNzliMTg3MDhhYWQ0MmVkYzlhNzIwMjY4ZDk4In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURnR01GOVFGMDNYZW5YREkyVUdwSFdudDN3NFdIb2JZdHJqTlIxTmh3SW13SWdNT1VqNmV0NEpxNmQyWkx2bS80cmNONHVJMW13cmdMZUliekdvelBHbm1VPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExha05EUW5KSFowRjNTVUpCWjBsVllVaHpUVTExYjBabWRqUmpiVXd4VW5BeVp6QndiMkpTVTNWTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFU1hkTlJHY3hUWHBKTkZkb1kwNU5hbGw0VFVSSmQwMUVhM2ROZWtrMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZDZUV4ek9HOXpZbmhMUjNGNFNGSnJiVVpCUjBoTFFtSkZjakZtV1hwTmFWZHBaRVVLVGtSTE5IZFVVRFZqTVVKbmVrdE1Xa2x1UXl0dUwxcFhVek01V0dGMmFFSnljRTlrYW5reVREUmhaMVl2WVRjeVF6WlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmN4VDFkR2FncE5iVmsxV2xkU2EwMVVhekJOVkZwdFdXMVdiRmxxWnpSWk1rbDNUVWRGZVZscVZYbE5WMDB3VFZSSmVVOUVRbWhOUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEWnpGUFYwWnFUVzFaTlZwWFVtdE5WR3N3Q2sxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEWnpGUFYwWnFDazF0V1RWYVYxSnJUVlJyTUUxVVdtMVpiVlpzV1dwbk5Ga3lTWGROUjBWNVdXcFZlVTFYVFRCTlZFbDVUMFJDYUUxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlPVkd4b1dYcEtiVTlYVm10YVJFVTFUa1JGTWxwdFNteGFWMGswVDBkT2FVMUVRbWhOYlVreFRXcEdhazVFUlhrS1RXcG5kMWxVUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUk5OVTVVUlhoT2VsVjNUWGs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVjBsUUwzTjNRVUZDUVUxQlVtcENSVUZwUVVoNFRYaFlNMmROTURsc2JGcHVTM3BwVDNJMWFTdHNPRlE1UTJGS05VZHJiZ3AwVjNkVE1ubHBObXgzU1dkallsSkRNQ3M1WWt4NFMwdENkVUZpVDNReFpFZFBZakJ1YkdzNGNtYzBUMHQ0Tnl0TGVsWlRSMjVOZDBObldVbExiMXBKQ25wcU1FVkJkMDFFV25kQmQxcEJTWGRWWmxoaGIwZDJjR3BYVmxaU1NsbFNkMGRUYVhCVVpsRlJTRVVyVFhOWmIxbHlWWEZDVDBWWVVEWnNhblIzVFdJS1VHWldkVkJqZUM5YVdURk5VVFJWY2tGcVFVWjRlVkZuWkdkT2ExbzNiRGcwV1V4Sk1EbE5jRXhQZWpSV2JDdEJSbkJNWkdsUk9Fd3JaM1pqVTNGMFNncHhSMmx4WkhaWFFsSnlTQzlQZDFOaGVUUXdQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgNvCxFRKc51p5q8rLfNzqZgIdyE0BErR98jmtIVQF6FcCFQCeMez+hz2Y4r1V+r3lGtYcJOYa5RgPMjAyNjEwMjAwODUzMjhaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAyMDA4NTMyOFowLwYJKoZIhvcNAQkEMSIEIE0bdAHRXV1iOT9uDQBncV8tQ1LxTwj7qq2o7JZDuQDrMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMDjjUm3FrnHR1p0caTuMginekWxgA/eobzii9+qi1JSwlzJVE5zN22MaqLzDMjCQZwIwO9qMJx1MAWLtV6MU3zv0ln2mkfSXqklkAGd+MPUTahILnTnHm66dfwum2E1dh78T"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"Oa6+yyE28QjkZAm5i5PaKrqkt5sYcIqtQu3JpyAmjZg="}, "signature":"MEUCIQDgGMF9QF03XenXDI2UGpHWnt3w4WHobYtrjNR1NhwImwIgMOUj6et4Jq6d2ZLvm/4rcN4uI1mwrgLeIbzGozPGnmU="}}
build/torch215-cpu-x86_64-linux/symbols.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_rmsnorm_cpu_59ac2f9",
4
+ "functions": [
5
+ {
6
+ "name": "apply_rms_norm",
7
+ "qualname": "apply_rms_norm",
8
+ "module": "_rmsnorm_cpu_59ac2f9",
9
+ "kind": "function",
10
+ "doc": null,
11
+ "signature": {
12
+ "parameters": [
13
+ {
14
+ "name": "input",
15
+ "kind": "POSITIONAL_OR_KEYWORD",
16
+ "default": null,
17
+ "annotation": null
18
+ },
19
+ {
20
+ "name": "weight",
21
+ "kind": "POSITIONAL_OR_KEYWORD",
22
+ "default": null,
23
+ "annotation": null
24
+ },
25
+ {
26
+ "name": "eps",
27
+ "kind": "POSITIONAL_OR_KEYWORD",
28
+ "default": null,
29
+ "annotation": null
30
+ }
31
+ ],
32
+ "return_annotation": null
33
+ }
34
+ },
35
+ {
36
+ "name": "apply_rms_norm_backward",
37
+ "qualname": "apply_rms_norm_backward",
38
+ "module": "_rmsnorm_cpu_59ac2f9",
39
+ "kind": "function",
40
+ "doc": null,
41
+ "signature": {
42
+ "parameters": [
43
+ {
44
+ "name": "grad_output",
45
+ "kind": "POSITIONAL_OR_KEYWORD",
46
+ "default": null,
47
+ "annotation": null
48
+ },
49
+ {
50
+ "name": "input",
51
+ "kind": "POSITIONAL_OR_KEYWORD",
52
+ "default": null,
53
+ "annotation": null
54
+ },
55
+ {
56
+ "name": "weight",
57
+ "kind": "POSITIONAL_OR_KEYWORD",
58
+ "default": null,
59
+ "annotation": null
60
+ },
61
+ {
62
+ "name": "output",
63
+ "kind": "POSITIONAL_OR_KEYWORD",
64
+ "default": null,
65
+ "annotation": null
66
+ },
67
+ {
68
+ "name": "rstd",
69
+ "kind": "POSITIONAL_OR_KEYWORD",
70
+ "default": null,
71
+ "annotation": null
72
+ },
73
+ {
74
+ "name": "eps",
75
+ "kind": "POSITIONAL_OR_KEYWORD",
76
+ "default": null,
77
+ "annotation": null
78
+ },
79
+ {
80
+ "name": "input_requires_grad",
81
+ "kind": "POSITIONAL_OR_KEYWORD",
82
+ "default": "True",
83
+ "annotation": null
84
+ },
85
+ {
86
+ "name": "weight_requires_grad",
87
+ "kind": "POSITIONAL_OR_KEYWORD",
88
+ "default": "True",
89
+ "annotation": null
90
+ }
91
+ ],
92
+ "return_annotation": null
93
+ }
94
+ }
95
+ ],
96
+ "layers": [
97
+ {
98
+ "name": "RMSNorm",
99
+ "qualname": "RMSNorm",
100
+ "module": "_rmsnorm_cpu_59ac2f9.layers",
101
+ "kind": "class",
102
+ "doc": "RMSNorm module that uses the optimized LigerRMSNormFunction.\n\nArgs:\n hidden_size (int): The size of the hidden dimension.\n eps (float, optional): The epsilon value for numerical stability. Defaults to 1e-6.\n offset (float, optional): Offset value to shift the weight tensor. Defaults to 0.0.\n casting_mode (str, optional): The casting mode to use. Defaults to \"llama\".\n in_place (bool, optional): Whether to modify dY in-place to store dX during backward. Defaults to True.",
103
+ "signature": {
104
+ "parameters": [
105
+ {
106
+ "name": "args",
107
+ "kind": "VAR_POSITIONAL",
108
+ "default": null,
109
+ "annotation": "Any"
110
+ },
111
+ {
112
+ "name": "kwargs",
113
+ "kind": "VAR_KEYWORD",
114
+ "default": null,
115
+ "annotation": "Any"
116
+ }
117
+ ],
118
+ "return_annotation": "None"
119
+ },
120
+ "attributes": {
121
+ "has_backward": null,
122
+ "can_torch_compile": null
123
+ }
124
+ }
125
+ ]
126
+ }