kernels-bot commited on
Commit
f30098a
·
verified ·
1 Parent(s): 9f6e1bf

Uploaded using `kernel-builder`.

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +18 -0
  2. build/torch210-cu126-aarch64-linux/__init__.py +63 -0
  3. build/torch210-cu126-aarch64-linux/_ops.py +9 -0
  4. build/torch210-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  5. build/torch210-cu126-aarch64-linux/metadata.json +42 -0
  6. build/torch210-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  7. build/torch210-cu126-aarch64-linux/symbols.json +6 -0
  8. build/torch210-cu128-aarch64-linux/__init__.py +63 -0
  9. build/torch210-cu128-aarch64-linux/_ops.py +9 -0
  10. build/torch210-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  11. build/torch210-cu128-aarch64-linux/metadata.json +45 -0
  12. build/torch210-cu128-aarch64-linux/metadata.json.sigstore +1 -0
  13. build/torch210-cu128-aarch64-linux/symbols.json +6 -0
  14. build/torch210-cu130-aarch64-linux/__init__.py +63 -0
  15. build/torch210-cu130-aarch64-linux/_ops.py +9 -0
  16. build/torch210-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  17. build/torch210-cu130-aarch64-linux/metadata.json +45 -0
  18. build/torch210-cu130-aarch64-linux/metadata.json.sigstore +1 -0
  19. build/torch210-cu130-aarch64-linux/symbols.json +6 -0
  20. build/torch211-cu126-aarch64-linux/__init__.py +63 -0
  21. build/torch211-cu126-aarch64-linux/_ops.py +9 -0
  22. build/torch211-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  23. build/torch211-cu126-aarch64-linux/metadata.json +42 -0
  24. build/torch211-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  25. build/torch211-cu126-aarch64-linux/symbols.json +6 -0
  26. build/torch211-cu128-aarch64-linux/__init__.py +63 -0
  27. build/torch211-cu128-aarch64-linux/_ops.py +9 -0
  28. build/torch211-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  29. build/torch211-cu128-aarch64-linux/metadata.json +45 -0
  30. build/torch211-cu128-aarch64-linux/metadata.json.sigstore +1 -0
  31. build/torch211-cu128-aarch64-linux/symbols.json +6 -0
  32. build/torch211-cu130-aarch64-linux/__init__.py +63 -0
  33. build/torch211-cu130-aarch64-linux/_ops.py +9 -0
  34. build/torch211-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  35. build/torch211-cu130-aarch64-linux/metadata.json +45 -0
  36. build/torch211-cu130-aarch64-linux/metadata.json.sigstore +1 -0
  37. build/torch211-cu130-aarch64-linux/symbols.json +6 -0
  38. build/torch212-cu126-aarch64-linux/__init__.py +63 -0
  39. build/torch212-cu126-aarch64-linux/_ops.py +9 -0
  40. build/torch212-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  41. build/torch212-cu126-aarch64-linux/metadata.json +42 -0
  42. build/torch212-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  43. build/torch212-cu126-aarch64-linux/symbols.json +6 -0
  44. build/torch212-cu130-aarch64-linux/__init__.py +63 -0
  45. build/torch212-cu130-aarch64-linux/_ops.py +9 -0
  46. build/torch212-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so +3 -0
  47. build/torch212-cu130-aarch64-linux/metadata.json +45 -0
  48. build/torch212-cu130-aarch64-linux/metadata.json.sigstore +1 -0
  49. build/torch212-cu130-aarch64-linux/symbols.json +6 -0
  50. build/torch212-cu132-aarch64-linux/__init__.py +63 -0
.gitattributes CHANGED
@@ -246,3 +246,21 @@ build/torch213-cxx11-cu132-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filte
246
  build/torch214-cxx11-cu126-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
247
  build/torch214-cxx11-cu130-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
248
  build/torch214-cxx11-cu132-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  build/torch214-cxx11-cu126-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
247
  build/torch214-cxx11-cu130-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
248
  build/torch214-cxx11-cu132-x86_64-linux/_tinygrad_rms_cuda_89d4054.abi3.so filter=lfs diff=lfs merge=lfs -text
249
+ build/torch210-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
250
+ build/torch210-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
251
+ build/torch210-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
252
+ build/torch211-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
253
+ build/torch211-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
254
+ build/torch211-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
255
+ build/torch212-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
256
+ build/torch212-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
257
+ build/torch212-cu132-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
258
+ build/torch213-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
259
+ build/torch213-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
260
+ build/torch213-cu132-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
261
+ build/torch214-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
262
+ build/torch214-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
263
+ build/torch214-cu132-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
264
+ build/torch215-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
265
+ build/torch215-cu132-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
266
+ build/torch215-cu134-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so filter=lfs diff=lfs merge=lfs -text
build/torch210-cu126-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch210-cu126-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch210-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab5f5020f28517ede32795da544d9d3299ddffbf82dc6c9da179a09632cc0db0
3
+ size 295984
build/torch210-cu126-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "7.0",
13
+ "7.2",
14
+ "7.5",
15
+ "8.0",
16
+ "8.6",
17
+ "8.7",
18
+ "8.9",
19
+ "9.0+PTX"
20
+ ]
21
+ },
22
+ "digest": {
23
+ "algorithm": "sha256",
24
+ "files": {
25
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
26
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
27
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "q19QIPKFF+3jJ5XaVE2dMpnd/7+C3GydoXmgljLMDbA=",
28
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
29
+ }
30
+ },
31
+ "provenance": {
32
+ "kernel-builder": {
33
+ "version": "0.18.0-dev0",
34
+ "commit": "d054906a13710b811b96697b4635f03020842733",
35
+ "dirty": false
36
+ },
37
+ "kernel": {
38
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
39
+ "dirty": false
40
+ }
41
+ }
42
+ }
build/torch210-cu126-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLTCCBrKgAwIBAgIUA9NiKjEQtJt4QVj3g4nTFVZeVR8wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NjQ3WhcNMjYxMDE5MTMwNjQ3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJa9SwmAs5kSkNJ9bz3x7zcyT0hDWM8kJv2lB9UjeTgKs1YqnDDrmSGjG5/7Zmbf60rxweu73xLSvm71MTi02gaOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDxoIQAABAMARzBFAiEAu5ZIiXZcDN8lAuCU4Erj2T2VkOKlWV8BjR5LHLR+k3oCIDq4IyvJEi4RU2Vjsno5EFHTrFNtZAQG1N0N7q5aMdS8MAoGCCqGSM49BAMDA2kAMGYCMQDal8Naxix5jkdETlrXCfmfJHzPgYtLFKO2pbkiWm1Eyd9X8vWq9uPpmViJ4drjQtMCMQCOD3xOBFNKOKlXy9EhNEmYyfPtyfFrO1unD80jf1lZN2bQtmanpDx7kT2lopMFYBU="},"tlogEntries":[{"logIndex":"3321160982","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414607","inclusionPromise":{"signedEntryTimestamp":"MEUCICaS3NSlkyD1V41ikJCl+5ooauDf4Ha29iyszm8MHBhfAiEAl9HWS8vOucehDPnCotLZZrth6xppAfYT61LqeGe+hRI="},"inclusionProof":{"logIndex":"3199256720","rootHash":"0Z4QmgmC3aaPKROEpxxopl0NKQSiZbWoKbThfqiVZ/k=","treeSize":"3199256901","hashes":["s/irtEEBpnmXBXzkEOhHjQEXr5qHLTZF7ptyomud3Xw=","Uq1WxT1xUbkMHSxRB/VL/HE3/Yip5pW+GBFGaKCrD4w=","KZaA8VuomRyv2IMe3LX2jWuTU2WhcysEv/ZH+keIfbg=","ynFj9XV5v4XJI/65LbNoZlXnvz4AdxUJuB4s34xwCME=","rmbriZOyyxkgnjrSuRuMY+YUDmXoiQyubmqly88qphs=","Lvi96QEAy25HoRRdemgeMGiHs9twjH+zi20s/eV0ZG8=","xdgYLDSUFmu1z2zWB/XEpHbCx+LU5U158D6n0AEoSOs=","FmUiijlL+ubLS3/DOK2DWovxKogabgiZihnrs5uaDCk=","uBaxDTknqmHU0ZizbMUrMR/xrscELkTfe6v29Xzwras=","RDiptQkgvHMCbbkUY0uCBCHKvOHg1Ua2eiSp9YCjEBw=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199256901\n0Z4QmgmC3aaPKROEpxxopl0NKQSiZbWoKbThfqiVZ/k=\n\n— rekor.sigstore.dev wNI9ajBGAiEAjudRdyP7DEOC9CHGr2KRIOF2RQB9eF/dRAlqdAnh9M8CIQCTFPTRzx75yB3FAemighVGgMB9mVfG/lWdXpiiqnawzQ==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlNTQ2NjJkMWM5MWQwMmE5ODJjZGRlZGQ3MWJjZWY5YmVlOWE3ZDE2MTNlOGE1MWY1YWY3Yzk5OGZjMWIzNTZmIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURLenNQdkYvU2FDZjhmS2pIVVRSWXFXL29pZEdVZVJna292QmVqNGRIZDd3SWhBTmlGL1M1VEdGSStNQStxRTZ1OThvalVLVk5aYTB0c3ptdkE2Z3dGNElRdCIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1WRU5EUW5KTFowRjNTVUpCWjBsVlFUbE9hVXRxUlZGMFNuUTBVVlpxTTJjMGJsUkdWbHBsVmxJNGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbXBSTTFkb1kwNU5hbGw0VFVSRk5VMVVUWGRPYWxFelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZLWVRsVGQyMUJjelZyVTJ0T1NqbGllak40TjNwamVWUXdhRVJYVFRoclNuWXliRUlLT1ZWcVpWUm5TM014V1hGdVJFUnliVk5IYWtjMUx6ZGFiV0ptTmpCeWVIZGxkVGN6ZUV4VGRtMDNNVTFVYVRBeVoyRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNGIwbFJRVUZDUVUxQlVucENSa0ZwUlVGMU5WcEphVmhhWTBST09HeEJkVU5WTkVWeWFqSlVNbFpyVDB0c1YxWTRRZ3BxVWpWTVNFeFNLMnN6YjBOSlJIRTBTWGwyU2tWcE5GSlZNbFpxYzI1dk5VVkdTRlJ5Ums1MFdrRlJSekZPTUU0M2NUVmhUV1JUT0UxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKclFVMUhXVU5OVVVSaGJEaE9ZWGhwZURWcWEyUkZWR3h5V0VObWJXWktTSHBRWjFsMFRFWkxUekp3WW10cFYyMHhSWGxrT1ZnS09IWlhjVGwxVUhCdFZtbEtOR1J5YWxGMFRVTk5VVU5QUkRONFQwSkdUa3RQUzJ4WWVUbEZhRTVGYlZsNVpsQjBlV1pHY2s4eGRXNUVPREJxWmpGc1dncE9NbUpSZEcxaGJuQkVlRGRyVkRKc2IzQk5SbGxDVlQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgFMVpMFTTsicpG2y+hXn2Z9VIW9C0MZndcpS/dbAxuVECFQDDuPcfQMch74tOxj9e1KmPN0goGRgPMjAyNjEwMTkxMjU2NDdaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTY0N1owLwYJKoZIhvcNAQkEMSIEIDdn0a7NHDNDcOdlxqgti1ETa/IaK7Zw5n1Y1y0QHHheMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMCUORnrIFg7tNQWGTnsPHQgZ+uV6KGsPwXgGfkQda04msxy6FV3sG7wTr7WcndMSPQIxAIhT3PdsMbkrTwxrlU7X539HEwORmcClOBIpWq3PbLkeRrf/i0ODk5JSN/0Tcdz5pA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"5UZi0ckdAqmCzd7dcbzvm+6afRYT6KUfWvfJmPwbNW8="},"signature":"MEYCIQDKzsPvF/SaCf8fKjHUTRYqW/oidGUeRgkovBej4dHd7wIhANiF/S5TGFI+MA+qE6u98ojUKVNZa0tszmvA6gwF4IQt"}}
build/torch210-cu126-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch210-cu128-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch210-cu128-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch210-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ece3769c7079e0bcbd35ee2bb645d4298830fa9fcd016ce0c4fed26767ecd9a
3
+ size 361800
build/torch210-cu128-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "10.0",
13
+ "10.1",
14
+ "12.0+PTX",
15
+ "7.0",
16
+ "7.2",
17
+ "7.5",
18
+ "8.0",
19
+ "8.6",
20
+ "8.7",
21
+ "8.9",
22
+ "9.0"
23
+ ]
24
+ },
25
+ "digest": {
26
+ "algorithm": "sha256",
27
+ "files": {
28
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
29
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
30
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "js43accHngvL017iu2RdQpiDD6n80BbODE/tJnZ+zZo=",
31
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
32
+ }
33
+ },
34
+ "provenance": {
35
+ "kernel-builder": {
36
+ "version": "0.18.0-dev0",
37
+ "commit": "d054906a13710b811b96697b4635f03020842733",
38
+ "dirty": false
39
+ },
40
+ "kernel": {
41
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
42
+ "dirty": false
43
+ }
44
+ }
45
+ }
build/torch210-cu128-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrGgAwIBAgIUG0t7rqZRTNbOnnGZV+h5g6qQOH8wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NjQ5WhcNMjYxMDE5MTMwNjQ5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWrn84WSLuNCnHxJaEgejy13fJ+1xVUR/Sde/d3laaUPaLez1H0iFeZcmxtn/Di9tQfSOeRsibZCGLBx0qSula6OCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDxx1wAABAMARjBEAiBTSojZ6C8xiSmauOHNiY0mgbo+gDTlyaQsT794NFp/AgIgWFYuIRDPJr5YZz/kwjCoAcfqrSwjh0Dl8Rm7pXRXE/QwCgYIKoZIzj0EAwMDaAAwZQIwAynq9AfKTJcGscMfuyxjjur7q5FG7OV7+CZAJqipXyzFyP2vxlVsIxsQVDDDumCEAjEAm/mWHgolxlAxRMtYY4yUFAU4mLkSW+BqgJO8wsc24j3nNc9+xOboVwbVgwu6XyVb"},"tlogEntries":[{"logIndex":"3321161443","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414610","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCBp+EFPM+1PPl/EjkcveZwC1vSfa1+Peu9UjWyPBfggwIgErjFyeAbIvbS63hnZWCJGrs3qoHmvRK4UeF2YUvmPtU="},"inclusionProof":{"logIndex":"3199257181","rootHash":"ryt8i9sqnJzYYxDwkld4bWb4HHvAY6hVWw6OARtAiu0=","treeSize":"3199257842","hashes":["tPldtYTSRV8lrNMi18nSPDLG+5LdegHPU3colvrXgEw=","Z19I0PPu8/YjsUKhrKwabxV1YMyCSmt1kT0c5IJzDP0=","ibd8NytOxvUgSypwdHVlo0TOa153xGq8DtBottqE6is=","ckkVxiUfPGnQLiaN4wzd5vaoDHpW+FEFV3DafmjzN0M=","XJOWKy+FJOynifmtocabbLqWZr6RS82fjqb/gbKbMps=","Zyu+2m/rP42YLM0dXWviVHgPee/q3adFH3/TJSD5dJY=","4PtjbBBn2Z+A67bTzYPpgntfMBC2Fx5/Lu6kYAgCQCA=","1bKJeEJQ4bJ6H5mXUoWlNOw2KCglbwr5T8xdy5TZp7Y=","dBTc3Z/13SmgUPvECf03MK1tDEK365h26o58LomeBdU=","zyjl4sBdQrJDu36+pmFFFtJxy8lqAaZuV8ekxCzIzaI=","CQiaRElcjBjA/BA17GZbdPURQvrfI38qcHGX4kkccUI=","RDiptQkgvHMCbbkUY0uCBCHKvOHg1Ua2eiSp9YCjEBw=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199257842\nryt8i9sqnJzYYxDwkld4bWb4HHvAY6hVWw6OARtAiu0=\n\n— rekor.sigstore.dev wNI9ajBFAiEAkv8QtcCFESDLKYTKUUPKary4i28j3pi/tketU4tyL38CICewnJdVjVmjFuIUpyl5vLgAJHBS7gFM5+v3ksSvn0Ts\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ODUzMzdkYTViZGYwYjdjMGYyMTNkNTU2MjExYzU4MTU4MjEwMjc4Mzk3YjkxOWYxNGU2OTgxMDIwMTZjOTdjIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRHJ5bUxaS09RWkk2K1dZdno1UjIxUVBVYnhkeTNvTm1ERlRMNWNQcE5ZZkFpRUFxcmd2RDRibUVBS0x0SFptZlorc2M4cTg4MXJyNGZNbjUzV0d5RSt0NHZjPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KSFowRjNTVUpCWjBsVlJ6QjBOM0p4V2xKVVRtSlBibTVIV2xZcmFEVm5ObkZSVDBnNGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbXBSTlZkb1kwNU5hbGw0VFVSRk5VMVVUWGRPYWxFMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZYY200NE5GZFRUSFZPUTI1SWVFcGhSV2RsYW5reE0yWktLekY0VmxWU0wxTmtaUzhLWkROc1lXRlZVR0ZNWlhveFNEQnBSbVZhWTIxNGRHNHZSR2s1ZEZGbVUwOWxVbk5wWWxwRFIweENlREJ4VTNWc1lUWlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNGVERjNRVUZDUVUxQlVtcENSVUZwUWxSVGIycGFOa000ZUdsVGJXRjFUMGhPYVZrd2JXZGlieXRuUkZSc2VXRlJjd3BVTnprMFRrWndMMEZuU1dkWFJsbDFTVkpFVUVweU5WbGFlaTlyZDJwRGIwRmpabkZ5VTNkcWFEQkViRGhTYlRkd1dGSllSUzlSZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVVGQmQxcFJTWGRCZVc1eE9VRm1TMVJLWTBkelkwMW1kWGw0YW1wMWNqZHhOVVpITjA5V055dERXa0ZLY1dsd1dIbDZSbmxRTW5ZS2VHeFdjMGw0YzFGV1JFUkVkVzFEUlVGcVJVRnRMMjFYU0dkdmJIaHNRWGhTVFhSWldUUjVWVVpCVlRSdFRHdFRWeXRDY1dkS1R6aDNjMk15TkdvemJncE9ZemtyZUU5aWIxWjNZbFpuZDNVMldIbFdZZ290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgyaHkdlZ6nn9SKp+JB8gT9HbL+1scWqGIAB5wCfRq5mYCFQCQ7v8+ATQKCYkYpRf6UULFbbNikhgPMjAyNjEwMTkxMjU2NDlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTY0OVowLwYJKoZIhvcNAQkEMSIEIN2xZ5x1RLW+3Bdwrhg+4DqwIbXx8vErQm6nYasIZRPiMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMGN57OJkSMfdW+b4NIWXS88rlFn/vjv/1yKYT0vB++8AtifCSEyOqYpXzS+3QHeOtAIxAI92qw7EPC0FT0hZUJvQ9fPtMwCEFTalUF74C6Jes2D2hRt7fxUsKh2znkDLrM049g=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"eFM32lvfC3wPIT1VYhHFgVghAng5e5GfFOaYECAWyXw="},"signature":"MEUCIDrymLZKOQZI6+WYvz5R21QPUbxdy3oNmDFTL5cPpNYfAiEAqrgvD4bmEAKLtHZmfZ+sc8q881rr4fMn53WGyE+t4vc="}}
build/torch210-cu128-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch210-cu130-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch210-cu130-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch210-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:09fa39477bb9af4508b9adef8ad7dcdb949d993bcc12a3fd676de2e02d701ff3
3
+ size 429424
build/torch210-cu130-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "10.0",
13
+ "10.3",
14
+ "11.0",
15
+ "12.0",
16
+ "12.1+PTX",
17
+ "7.5",
18
+ "8.0",
19
+ "8.6",
20
+ "8.7",
21
+ "8.9",
22
+ "9.0"
23
+ ]
24
+ },
25
+ "digest": {
26
+ "algorithm": "sha256",
27
+ "files": {
28
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
29
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
30
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "Cfo5R3u5r0UIua3vitfc25SdmTvMEqP9Z23i4C1wH/M=",
31
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
32
+ }
33
+ },
34
+ "provenance": {
35
+ "kernel-builder": {
36
+ "version": "0.18.0-dev0",
37
+ "commit": "d054906a13710b811b96697b4635f03020842733",
38
+ "dirty": false
39
+ },
40
+ "kernel": {
41
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
42
+ "dirty": false
43
+ }
44
+ }
45
+ }
build/torch210-cu130-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrKgAwIBAgIUcocmWG/JxJeIUaj/BqzdGqdFmwEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NjU0WhcNMjYxMDE5MTMwNjU0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjBtUDFcNgRsyiIDRm+iktmjT7bEBVhUxlPmAFAsT8GTMMfv6H/TUovffNO4qUt0zB+Q+absW+kfCWRhd1ikJwKOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDyE8gAABAMARzBFAiEA2PrXph50P/CK4dmvfKBld3L4BWoN3qdDgLmxII8u+boCICEu3bf2DCwAtqbN/IqqUhwBkV63nJHpN6d5TF6as62IMAoGCCqGSM49BAMDA2cAMGQCMF6m5Z8tN2DT0zvm2qVASxs7tE6MAX2SZMXY3R5jUkejIW3HUNxjsfl4y9ciSCQNmgIwLWhLVUGWzImdwKPguKM1qtdYBWesLsSrPgAfcxj8wctSY2RHsFYLlc2YY6tumIpF"},"tlogEntries":[{"logIndex":"3321162402","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414614","inclusionPromise":{"signedEntryTimestamp":"MEUCIESe0TBXZaW9uJXYe6IhPTM9mttf5gDJEY/OtCbZnBoMAiEAzPwK7PZNFQxx/yUBdsOLUPmtWQC5iMjkR4PYlpg6zHs="},"inclusionProof":{"logIndex":"3199258140","rootHash":"JnqkvEaNcj0lM1lzpUT7K6npJqBWVPC7Tuj87olo0PU=","treeSize":"3199258207","hashes":["VAMIEmc3OI1o5fEBTKGiBelPyFByXfsd6igMEcXl0Hs=","ym+j2RUHDOKHR4+g7J6LdKYnq5ZbjziMIRA0VDMqU8Q=","n0qBxdjhWD6mvQxYewnLoz9G29WQP2sjX+6hD9pWw20=","fmxWA9q+YcUF7uIHVgKwov6Ad70+C6NecUmdpl/eARc=","K+ANH+kOXiwuN0R7CdrJrywxv2oAffd0pP9m6oHO7GI=","UZDQF5fpHrZQ1ibu2vBkwQWPiQ94cHuvJ7eH5XYdRDo=","IdwGTyHooGZvIrw/WI4elPV3Zg24nLrG/xfTZVPVpQ0=","O8nkgOfH0ApJpxKNTSbOxmIjQD2rM0J/mgkNy8uscu0=","xdttCxFvihb/TPSLyQhxrLHPiy2Hoto30MGgSbTHHxo=","RDiptQkgvHMCbbkUY0uCBCHKvOHg1Ua2eiSp9YCjEBw=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199258207\nJnqkvEaNcj0lM1lzpUT7K6npJqBWVPC7Tuj87olo0PU=\n\n— rekor.sigstore.dev wNI9ajBFAiEA6MY+K0gAp0dI2zuPmRzBl/khdaLe/8Xuzjyl5UAJBsMCIHkCnEQOR86Rbkodw+2aeOmIPYXvD3R/7tcygrtpRNNM\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJmNTY1NzllZjk1NDdlOWM3NWZkMGY5NTk3YzUwNDAwOTYyNGJkNTIzZTBjNjY4MjA5MjcyM2VlNDdkMGMwMWRjIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRHRMbzA1ZzJxd0hvaWphOC9vZGdnbXBHYW5ad0p1VXVJQjVSd3E1QzN2MUFpQnpEOTFYNnNiOUd6YWNsQSt6TllVRjlYN0RHbysyUUdQUngxdWE1YkRnQ1E9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KTFowRjNTVUpCWjBsVlkyOWpiVmRITDBwNFNtVkpWV0ZxTDBKeGVtUkhjV1JHYlhkRmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbXBWTUZkb1kwNU5hbGw0VFVSRk5VMVVUWGRPYWxVd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZxUW5SVlJFWmpUbWRTYzNscFNVUlNiU3RwYTNSdGFsUTNZa1ZDVm1oVmVHeFFiVUVLUmtGelZEaEhWRTFOWm5ZMlNDOVVWVzkyWm1aT1R6UnhWWFF3ZWtJclVTdGhZbk5YSzJ0bVExZFNhR1F4YVd0S2QwdFBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNVJUaG5RVUZDUVUxQlVucENSa0ZwUlVFeVVISlljR2cxTUZBdlEwczBaRzEyWmt0Q2JHUXpURFJDVjI5T00zRmtSQXBuVEcxNFNVazRkU3RpYjBOSlEwVjFNMkptTWtSRGQwRjBjV0pPTDBseGNWVm9kMEpyVmpZemJrcEljRTQyWkRWVVJqWmhjell5U1UxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKalFVMUhVVU5OUmpadE5WbzRkRTR5UkZRd2VuWnRNbkZXUVZONGN6ZDBSVFpOUVZneVUxcE5XRmt6VWpWcVZXdGxha2xYTTBnS1ZVNTRhbk5tYkRSNU9XTnBVME5SVG0xblNYZE1WMmhNVmxWSFYzcEpiV1IzUzFCbmRVdE5NWEYwWkZsQ1YyVnpUSE5UY2xCblFXWmplR280ZDJOMFV3cFpNbEpJYzBaWlRHeGpNbGxaTm5SMWJVbHdSZ290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg6xID5Qo6XKZ8I9MnBt+YhrwietD2t2lD5n9mgVoyEgoCFHilIiIdBOwNKRZiiWhi6XHMh7m2GA8yMDI2MTAxOTEyNTY1NFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTI1NjU0WjAvBgkqhkiG9w0BCQQxIgQgssgBmvKg/TlzRMGLs8PBh2vYAAO+5vuEeN1SaUxZFbAwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAL5Dhj5GEcZ9HRlTYt1HBGne33na7oPtlilMNt52K9RmHdnypCG9yNoY7pXp6H6ZQgIxANwnopI3uYNBGJO2HcPXRiqutlhjJjrx64/8+PcykhzDxRXoByB4X56P4UaNiLyxfw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"9WV575VH6cdf0PlZfFBACWJL1SPgxmggknI+5H0MAdw="},"signature":"MEQCIDtLo05g2qwHoija8/odggmpGanZwJuUuIB5Rwq5C3v1AiBzD91X6sb9GzaclA+zNYUF9X7DGo+2QGPRx1ua5bDgCQ=="}}
build/torch210-cu130-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch211-cu126-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch211-cu126-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch211-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ad45fe2b08bc5c0b0ac39ea32835454f752c8155ae05202c04784325de362bf7
3
+ size 292224
build/torch211-cu126-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "7.0",
13
+ "7.2",
14
+ "7.5",
15
+ "8.0",
16
+ "8.6",
17
+ "8.7",
18
+ "8.9",
19
+ "9.0+PTX"
20
+ ]
21
+ },
22
+ "digest": {
23
+ "algorithm": "sha256",
24
+ "files": {
25
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
26
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
27
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "rUX+Kwi8XAsKw56jKDVFT3UsgVWuBSAsBHhDJd42K/c=",
28
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
29
+ }
30
+ },
31
+ "provenance": {
32
+ "kernel-builder": {
33
+ "version": "0.18.0-dev0",
34
+ "commit": "d054906a13710b811b96697b4635f03020842733",
35
+ "dirty": false
36
+ },
37
+ "kernel": {
38
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
39
+ "dirty": false
40
+ }
41
+ }
42
+ }
build/torch211-cu126-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUUmFz6E5wfOX9QXdlxSSwxlP5JtYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NjU4WhcNMjYxMDE5MTMwNjU4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoPG2IGCfTI/DQFMy3TgstfUH0pZvLiZ/6JY7yADIZb6FAU1yzSsvBpj5mSkyzHRJyV0/m/l9bu9l1AFW7JdDgKOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDyUUwAABAMARzBFAiBM/Al6GTKoVVOaLrRaP2QULCBiu76zar72GoVaFkwTUQIhAJ5gG0vKPQFzYaspPqe5yLX0m4eLhgebF9RayRRSR/W+MAoGCCqGSM49BAMDA2gAMGUCMGXzx1L6kL/TYkkOtHfcf9J5dC32IMSBz8ZTbVisUOmMh6w/ydTT80ryAt50dImdmQIxAI5n7aVRqKzHNlMyl4r1h/JkblDl7uqadjvtQcUBghIW2VDRD0T7TG2/OhzjL7RveQ=="},"tlogEntries":[{"logIndex":"3321163183","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414619","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCDUR9mm5r4gqxne9MobhZtxhxpFhrVzIBtUwJ0CNvTXwIgdQoqBCbTRWLW1yw0tvbegkVwl81IeuIKWzarLGgFO1E="},"inclusionProof":{"logIndex":"3199258921","rootHash":"VMByCZRHlOb+XdU6yGtd4RnUDi7MHktD0mlKf1boXxw=","treeSize":"3199259458","hashes":["L5bVEGNcMFAAvNVhooLKBaeJhkjHDES2t0n2WVd7tOo=","5iE6DvXu1mbXo8fdxl9L0/msipEdJRew65v2xVR3S2k=","a7AMFA263YpfoEv/bonT+QlNloQS04vECl9bdSGQz2w=","4/54eXfW2iZUqADlN6BDGVwFHpF4T57nqw2aJy4GOx4=","cRXI03wPtDlFyPPiQ14lXxMovXYn9pe9itTt+IRZcTE=","MUtaSG4e3IcEun2dzTKu2MFdO3YlLXKrGaC7PLsju/s=","/y92RYtKG2xFdQo3WBQYId0DKtyzLxACKJk2wIEU/Xw=","Dt8gUtXOgnm77h3JRUDSSK9DzOdCqdSo40rFcdVQTVw=","ROAD3rhw9TDHOZf9nosKdyTqgU+H5jPQha/dpr9qAok=","+w44Jvf0ZIYBHBZPCsgXVUfIEWxlfVU6BiqNzWjqa9E=","0ncMyp4Jfu28TPBIYf4+3b3Wu5vq61YSK18oAeQbz/k=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199259458\nVMByCZRHlOb+XdU6yGtd4RnUDi7MHktD0mlKf1boXxw=\n\n— rekor.sigstore.dev wNI9ajBGAiEA+a4yjuPYDOs4nzTSjmTqJXVH3l4UF9tTfHEPSsZ4NWYCIQCCW9XIL+7RKT5RdduoKlEueSJ2DXNIZOarzPYROwZ7Sg==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIxY2E3YzU5OTVhNDEzYjFhZDMxODY0ZGI5ZDdhNGQ0OGFmY2Q5Mjc3MjA2NjhkZjU5NzJkODk3ODQzMjMxZThiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQ1VMNElIWlcyS2kyWGZaemRSTUZBQlczZlh2ZzhlbnQ3aWlmZlFvVzNsckFpQld0cENlbUFsNEZyTmRKVWVIRmN0VlZMWFFVYXJqaGYzWmx1eTE2MzFqMHc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlZXMUdlalpGTlhkbVQxZzVVVmhrYkhoVFUzZDRiRkExU25SWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbXBWTkZkb1kwNU5hbGw0VFVSRk5VMVVUWGRPYWxVMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ2VUVjeVNVZERabFJKTDBSUlJrMTVNMVJuYzNSbVZVZ3djRnAyVEdsYUx6WktXVGNLZVVGRVNWcGlOa1pCVlRGNWVsTnpka0p3YWpWdFUydDVla2hTU25sV01DOXRMMnc1WW5VNWJERkJSbGMzU21SRVowdFBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNVZWVjNRVUZDUVUxQlVucENSa0ZwUWswdlFXdzJSMVJMYjFaV1QyRk1jbEpoVURKUlZVeERRbWwxTnpaNllYSTNNZ3BIYjFaaFJtdDNWRlZSU1doQlNqVm5SekIyUzFCUlJucFpZWE53VUhGbE5YbE1XREJ0TkdWTWFHZGxZa1k1VW1GNVVsSlRVaTlYSzAxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OUjFoNmVERk1ObXRNTDFSWmEydFBkRWhtWTJZNVNqVmtRek15U1UxVFFubzRXbFJpVm1selZVOXRUV2cyZHk4S2VXUlVWRGd3Y25sQmREVXdaRWx0WkcxUlNYaEJTVFZ1TjJGV1VuRkxla2hPYkUxNWJEUnlNV2d2U210aWJFUnNOM1Z4WVdScWRuUlJZMVZDWjJoSlZ3b3lWa1JTUkRCVU4xUkhNaTlQYUhwcVREZFNkbVZSUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgG2re74diokIK/Rkdanmd3AYQD00Ih2pz/IQQ4BzRXQUCFQD7k/YIxuDJKFWRG8QIjsbHgr5s2RgPMjAyNjEwMTkxMjU2NThaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTY1OFowLwYJKoZIhvcNAQkEMSIEIAUUK0pDbruiqgz8M6LhnNF5TLXCwEUCAM2UzgBYKNYdMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQDJMXPVnnwuf664gpsipWiRA+/iquDjgdDQVd2mTcU4COk0w61qX1iIWwodmlV8VJACMQCpUYUw32HrcYhQOhaFGGWYfKIcxvQcQ4Id9l49b3dJJzoFM42MeqlitVINpeMfpkI="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"HKfFmVpBOxrTGGTbnXpNSK/NkncgZo31ly2JeEMjHos="},"signature":"MEQCICUL4IHZW2Ki2XfZzdRMFABW3fXvg8ent7iiffQoW3lrAiBWtpCemAl4FrNdJUeHFctVVLXQUarjhf3Zluy1631j0w=="}}
build/torch211-cu126-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch211-cu128-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch211-cu128-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch211-cu128-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:faaadf9ce9388a7328e6576d391b207dc8e39ee72cff8036248527cb4d49382a
3
+ size 358048
build/torch211-cu128-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "10.0",
13
+ "10.1",
14
+ "12.0+PTX",
15
+ "7.0",
16
+ "7.2",
17
+ "7.5",
18
+ "8.0",
19
+ "8.6",
20
+ "8.7",
21
+ "8.9",
22
+ "9.0"
23
+ ]
24
+ },
25
+ "digest": {
26
+ "algorithm": "sha256",
27
+ "files": {
28
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
29
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
30
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "+qrfnOk4inMo5ldtORsgfcjjnucs/4A2JIUny01JOCo=",
31
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
32
+ }
33
+ },
34
+ "provenance": {
35
+ "kernel-builder": {
36
+ "version": "0.18.0-dev0",
37
+ "commit": "d054906a13710b811b96697b4635f03020842733",
38
+ "dirty": false
39
+ },
40
+ "kernel": {
41
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
42
+ "dirty": false
43
+ }
44
+ }
45
+ }
build/torch211-cu128-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrOgAwIBAgIURKHGXy6zLGzfcmEHf4cRmtacCtcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NzAyWhcNMjYxMDE5MTMwNzAyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6SCOu04Xf5tYIUXAxVQmBSCM4H8gUmoZ2y8KxvfGKt/v4IsAz6AFteCcFUxT4MCSs8iAOtiRKxBKAdVfxnvM96OCBdIwggXOMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDykOQAABAMASDBGAiEAkwZnlBIDMFbIf9Aj7bzRxwT9dA66SIWe4YQtrVFguIsCIQCc+PCpUVN/ePlOjaPuX4xzTx32+EiKnPzbWDqBVRVExDAKBggqhkjOPQQDAwNnADBkAjBwAZpYeyyk3g3rVZk6mf1ZmANRegDzxdtoNIWisk2KRbvD2zdyN4NSoe2CM+nua6UCMG2RrTvdV+LEce4rPOUAMO3C0q70RpRD8wZmsnEhKQThiYPvgZloVvZO0lpTS6MtRw=="},"tlogEntries":[{"logIndex":"3321164274","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414624","inclusionPromise":{"signedEntryTimestamp":"MEYCIQDQ+dzdBHbSY0emi2FifJH03bMSIGImRNPqLaR5ktYUSwIhAPSIDHqFh8KVlE/C97CuvCCDRJfIxBQuwmK32Lr+8NYn"},"inclusionProof":{"logIndex":"3199260012","rootHash":"Z0u5J1/dB+/pMC1lS1ndF1QN2qKeGLExvhEK8poGn5I=","treeSize":"3199261044","hashes":["dMGuDMrtPnOMAdhIi1a2aemSa8miSjI4MlXwBgO9KTI=","lHmxB7kJhawKcTuVLxlxK6PEJMFX9m2Pgdbki5K5PAE=","P1SfLvnmfBZBgICua9RA3IffQuXi82jzy4HKx58yCJ0=","jh3BDKs1Qr0Vkc5mIWXaLJ5t2QFY35XLdVRWiTb9HNA=","45dzbDgygvwyf1LcOv8AzROkih0/S9r+RZxiaKFKOBc=","zD1lutvThZYWF8ajexDhxnUbn8j9yMbBpGA5PDPRpiI=","ziA90h3hM9UHnyCVAKJOcvcbWvO+pHxSm61J7XNPZyo=","fpYgc0mMdI+hSZIlw3j3q/kayVl5wY27vJPSMiyQvog=","rygmVBb5kmndv+ek7tm/siq2feFcaQfqnqYOKURo7RU=","b5yHpSC4iGMV9L5o+pSr0fO85PgBA9T9FKm/LJIzknE=","gnPWVqsjyBGaKVqE7PTC5Q4hNMGUjfvAobZrrWsVvI0=","NpgN7Y2HAbDZLd1cDA1F4fcLdQnv8nvn3JPBkFGSH3c=","0ncMyp4Jfu28TPBIYf4+3b3Wu5vq61YSK18oAeQbz/k=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199261044\nZ0u5J1/dB+/pMC1lS1ndF1QN2qKeGLExvhEK8poGn5I=\n\n— rekor.sigstore.dev wNI9ajBGAiEA0TkxvWTrimfusXPhjCLS28hEQlUkjPdBxsDYKxN7gwMCIQCNOWlqjGeFz3VKy6Qn32QolmQ2yypGdoX5HzQahrekww==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIxY2I0M2QxZTczZDNhOWJmMTc3NzBlZjAzYmEwNjFmODkzMDJmZTgwYjYzNGVlMmE5ZjYyODU0NWZmMWU3NGE0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUQ4SGNwOEtZQWVpclVIUkZtVWxKUHpKeEw0bEpHM2tzdzBWdGFpMXpFeWx3SWhBSW9sWUYzcUVlS3psL1kwaGwyTnVtZkVWc1VWVlZqNCtIR1N6Tk1lZ1NQciIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KUFowRjNTVUpCWjBsVlVrdElSMWg1Tm5wTVIzcG1ZMjFGU0dZMFkxSnRkR0ZqUTNSamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbnBCZVZkb1kwNU5hbGw0VFVSRk5VMVVUWGRPZWtGNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUyVTBOUGRUQTBXR1kxZEZsSlZWaEJlRlpSYlVKVFEwMDBTRGhuVlcxdldqSjVPRXNLZUhabVIwdDBMM1kwU1hOQmVqWkJSblJsUTJOR1ZYaFVORTFEVTNNNGFVRlBkR2xTUzNoQ1MwRmtWbVo0Ym5aTk9UWlBRMEprU1hkbloxaFBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTUNrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NEQkZaWGRDTlVGSVkwRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNWEwOVJRVUZDUVUxQlUwUkNSMEZwUlVGcmQxcHViRUpKUkUxR1lrbG1PVUZxTjJKNlVuaDNWRGxrUVRZMlUwbFhaUW8wV1ZGMGNsWkdaM1ZKYzBOSlVVTmpLMUJEY0ZWV1RpOWxVR3hQYW1GUWRWZzBlSHBVZURNeUswVnBTMjVRZW1KWFJIRkNWbEpXUlhoRVFVdENaMmR4Q21ocmFrOVFVVkZFUVhkT2JrRkVRbXRCYWtKM1FWcHdXV1Y1ZVdzelp6TnlWbHByTm0xbU1WcHRRVTVTWldkRWVuaGtkRzlPU1ZkcGMyc3lTMUppZGtRS01ucGtlVTQwVGxOdlpUSkRUU3R1ZFdFMlZVTk5SekpTY2xSMlpGWXJURVZqWlRSeVVFOVZRVTFQTTBNd2NUY3dVbkJTUkRoM1dtMXpia1ZvUzFGVWFBcHBXVkIyWjFwc2IxWjJXazh3YkhCVVV6Wk5kRkozUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgGskgVpCYObaBBgnp0blRzMjbgeO3V9kfaSz8YFdD6vwCFQCNmVvjmWOfK1denbvaR70FnDBOWxgPMjAyNjEwMTkxMjU3MDJaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTcwMlowLwYJKoZIhvcNAQkEMSIEICj+OBV6JmVB5bpnxheO7CqSsQAoc/3+IAEYO72yfW5+MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQCNWRdUDFiCZcpqZIl6T6ouBA53EKCFYBsSdv4ITPLeC5phM/H8hS9kqnBnj0CFAXUCMBxrCse2vGFnearlCkkwm2YzjE8H5t6JXwFxlyATdCqkwCuStVI9hnR+vdjRgjzBYQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"HLQ9HnPTqb8Xdw7wO6Bh+JMC/oC2NO4qn2KFRf8edKQ="},"signature":"MEYCIQD8Hcp8KYAeirUHRFmUlJPzJxL4lJG3ksw0Vtai1zEylwIhAIolYF3qEeKzl/Y0hl2NumfEVsUVVVj4+HGSzNMegSPr"}}
build/torch211-cu128-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch211-cu130-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch211-cu130-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch211-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:978373f5e08fecff754b5397c697182e120160c641ee516118f4e27058e6a43b
3
+ size 360128
build/torch211-cu130-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "10.0",
13
+ "10.3",
14
+ "11.0",
15
+ "12.0",
16
+ "12.1+PTX",
17
+ "7.5",
18
+ "8.0",
19
+ "8.6",
20
+ "8.7",
21
+ "8.9",
22
+ "9.0"
23
+ ]
24
+ },
25
+ "digest": {
26
+ "algorithm": "sha256",
27
+ "files": {
28
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
29
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
30
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "l4Nz9eCP7P91S1OXxpcYLhIBYMZB7lFhGPTicFjmpDs=",
31
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
32
+ }
33
+ },
34
+ "provenance": {
35
+ "kernel-builder": {
36
+ "version": "0.18.0-dev0",
37
+ "commit": "d054906a13710b811b96697b4635f03020842733",
38
+ "dirty": false
39
+ },
40
+ "kernel": {
41
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
42
+ "dirty": false
43
+ }
44
+ }
45
+ }
build/torch211-cu130-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrKgAwIBAgIUfxY+zs7MyCGZFrOQRChnKlR78uEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NzEwWhcNMjYxMDE5MTMwNzEwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV6XhztAsyHAKBr3715A224attEfclQMfb4pdbUjv1PSI9qnkneWihzl7HrecHnyHtdI/2pGhNqUw4sfkM1RsF6OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDzDwAAABAMARzBFAiBcEnlpD+VJjRno1wTAPNBb4vBngTWjXdlKdvu6wN+fbAIhAKmwEGX1W3c61r5veX6kcrv6cAWpxMISMRGCff+mgGnZMAoGCCqGSM49BAMDA2cAMGQCMD+csF7++kJCjVzvlKewVp5yQboW5TMz0aaLRbyNsgW3RCeoQhT7W2GGsvV0jezBpwIwNeUlnt95zD8ByvQYocdVX0E9GKpN/jWwkiL8UnErtc1+75ZsZzm0g2gV9Uqa1wLb"},"tlogEntries":[{"logIndex":"3321165500","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414631","inclusionPromise":{"signedEntryTimestamp":"MEUCIDFTkCff0XVhDupIC55T4BqXrPPefzxK0a/Tvqcz5XmWAiEAhxOccC9WsqnuZNy5hVI7j64iyKUwK4DGiNZImufRH6I="},"inclusionProof":{"logIndex":"3199261238","rootHash":"qIe/Sr2xOixZrjC7B5UTf/SG4cdzHiZ4LmEHesJsftg=","treeSize":"3199261517","hashes":["ngf67HwpPr2Zqf9R52dNozOMM+RtYmSuXK+lIazVK9c=","WEVRgdB9aJh7mR0gFJcAbgwc5gnM8wzObPEJ8nBd1Hk=","fF6dco8BIEXwu4A235SXoR0XJ8wB7gIlIkL9+YiRxZI=","ppPs5k0ArgnVI2f5hBMCmX6buHp0n73Gxf+mqRQHahg=","uSgrsJQpV6qoaz950RP2pizC75GwiAcWAnZwJYTJHf0=","R3DOgwTtUr5mdXSKrJmgqveyEVJdIAAfm+Jswb1e30A=","Y+jkJILZ7t6vQP1YIXyjXg4rfpkT0qiElJlu5aFIwRs=","YhNs0Rje2mx/IYG4nAKVxC6m4vLCFWB74vNgLzAjgV8=","Hk2qtYT+pyNWmBmGbAXhe9/crjC7X5s8XvyzUoTep+g=","aZjcG+V1T7oWJPWWBSQKyoaInzAml6JU0W/+E5j+Hfc=","D1jVFYPN8ehYQ5loUdTL/u1gey9bm+6KTC6zQuNjguE=","0ncMyp4Jfu28TPBIYf4+3b3Wu5vq61YSK18oAeQbz/k=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199261517\nqIe/Sr2xOixZrjC7B5UTf/SG4cdzHiZ4LmEHesJsftg=\n\n— rekor.sigstore.dev wNI9ajBGAiEAqGavvcAHAqaPGcAgIVrxquIfvy0fS9KZaTFjgO5RwmACIQDnzVoRStjD6rltXL2+dAszyIXES1MROT+uAUoKubFonA==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlNTc1MjU1OThjZDZkMzliMWJjZjZkZGNlNGM4MzZmYTdhM2Q3NmJmNTI0NGUxMzI4ODFhOTY2YWJmZmFjZDc4In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJSHhNQVJoM1U4WThYbjNYdmhWSE1yNlQvYStiRUNxRzM0clJTYXhLbitXdkFpQjNKNFJFUlVPUTRGNXRqald3NTdiTkw0VktRVzA4bmhaQ3B3dHc1cjZ4RHc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KTFowRjNTVUpCWjBsVlpuaFpLM3B6TjAxNVEwZGFSbkpQVVZKRGFHNUxiRkkzT0hWRmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbnBGZDFkb1kwNU5hbGw0VFVSRk5VMVVUWGRPZWtWM1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZXTmxob2VuUkJjM2xJUVV0Q2NqTTNNVFZCTWpJMFlYUjBSV1pqYkZGTlptSTBjR1FLWWxWcWRqRlFVMGs1Y1c1cmJtVlhhV2g2YkRkSWNtVmpTRzU1U0hSa1NTOHljRWRvVG5GVmR6UnpabXROTVZKelJqWlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNlJIZEJRVUZDUVUxQlVucENSa0ZwUW1ORmJteHdSQ3RXU21wU2JtOHhkMVJCVUU1Q1lqUjJRbTVuVkZkcVdHUnNTd3BrZG5VMmQwNHJabUpCU1doQlMyMTNSVWRZTVZjell6WXhjalYyWlZnMmEyTnlkalpqUVZkd2VFMUpVMDFTUjBObVppdHRaMGR1V2sxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKalFVMUhVVU5OUkN0amMwWTNLeXRyU2tOcVZucDJiRXRsZDFad05YbFJZbTlYTlZSTmVqQmhZVXhTWW5sT2MyZFhNMUpEWlc4S1VXaFVOMWN5UjBkemRsWXdhbVY2UW5CM1NYZE9aVlZzYm5RNU5YcEVPRUo1ZGxGWmIyTmtWbGd3UlRsSFMzQk9MMnBYZDJ0cFREaFZia1Z5ZEdNeEt3bzNOVnB6V25wdE1HY3laMVk1VlhGaE1YZE1ZZ290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg/0530eKNl1xSfvCKK38tONvfEmF9Iscuvbty3Cd8ycgCFQDothSwkr0g0WSc7HaTiwToZIy6JRgPMjAyNjEwMTkxMjU3MTBaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTcxMFowLwYJKoZIhvcNAQkEMSIEIEVz3Ed5Zd8Hmdh/XJt6iPdndfjuEh7od6ew9HvtY3aIMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMHBgtP7JCFzut5uSDTZZDIbvAXw56xKGwK8LWE3XYP765aGS1fC8aVQj2lLftPDHjQIwMTCVoT1IBIcBQ8U1eIc5KMkOptPbcr5h/LBShdL0lzWQjHFT29KsXhiBVykifxD4"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"5XUlWYzW05sbz23c5Mg2+no9dr9SROEyiBqWar/6zXg="},"signature":"MEQCIHxMARh3U8Y8Xn3XvhVHMr6T/a+bECqG34rRSaxKn+WvAiB3J4RERUOQ4F5tjjWw57bNL4VKQW08nhZCpwtw5r6xDw=="}}
build/torch211-cu130-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch212-cu126-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch212-cu126-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch212-cu126-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fe63677560d6d5e07798f880a5cc3be47f1a0a3a6259c03ced6d65d91de7df0
3
+ size 294736
build/torch212-cu126-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "7.0",
13
+ "7.2",
14
+ "7.5",
15
+ "8.0",
16
+ "8.6",
17
+ "8.7",
18
+ "8.9",
19
+ "9.0+PTX"
20
+ ]
21
+ },
22
+ "digest": {
23
+ "algorithm": "sha256",
24
+ "files": {
25
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
26
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
27
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "D+Y2d1YNbV4HeY+IClzDvkfxoKOmJZwDztbWXZHeffA=",
28
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
29
+ }
30
+ },
31
+ "provenance": {
32
+ "kernel-builder": {
33
+ "version": "0.18.0-dev0",
34
+ "commit": "d054906a13710b811b96697b4635f03020842733",
35
+ "dirty": false
36
+ },
37
+ "kernel": {
38
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
39
+ "dirty": false
40
+ }
41
+ }
42
+ }
build/torch212-cu126-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLTCCBrKgAwIBAgIUFYHyS2jie9DspMGHglBIl/j3rAEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NzE2WhcNMjYxMDE5MTMwNzE2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZih7letyGzknukUPFH1Zw6XI8HZlKQy28/EF2DCOePoTAJcge8+BxERvJ/RnSyM8SO7G6/4c/Q9CqHmJg3A0tqOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDzYXAAABAMARzBFAiAfM6EeIFcspn1fLNpC4sBGLX1gWejY2YZ2m2t+pJ2VvQIhALTFDbsVHdjbOa/zvyEbItr9fjSP+95PHgNegeEr/UBTMAoGCCqGSM49BAMDA2kAMGYCMQCgSgzMYgdPUwByqa3TXWGfgFGr227SJOSud5JZabsvD+ejYtNIVO+esucR5JLVE28CMQDRRsMJ7KZBYMNjEnGA6reDqXkjCSqcSzgoIP3jhN9Lq9YYi88kcHtu43DMF57zdL0="},"tlogEntries":[{"logIndex":"3321167006","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414639","inclusionPromise":{"signedEntryTimestamp":"MEUCIBw/xah1btDRkfWP36zIOHwVgzWW7qJdVt7MC7UPhW7TAiEAyOlLSYhEKkpJfL8k9DXmY74r909rukzA07bSECOuk48="},"inclusionProof":{"logIndex":"3199262744","rootHash":"9J2rgf0tu4kZ02YusYUiWtqDeezs+J2FKjDoqtU0Rzc=","treeSize":"3199262771","hashes":["HmiIcJL4mRQ+qhWKKeDJr92yRI/pkZTlL2rjwKYcEJg=","H1i6ZdqLDCeFAUgo8X0WXT/VEG3PKycZGhfeLEgjRuQ=","FHk4c+jwS3uKOz8XuekJw1FQsx6NJec3UuQ7mz/IH7s=","Mra9ooas9e8mholW2hIq1CbL9SZPPG9GjLngSlA6yoQ=","+PN4IilcRGRcSwm0oubjzjlgJckG54/MDFnHIvxV60I=","lssuFTT0oqY11qy63nK2MuOei88+Yng4z6XS19Cby98=","IAgb5vmtBUSL/IGhlZ6WvbEoHaJos31Gdm5QJSEapeY=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199262771\n9J2rgf0tu4kZ02YusYUiWtqDeezs+J2FKjDoqtU0Rzc=\n\n— rekor.sigstore.dev wNI9ajBFAiAJTnKOO9WhEg7D9gDyO7ukN0YzxZYKR7DwUuBtQmR6lAIhALbZCqRzvDiBuAU76rvQ5NbBTh5dN7vQkUzRQlCAe5Km\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJiNTFhYjY2ZTY1NmVmM2M3MzRmNGMwY2FkYTU0NTZiMGNkYmM4MTdlZGJmZWJlZjZjNzBkYTA4YTBiNzI3NzRjIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURZNEF3YlFQY2xSWE5QNUxMdGxCSG40K1lwQlBDdzljRGZlb2dpVHhmS2tnSWdUZFkvejVQNEc0ZVo5TFlRalE5Y29XcTUrdVZDYmc2T1YzOG5qcThpeUI4PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1WRU5EUW5KTFowRjNTVUpCWjBsVlJsbEllVk15YW1sbE9VUnpjRTFIU0dkc1FrbHNMMm96Y2tGRmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbnBGTWxkb1kwNU5hbGw0VFVSRk5VMVVUWGRPZWtVeVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZhYVdnM2JHVjBlVWQ2YTI1MWExVlFSa2d4V25jMldFazRTRnBzUzFGNU1qZ3ZSVVlLTWtSRFQyVlFiMVJCU21OblpUZ3JRbmhGVW5aS0wxSnVVM2xOT0ZOUE4wYzJMelJqTDFFNVEzRkliVXBuTTBFd2RIRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNldWaEJRVUZDUVUxQlVucENSa0ZwUVdaTk5rVmxTVVpqYzNCdU1XWk1UbkJETkhOQ1IweFlNV2RYWldwWk1sbGFNZ3B0TW5RcmNFb3lWblpSU1doQlRGUkdSR0p6Vmtoa2FtSlBZUzk2ZG5sRllrbDBjamxtYWxOUUt6azFVRWhuVG1WblpVVnlMMVZDVkUxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKclFVMUhXVU5OVVVOblUyZDZUVmxuWkZCVmQwSjVjV0V6VkZoWFIyWm5Sa2R5TWpJM1UwcFBVM1ZrTlVwYVlXSnpka1FyWldvS1dYUk9TVlpQSzJWemRXTlNOVXBNVmtVeU9FTk5VVVJTVW5OTlNqZExXa0paVFU1cVJXNUhRVFp5WlVSeFdHdHFRMU54WTFONloyOUpVRE5xYUU0NVRBcHhPVmxaYVRnNGEyTklkSFUwTTBSTlJqVTNlbVJNTUQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQguDhONePiSX5r7zmtff3ahr8fWo23VOoyL0va7ebKiBgCFQC1PB0X+djb7UfGc7g2Yhe5xQibkBgPMjAyNjEwMTkxMjU3MTZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTcxNlowLwYJKoZIhvcNAQkEMSIEIEQsfjUD9Gzq9EZnsypdUlRI+/urVYZnVQfSUk1TyVghMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMFNMZgE+bFL6C7dv4Iyyadm0EPzBzNY0Jo92PIndIPleKVYNcRyUT1tST5ap4BLebgIwcjOSS+bZZwaJuB44t4ozgWI9G/HqlnQ+GzL+YF6e5lrY+bXI2kc0Hm4RDyjh/xJX"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"tRq2bmVu88c09MDK2lRWsM28gX7b/r72xw2gigtyd0w="},"signature":"MEUCIQDY4AwbQPclRXNP5LLtlBHn4+YpBPCw9cDfeogiTxfKkgIgTdY/z5P4G4eZ9LYQjQ9coWq5+uVCbg6OV38njq8iyB8="}}
build/torch212-cu126-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch212-cu130-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out
build/torch212-cu130-aarch64-linux/_ops.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from . import _tinygrad_rms_cuda_fe2bb66
3
+ ops = torch.ops._tinygrad_rms_cuda_fe2bb66
4
+
5
+ def add_op_namespace_prefix(op_name: str):
6
+ """
7
+ Prefix op by namespace.
8
+ """
9
+ return f"_tinygrad_rms_cuda_fe2bb66::{op_name}"
build/torch212-cu130-aarch64-linux/_tinygrad_rms_cuda_fe2bb66.abi3.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:81e2746171e37edebd22caddaff86def9b6652d3f790f5f43f66e1f13c00ff75
3
+ size 428456
build/torch212-cu130-aarch64-linux/metadata.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tinygrad-rms",
3
+ "id": "_tinygrad_rms_cuda_fe2bb66",
4
+ "version": 1,
5
+ "kernels-minver": "0.14.0",
6
+ "license": "MIT",
7
+ "python-depends": [],
8
+ "kernel-depends": [],
9
+ "backend": {
10
+ "type": "cuda",
11
+ "archs": [
12
+ "10.0",
13
+ "10.3",
14
+ "11.0",
15
+ "12.0",
16
+ "12.1+PTX",
17
+ "7.5",
18
+ "8.0",
19
+ "8.6",
20
+ "8.7",
21
+ "8.9",
22
+ "9.0"
23
+ ]
24
+ },
25
+ "digest": {
26
+ "algorithm": "sha256",
27
+ "files": {
28
+ "__init__.py": "0dfi4qiWxuB1He7Tox2pesdhYAHIYSGt2ftn9Skrj68=",
29
+ "_ops.py": "7PcGAY31Ycgaq3RcrxGAAMmBwZvIEM3+JmZZ51RHMEM=",
30
+ "_tinygrad_rms_cuda_fe2bb66.abi3.so": "geJ0YXHjft69Isrdr/ht75tmUtP3kPX0P2bh8TwA/3U=",
31
+ "symbols.json": "EmIHHgdj+G3ZHTOkusfpvm2PMHpPq7txvyOoLaLKjHw="
32
+ }
33
+ },
34
+ "provenance": {
35
+ "kernel-builder": {
36
+ "version": "0.18.0-dev0",
37
+ "commit": "d054906a13710b811b96697b4635f03020842733",
38
+ "dirty": false
39
+ },
40
+ "kernel": {
41
+ "commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
42
+ "dirty": false
43
+ }
44
+ }
45
+ }
build/torch212-cu130-aarch64-linux/metadata.json.sigstore ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrGgAwIBAgIUUQzn0tN//mv6WObIFzrNIuINHxYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTI1NzE5WhcNMjYxMDE5MTMwNzE5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOPIsWC+4Qa3nxDlADoklRoPr1fj9EZ/kLZrcFLP5yb86hMj4v7/S5ggxJchwq7AXpZjwbp/vOM66IBQWDv/zOaOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY3MjY5MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVDzmXQAABAMARjBEAiBbV5H1+kvbGKd7rDUn5Cjz1Ovp+jIwKsNiwqgbV7nOGwIgZ6lsSccv8YZPrNnxPmWltoJSvWFNAWobqahuDBgtHO8wCgYIKoZIzj0EAwMDaAAwZQIxAO2XB4HcXi0SJK6eaJ97ACq06x+kzrvF13Hs7nh0MJBitZkIKCOo7S9uJVQRVjqe9AIwQRLo527vO8UOWcM2NZRgaB88QaqmoPWneKKpoYOdP8fvs79vGzpDxyRseNGphFFV"},"tlogEntries":[{"logIndex":"3321167170","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792414639","inclusionPromise":{"signedEntryTimestamp":"MEQCIDfH2ahSBp37JmD1F3SQAwu2Mtc3GOuOCUsnP8c4k/mrAiAYZoU3MgehKbS7qsSAbjRLO/YR4dGVok2B1Rv86w3WVg=="},"inclusionProof":{"logIndex":"3199262908","rootHash":"12RtvRPxhTkumePBbamSvuV/ZP350OC0gbxFs/GhRUI=","treeSize":"3199262925","hashes":["xoYqjf/vewEQJaYPxBxRy7qa0AS5ohFWxSl6kozVrGA=","SpvmvuVqA2a/s8FrA54hPJKFae8tOv6+VHSBV8VcC7U=","KRumy9vlv/RY0SB6t7vFyURPF0MfzK3lNpePxaCejHE=","8Uc4jdLf5mjdJEdhWpHrR7qrrFKuqVDzbxWZF3jeKHQ=","tues1FjRWEEVRef0nm0MSXTmG8RCcs4AUjYKd74xhwk=","UfFRl8FmgeTZ2PjF6x0qEvgeXzft/Anah/2OePGaAPE=","Txf7e7O+3N//CFvFUbNQTVqoQoi9SS/bNt8G0McL9To=","ME9/Qb0b2sDeb++eI7zp/b9OXF6Z2A3QtieDi4lZ7DE=","IAgb5vmtBUSL/IGhlZ6WvbEoHaJos31Gdm5QJSEapeY=","YOnLVAkDQnILGEJYSR21xy+ZPDFrax8WvEieGVKzimA=","mzY3Hx1VRL0ZX3vYos1Z+Rl/9nBlVqbiGnsL1HfwPRM=","kHa2Ke03zePMosAfwPNg2y4kk1ZwjdZi4MKNVX7epiE=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3199262925\n12RtvRPxhTkumePBbamSvuV/ZP350OC0gbxFs/GhRUI=\n\n— rekor.sigstore.dev wNI9ajBFAiEAgsNdNPAmEVa0YblXijnX8luIchP5sRo1M9SUrDiQwE4CIC5QyXT2ka9FK9FqtCCv1SGFSIcYitRrip1Tsj59DcYF\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjNGU1MDEwOWM2NTEyYjU5ZjZlNmEyZmVlNTYxY2IwYTM2NTkwNjAwNjQ1MzE2NzUxOWQ1NjU2OGQzOWVlODM1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURwQ3gyc2tBU1hGQkx1cHVGVTdPUlBrYjJHRDdIb3Bnc1pqa3czZnh1NVBRSWhBTzhIU1JxUDB1OEpVYnRuQTQ5bzJFZDN3cDA3OE4zcTNZZ1lXdWFGRGVQYyIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KSFowRjNTVUpCWjBsVlZWRjZiakIwVGk4dmJYWTJWMDlpU1VaNmNrNUpkVWxPU0hoWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFa3hUbnBGTlZkb1kwNU5hbGw0VFVSRk5VMVVUWGRPZWtVMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZQVUVselYwTXJORkZoTTI1NFJHeEJSRzlyYkZKdlVISXhabW81UlZvdmEweGFjbU1LUmt4UU5YbGlPRFpvVFdvMGRqY3ZVelZuWjNoS1kyaDNjVGRCV0hCYWFuZGljQzkyVDAwMk5rbENVVmRFZGk5NlQyRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1ROTmFsazFUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmtSNmJWaFJRVUZDUVUxQlVtcENSVUZwUW1KV05VZ3hLMnQyWWtkTFpEZHlSRlZ1TlVOcWVqRlBkbkFyYWtsM1MzTk9hUXAzY1dkaVZqZHVUMGQzU1dkYU5teHpVMk5qZGpoWldsQnlUbTU0VUcxWGJIUnZTbE4yVjBaT1FWZHZZbkZoYUhWRVFtZDBTRTg0ZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVVGQmQxcFJTWGhCVHpKWVFqUklZMWhwTUZOS1N6WmxZVW81TjBGRGNUQTJlQ3RyZW5KMlJqRXpTSE0zYm1nd1RVcENhWFJhYTBrS1MwTlBiemRUT1hWS1ZsRlNWbXB4WlRsQlNYZFJVa3h2TlRJM2RrODRWVTlYWTAweVRscFNaMkZDT0RoUllYRnRiMUJYYm1WTFMzQnZXVTlrVURobWRncHpOemwyUjNwd1JIaDVVbk5sVGtkd2FFWkdWZ290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgqUcvy7Sn+neTT3NKzByw4p7vZnHaWK1AuCQxRM696IYCFQCLmEZ0O3WlQidEzXuOKjSZRQ07ABgPMjAyNjEwMTkxMjU3MTlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTEyNTcxOVowLwYJKoZIhvcNAQkEMSIEIGSV41lL8t9ufmhmMjSUolU1nYmI7TdwBBZ6aO60PtUCMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMALMNxcFwkbe5nnanGLbj+zEyzelz0/9BtTgPvAnoMgqgVGX3zTts8u4mrk1cL6y1wIxAPEsjQBOqzCQE2Qw+81ImoH9dxeva+8zXq/Lh0jcUabcE3Ef9fX/495G761Oqx7CWg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"xOUBCcZRK1n25qL+5WHLCjZZBgBkUxZ1GdVlaNOe6DU="},"signature":"MEYCIQDpCx2skASXFBLupuFU7ORPkb2GD7HopgsZjkw3fxu5PQIhAO8HSRqP0u8JUbtnA49o2Ed3wp078N3q3YgYWuaFDePc"}}
build/torch212-cu130-aarch64-linux/symbols.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "module": "_tinygrad_rms_cuda_fe2bb66",
4
+ "functions": [],
5
+ "layers": []
6
+ }
build/torch212-cu132-aarch64-linux/__init__.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Optional, Tuple
2
+
3
+ import torch
4
+
5
+ from ._ops import ops
6
+
7
+
8
+ def tinygrad_rms_norm(
9
+ x: torch.Tensor,
10
+ epsilon: float = 1e-6,
11
+ out: Optional[torch.Tensor] = None,
12
+ ) -> Tuple[torch.Tensor, torch.Tensor]:
13
+ """
14
+ Compute RMSNorm using tinygrad-style CUDA kernels.
15
+
16
+ RMSNorm(x) = x * (1 / sqrt(mean(x^2) + epsilon))
17
+
18
+ This implementation uses a two-kernel approach:
19
+ 1. Compute 1/sqrt(mean(x^2) + epsilon) for each row
20
+ 2. Multiply input by the computed factor
21
+
22
+ Args:
23
+ x: Input tensor of shape (..., hidden_size)
24
+ epsilon: Small constant for numerical stability
25
+ out: Optional pre-allocated output tensor
26
+
27
+ Returns:
28
+ Tuple of (output tensor, rms_inv tensor)
29
+ """
30
+ if out is None:
31
+ out = torch.empty_like(x)
32
+
33
+ hidden_size = x.size(-1)
34
+ num_rows = x.numel() // hidden_size
35
+ rms_inv = torch.empty(num_rows, dtype=x.dtype, device=x.device)
36
+
37
+ ops.tinygrad_rms_norm(out, rms_inv, x, epsilon)
38
+ return out, rms_inv
39
+
40
+
41
+ def tinygrad_rms_norm_simple(
42
+ x: torch.Tensor,
43
+ epsilon: float = 1e-6,
44
+ out: Optional[torch.Tensor] = None,
45
+ ) -> torch.Tensor:
46
+ """
47
+ Compute RMSNorm using tinygrad-style CUDA kernels.
48
+
49
+ This is a simpler interface that only returns the normalized output.
50
+
51
+ Args:
52
+ x: Input tensor of shape (..., hidden_size)
53
+ epsilon: Small constant for numerical stability
54
+ out: Optional pre-allocated output tensor
55
+
56
+ Returns:
57
+ Normalized output tensor
58
+ """
59
+ if out is None:
60
+ out = torch.empty_like(x)
61
+
62
+ ops.tinygrad_rms_norm_inplace(out, x, epsilon)
63
+ return out