Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse files- build/torch210-cpu-x86_64-linux/__init__.py +57 -0
- build/torch210-cpu-x86_64-linux/_ops.py +9 -0
- build/torch210-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch210-cpu-x86_64-linux/layers.py +41 -0
- build/torch210-cpu-x86_64-linux/metadata.json +33 -0
- build/torch210-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch210-cpu-x86_64-linux/symbols.json +103 -0
- build/torch211-cpu-x86_64-linux/__init__.py +57 -0
- build/torch211-cpu-x86_64-linux/_ops.py +9 -0
- build/torch211-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch211-cpu-x86_64-linux/layers.py +41 -0
- build/torch211-cpu-x86_64-linux/metadata.json +33 -0
- build/torch211-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch211-cpu-x86_64-linux/symbols.json +103 -0
- build/torch212-cpu-x86_64-linux/__init__.py +57 -0
- build/torch212-cpu-x86_64-linux/_ops.py +9 -0
- build/torch212-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch212-cpu-x86_64-linux/layers.py +41 -0
- build/torch212-cpu-x86_64-linux/metadata.json +33 -0
- build/torch212-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch212-cpu-x86_64-linux/symbols.json +103 -0
- build/torch213-cpu-x86_64-linux/__init__.py +57 -0
- build/torch213-cpu-x86_64-linux/_ops.py +9 -0
- build/torch213-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch213-cpu-x86_64-linux/layers.py +41 -0
- build/torch213-cpu-x86_64-linux/metadata.json +33 -0
- build/torch213-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch213-cpu-x86_64-linux/symbols.json +103 -0
- build/torch214-cpu-x86_64-linux/__init__.py +57 -0
- build/torch214-cpu-x86_64-linux/_ops.py +9 -0
- build/torch214-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch214-cpu-x86_64-linux/layers.py +41 -0
- build/torch214-cpu-x86_64-linux/metadata.json +33 -0
- build/torch214-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch214-cpu-x86_64-linux/symbols.json +103 -0
- build/torch215-cpu-x86_64-linux/__init__.py +57 -0
- build/torch215-cpu-x86_64-linux/_ops.py +9 -0
- build/torch215-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so +3 -0
- build/torch215-cpu-x86_64-linux/layers.py +41 -0
- build/torch215-cpu-x86_64-linux/metadata.json +33 -0
- build/torch215-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch215-cpu-x86_64-linux/symbols.json +103 -0
build/torch210-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch210-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch210-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f6592ec4366732e0dc43c26132427d9e667974d39d1e016ff431bacf61d3f8a3
|
| 3 |
+
size 83680
|
build/torch210-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch210-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "9lkuxDZnMuDcQ8JhMkJ9nmZ5dNOdHgFv9DG6z2HT+KM=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch210-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUDrVCPXPqEsE6JQQiJZlGa7Hff+cwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTI5WhcNMjYxMDE5MTUyMTI5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkzI7wpcjOI2pN4S8FPE4gOU3nkWMFmN6Pi5gyNn6GWlnk6TY5kU8T5gLL6+MgIByfdoT0ioNQKA3Txd8ojE0KOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLe71AAABAMARzBFAiEAoEf/Dm7yqQ09R5U1YWutK0nOdRZweEgD5pSMgwN5GQsCIDmPBVdh25QkahmtgpNr6PQMb69DgVdRH7KLidXpJmESMAoGCCqGSM49BAMDA2gAMGUCMQCzCm59+nFGIuoYBv8yI7tt0v3DnBy2sZFzR7OtUTEegvofLkFoUzZiunp70BObX/gCMF0veQmRB7MXuJxIa3kFpqR1diQWlocv0VF8/UsIDDTAbtNdp45ocrwY0wNJ/50v4Q=="}, "tlogEntries":[{"logIndex":"3322508207", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422690", "inclusionPromise":{"signedEntryTimestamp":"MEUCIG77E0AqDjq1iyZxB0i7FXWVE9xooutTJESFkekf5AiYAiEAjLf/o1Lcg41tQTWJbetPUwfIszawqy1sUs3Nw59w8n0="}, "inclusionProof":{"logIndex":"3200603945", "rootHash":"PMjTcSv3xYGz5uCw5AipjHPQD++c19IGs3JqnmZUI3g=", "treeSize":"3200604053", "hashes":["xKIj8XdPLiKXQ8WiLn/52XiCzAVAJPZAmT3IzMkv8qk=", "HhTScrGpM2rFwrnKiu0hfV3f0rhi0fn5tv0h92r/HDI=", "YiL/ERgRUxGC6OQnOo5+YauGFft8NL6RLrDXvtq+/xc=", "lHJHZbvWc29VCKx1cjkWKXkMRNtwsz8zX6f00Vo6jZ0=", "hiyJj8oO+dEdINUsxwI4v4tNOsJ0MODhfXZijXoqw20=", "30vcqFxbCsmFz5nnEc+1C+FSD4NsNHCTmmVuEslBqIk=", "3d1xVyTwJUnuw5jd3ibwIrpHNIQsaEup4+7GHl+9MWM=", "2x3AwyMlZ4HCRVyftGm+EOw7t1iS6MGy7VVhcVdCm/k=", "UWd8KpPiu4sBXt/zMoLpUPCOQHMerpviYaLF7XPVZw8=", "t2aKRPh0QuJjdpKMMcymHOoF8PBKLO3nDJVqEBHHpis=", "kogItXhllahPSj48mBClROlVt1E/04X7L/zfFWh05js=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200604053\nPMjTcSv3xYGz5uCw5AipjHPQD++c19IGs3JqnmZUI3g=\n\n— rekor.sigstore.dev wNI9ajBGAiEA9I+7+DgYu5eQzuWoFy4HkLsI5LdrYIwkbN+UJIb9tCgCIQCKHVs31ShGfik/d8hrpbp0bGuljHpGdm1QritNuNlwVQ==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4MWY5ZjU5YjFjZjczYjYxZWVkYzNjNThmMTJhNDMwYWMyNzcyNGIzODZkMGM3MWZjNGMxMDBlZTBiMjQ4ZTc4In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJR01CVzdlSkgyVHBiMUhRakkwVFVHVWhHZW1WOXgxUlRVcHlnRXQrTzNEcUFpQUwrcUxDNzY5b09abHRxbVBIY3hJOEFueTNCY3lkRE5icEpEK0NjUU9ZYkE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlJISldRMUJZVUhGRmMwVTJTbEZSYVVwYWJFZGhOMGhtWml0amQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJKTlZkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkVrMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZuYTNwSk4zZHdZMnBQU1RKd1RqUlRPRVpRUlRSblQxVXpibXRYVFVadFRqWlFhVFVLWjNsT2JqWkhWMnh1YXpaVVdUVnJWVGhVTldkTVREWXJUV2RKUW5sbVpHOVVNR2x2VGxGTFFUTlVlR1E0YjJwRk1FdFBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bE56RkJRVUZDUVUxQlVucENSa0ZwUlVGdlJXWXZSRzAzZVhGUk1EbFNOVlV4V1ZkMWRFc3diazlrVWxwM1pVVm5SQW8xY0ZOTlozZE9OVWRSYzBOSlJHMVFRbFprYURJMVVXdGhhRzEwWjNCT2NqWlFVVTFpTmpsRVoxWmtVa2czUzB4cFpGaHdTbTFGVTAxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OVVVONlEyMDFPU3R1UmtkSmRXOVpRblk0ZVVrM2RIUXdkak5FYmtKNU1uTmFSbnBTTjA5MFZWUkZaV2QyYjJZS1RHdEdiMVY2V21sMWJuQTNNRUpQWWxndlowTk5SakIyWlZGdFVrSTNUVmgxU25oSllUTnJSbkJ4VWpGa2FWRlhiRzlqZGpCV1JqZ3ZWWE5KUkVSVVFRcGlkRTVrY0RRMWIyTnlkMWt3ZDA1S0x6VXdkalJSUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgfQal2S8rnHUmWfJcyWwsFXu1H567SC71l3aGIVVejU0CFFyxOPIvXIb3Z/CIxbDqseWSUxrwGA8yMDI2MTAxOTE1MTEyOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTUxMTI5WjAvBgkqhkiG9w0BCQQxIgQgJhTTQkrVtIolcPAAYpytT/vgbRCzaLhflq81alrMd6AwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAOMgmubh9aRyKGp93C60GR9chr/YyZXuJkayTmCizZJwxzBQ0vIJrzW0QJjXa55CZgIwKPbJAy3vIFk7hBT6OwdlLbFW66d7bSe6cFmNKOJY9ImcB/AD+ZtPOEiBrsKG1CsV"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"gfn1mxz3O2Hu3DxY8SpDCsJ3JLOG0McfxMEA7gskjng="}, "signature":"MEQCIGMBW7eJH2Tpb1HQjI0TUGUhGemV9x1RTUpygEt+O3DqAiAL+qLC769oOZltqmPHcxI8Any3BcydDNbpJD+CcQOYbA=="}}
|
build/torch210-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|
build/torch211-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch211-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch211-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:027623a204139b60f5fc885b1bfecca41b2e2a7a01e2a3e25051543a9d1af005
|
| 3 |
+
size 83680
|
build/torch211-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch211-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "AnYjogQTm2D1/IhbG/7MpBsuKnoB4qPiUFFUOp0a8AU=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch211-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHKjCCBrGgAwIBAgIUMNdeWTVIj3HqiDgpHZO/dg+YYrUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTMxWhcNMjYxMDE5MTUyMTMxWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdFCl/qSfgCpi6YK4r9+WMRBh8qCTNGYUEJLSZznx4mGVZbJV4W8IzK7ShXht0F+p/mOOOWrTgsRNxku/VSLRaqOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLfCagAABAMARjBEAiAIW6nhZHRMJofEZYWwenlkLiFkQAr3RncWBZ1nTxnXZwIgQvf0naFwlb0PT7yvFQ6/bRHckipizNpwMA0LcaVwwQAwCgYIKoZIzj0EAwMDZwAwZAIwfK+KSMjZAF73fdqFiS6gPT0DItk2iOMFasFrcSAivqvYxFU7SnLqkyX4vxSIQcH/AjB1uCyTri5Dqz5IawjLNHcalZZFW6FihyA2HrQIsnCa+xnuZelStmCXN5ea5BI/+IE="}, "tlogEntries":[{"logIndex":"3322508488", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422692", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQCyEYoNwBSXOpChy0YcNnEmWEmDl+IGRrYSFRgllEGzXgIhANHd8ESkI569IpNpo6X5RQ+QhSBuly0nmu6IKbxBHRh/"}, "inclusionProof":{"logIndex":"3200604226", "rootHash":"kmZrkNtgrmpWihOjXDuQLrKnexzvX11O+SsyjuhLy80=", "treeSize":"3200604231", "hashes":["Rvfy5sFV1IqCLv4nU39I5QCiNhCEU4sSRNfQvAHOA9U=", "M6MkXf/IwCCyC5ThiFhEgeuheyKFmyd3p78eJazNCkg=", "DexTTq4nd4z4DhdVF33SYlcwiNhhJ0lEYy82KrgSo1A=", "s4rzWPu+Q4gmgFJe7a3JrBaUbQZuNyqJDHNPesPoBpk=", "cMESfBrZIJWtgRg7gLKbamMMb3ybLtNtAOSmvPD4fZg=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200604231\nkmZrkNtgrmpWihOjXDuQLrKnexzvX11O+SsyjuhLy80=\n\n— rekor.sigstore.dev wNI9ajBFAiEA21o/i4LRZylzOs8Jb7t5It9lNuNLD0Im+rW9bJWwbtUCIE1BSHcoslloiNewsyarEbUK5S11Rm28HwT2FGziG9TP\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkNmNkZDg2OTliZjE0NGZlYjkxODc4ODViNzNjODdmOWZhZDcyYmY5ZGJlNDZjNjBlMGYxOGZhMDg2YzlkNDQ1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUQ0TzVHbkpINjVTZkNtUnRxTndneTFXMWtDQ25FWTFxa1UxWG5EL0ZINzdnSWhBTFpqc3NGYjBma1hGTWxWTXI5VHVOeDNIWmhmY0IyS012ZFNIVWdidEcyOCIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExha05EUW5KSFowRjNTVUpCWjBsVlRVNWtaVmRVVmtscU0waHhhVVJuY0VoYVR5OWtaeXRaV1hKVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJOZUZkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkUxNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZrUmtOc0wzRlRabWREY0drMldVczBjamtyVjAxU1FtZzRjVU5VVGtkWlZVVktURk1LV25wdWVEUnRSMVphWWtwV05GYzRTWHBMTjFOb1dHaDBNRVlyY0M5dFQwOVBWM0pVWjNOU1RuaHJkUzlXVTB4U1lYRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bVEyRm5RVUZDUVUxQlVtcENSVUZwUVVsWE5tNW9Xa2hTVFVwdlprVmFXVmQzWlc1c2EweHBSbXRSUVhJelVtNWpWd3BDV2pGdVZIaHVXRnAzU1dkUmRtWXdibUZHZDJ4aU1GQlVOM2wyUmxFMkwySlNTR05yYVhCcGVrNXdkMDFCTUV4allWWjNkMUZCZDBObldVbExiMXBKQ25wcU1FVkJkMDFFV25kQmQxcEJTWGRtU3l0TFUwMXFXa0ZHTnpObVpIRkdhVk0yWjFCVU1FUkpkR3N5YVU5TlJtRnpSbkpqVTBGcGRuRjJXWGhHVlRjS1UyNU1jV3Q1V0RSMmVGTkpVV05JTDBGcVFqRjFRM2xVY21rMVJIRjZOVWxoZDJwTVRraGpZV3hhV2taWE5rWnBhSGxCTWtoeVVVbHpia05oSzNodWRRcGFaV3hUZEcxRFdFNDFaV0UxUWtrdkswbEZQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgtR/ywX7m2MapO7WwwoduLo6mbQkE7rgfCqz4YPCuoBICFG26w5885xvAB0f19CQ/mwxexxOrGA8yMDI2MTAxOTE1MTEzMVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTUxMTMxWjAvBgkqhkiG9w0BCQQxIgQg6lBLwZ/1CNox2n+ff5MBQqSnnKAj+3Tlu3ISplhh56QwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwORSqKuElsZNPKKc+eCcL3uNGDHmPXmXdYOif7j4vTIFXAX1d5t+kcWIE0jbw7okqAjEA/fZWhdro1/MZwLJbHsMMWkWG9Z6opIaxDmPJ2IkynMQStiBy1rz//eQxPhWibOTl"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"1s3YaZvxRP65GHiFtzyH+frXK/nb5Gxg4PGPoIbJ1EU="}, "signature":"MEYCIQD4O5GnJH65SfCmRtqNwgy1W1kCCnEY1qkU1XnD/FH77gIhALZjssFb0fkXFMlVMr9TuNx3HZhfcB2KMvdSHUgbtG28"}}
|
build/torch211-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|
build/torch212-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch212-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch212-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19bdc4770964fe58c858488584f020cc953b3d3910c6793be77e67dd524b8187
|
| 3 |
+
size 83688
|
build/torch212-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch212-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "Gb3Edwlk/ljIWEiFhPAgzJU7PTkQxnk7535n3VJLgYc=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch212-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHKjCCBrGgAwIBAgIUUSvrE0TI3vw7GF6o1AEU7o8Vf+cwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTMyWhcNMjYxMDE5MTUyMTMyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErz/jdgVios54nCvD+yoTx1yMF+xN0gl3JQ/VA/Q/YaTiZVcCQv106P3gwVCeqAxgWwkDb2koJ4f1duBzrSfeC6OCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLfIHwAABAMARjBEAiAW3GeeYx3p/L0vlPjJZZhC1RKkfGK7AvpcmfpKy0VA9wIgET4CL7rp1MIu9hcJ7le7arNBld9OrHkaMV6sfoc3PSwwCgYIKoZIzj0EAwMDZwAwZAIwC6gtTw6VaSiUa2mART2+lvyEGqREA/lseuU4tgvTHHRQJM1deFFw1rdMyvaWnP2tAjBd7RX2CCuEe0j1VMRP4JUxuoZrCz51X+A5UaTBF89M5RdZGcDZ+5VMaO6ozT2gihg="}, "tlogEntries":[{"logIndex":"3322508678", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422693", "inclusionPromise":{"signedEntryTimestamp":"MEUCIA/Px3iSIRpg4tHKFpCmM9s1hMxEIl6r82jN25tWlNOnAiEAqQXQv3L3xcmzJCyAjJ7pqXTkQTcFgfhmlKvg4oKwsA8="}, "inclusionProof":{"logIndex":"3200604416", "rootHash":"lvN/wU4FH0nQo331Fo5yeonwjlDDRPPcThK6OefZElM=", "treeSize":"3200604525", "hashes":["97qk4GopYr1yd+9hZkjZgmgbe4hpKTNHjEhzZlz1vpU=", "3OGQ4VpzIVBXg8ZRAa66ioDyfNB4oxJ/sGk18ig5w2k=", "bHSh9I3bxupIobJSA5KkPLKB1MIgUHVPze1z3RpGDUA=", "U3c2ylH045/WzMj0xQa4cmGps82G+UTrLWKN5JIe0tk=", "KGatAUevxNkyjYDnSGlSgo5nTsiRoXgZwWxSwofjWd4=", "WzR+89CmuXiPYsL+2W70XC4n/+sAHihtQdSEonxIazc=", "NasdexgdA/aYMSOJdF3C3sVZ7p6qQQ6AKbl8ku3atko=", "6pvFxAsLSFeU189fRAdq6QsIw5qN2ZlQNSikNGVqW78=", "cMESfBrZIJWtgRg7gLKbamMMb3ybLtNtAOSmvPD4fZg=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200604525\nlvN/wU4FH0nQo331Fo5yeonwjlDDRPPcThK6OefZElM=\n\n— rekor.sigstore.dev wNI9ajBFAiA5kBxFxSKcwRKzE3Wad1ifa1FiV9tSykOzC+L4chrKFgIhAJ4dq0iosha3OetiB7W0mbJrHOPcG2ww3Km7V30C/IEG\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJmZDUzMDFkNDRjZGJkMzgxMjE1OWY5OGIyNjU2YjI0NzE0NmM1MTkzZDAwY2ViZmU2NDZkZjEwYTBjNzI3ZTZiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQ2plblNlSWhRMEtpUFl3Zi9wTmYxdjFKaXkvRTcvVURmb1NuQWZhU1NzMkFpRUFva3lLbFBQZ3pPVWV2ZHVCYjRXckhnRlN0N1dodHBUTy9UZjBHTGhFSzVNPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExha05EUW5KSFowRjNTVUpCWjBsVlZWTjJja1V3VkVremRuYzNSMFkyYnpGQlJWVTNiemhXWml0amQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJOZVZkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkUxNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ5ZWk5cVpHZFdhVzl6TlRSdVEzWkVLM2x2VkhneGVVMUdLM2hPTUdkc00wcFJMMVlLUVM5UkwxbGhWR2xhVm1ORFVYWXhNRFpRTTJkM1ZrTmxjVUY0WjFkM2EwUmlNbXR2U2pSbU1XUjFRbnB5VTJabFF6WlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bVNVaDNRVUZDUVUxQlVtcENSVUZwUVZjelIyVmxXWGd6Y0M5TU1IWnNVR3BLV2xwb1F6RlNTMnRtUjBzM1FYWndZd3B0Wm5CTGVUQldRVGwzU1dkRlZEUkRURGR5Y0RGTlNYVTVhR05LTjJ4bE4yRnlUa0pzWkRsUGNraHJZVTFXTm5ObWIyTXpVRk4zZDBObldVbExiMXBKQ25wcU1FVkJkMDFFV25kQmQxcEJTWGRETm1kMFZIYzJWbUZUYVZWaE1tMUJVbFF5SzJ4MmVVVkhjVkpGUVM5c2MyVjFWVFIwWjNaVVNFaFNVVXBOTVdRS1pVWkdkekZ5WkUxNWRtRlhibEF5ZEVGcVFtUTNVbGd5UTBOMVJXVXdhakZXVFZKUU5FcFZlSFZ2V25KRGVqVXhXQ3RCTlZWaFZFSkdPRGxOTlZKa1dncEhZMFJhS3pWV1RXRlBObTk2VkRKbmFXaG5QUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgZIFstgMuOA9Z4CZ+4Cw3TEeGWs62hcnQbTfKFgk4JBACFQC8kwQp448XbtuErU3FhFUicHm3CRgPMjAyNjEwMTkxNTExMzJaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTE1MTEzMlowLwYJKoZIhvcNAQkEMSIEIEk4NUCjQuAKj1IZz4vgcpwGUHuVY11Pcwa5OMQXMOjAMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQDWU9eyZgtT7d5vBgsQuV9FPzKGab0NgfdVcw/fTiYyDKEDmZM1EO0ATPxhohIIYUgCMQC8TXp1WaiIxZY+huvKNgsmONAOiaxgTzUcNzHKbMAjp/Ap50DF9d+U5cxScEQgn4I="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"/VMB1Ezb04EhWfmLJlayRxRsUZPQDOv+ZG3xCgxyfms="}, "signature":"MEUCICjenSeIhQ0KiPYwf/pNf1v1Jiy/E7/UDfoSnAfaSSs2AiEAokyKlPPgzOUevduBb4WrHgFSt7WhtpTO/Tf0GLhEK5M="}}
|
build/torch212-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|
build/torch213-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch213-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch213-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:13afb38bb1d1791a9e9614f49a9f9e48484426d4f6f49b32a4b34beb5531f7ac
|
| 3 |
+
size 83688
|
build/torch213-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch213-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "E6+zi7HReRqelhT0mp+eSEhEJtT29JsypLNL61Ux96w=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch213-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUX8zam2pHuC9h7K1AILZd7T/kZTUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTM0WhcNMjYxMDE5MTUyMTM0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEE74hanzi7oYheNF+0z3axnbve1bIwtJEzK1q51AksoTkViJPCxZuN/OW44n34l1tsvCF/WGk30SBSGdzyfvU36OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLfNpAAABAMARzBFAiEA2kcxEW0fWQljUspbUPq6lbm/w2PVVRxe6xUU3KUArcICID77zrELT3OfaLc4kk3sECTwF5pAKIQbHW8SjhotXh2UMAoGCCqGSM49BAMDA2gAMGUCMA50fwt82E2RSkO8j+K3WdwlsXP7x0Cwg6LGZhs/Oa9qxPlqj8cU34Leg0ICUEuavAIxAN3FLbx90bKCjrYDH5u/3CFaN3pg4yhQ/wW8/wSAIv+rkwjyseXwXMd/+Swb54wkDg=="}, "tlogEntries":[{"logIndex":"3322508940", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422694", "inclusionPromise":{"signedEntryTimestamp":"MEUCIBqUgGXMlrEaBWeoCctn+G6sW7mTHkeuTtTyYe7fH5hpAiEAiUIGGtsi0bHRN7X3GbAegid1pMAwLyWjdukEJO4Kmhg="}, "inclusionProof":{"logIndex":"3200604678", "rootHash":"n5vnzIsb9c/AIsZRhQCWBaqwQKKrkvMQnYX64i7GFYs=", "treeSize":"3200604698", "hashes":["0KfVK6vHh7JSq1Q5FdgxARntwIwXv8oAJNG8AeBwGT4=", "GdKHtltRurDOM4m3PJahHgsGtvnWrlnJ8eFGCoLlEno=", "jy7xMAkit9g75lD4ov+wMPYJ55Q7UyK3sKQfHlvX8xs=", "egkMfsCwyWhlMp8alRH60OYUTC6iqG09IzBCQo8idX0=", "OIrTU79JZnLvW5uQ6XLu6vi8tMgbKPOZIlSXy/CL1Mc=", "YuvVW/L2Y4tTG2IJ1hxhFvhKqNj89ud24Q3FqUC6xSo=", "cMESfBrZIJWtgRg7gLKbamMMb3ybLtNtAOSmvPD4fZg=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200604698\nn5vnzIsb9c/AIsZRhQCWBaqwQKKrkvMQnYX64i7GFYs=\n\n— rekor.sigstore.dev wNI9ajBEAiBb7C5K533SYh7pavFRR8Y51hJw8MOQ6iHS2MnE1ZVemgIgVApN+ElOZKDDoxD2njrtzkj+N8jnWgCK4vYNnsR4Zhs=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4NzI3MTgxNDhmYzQwYWViMmM0Y2YxZDRiZjdlNWNhYmNkYmFkZjA0NDAyM2ZhN2I5MmFmODMxYWMyNDBhOWY5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRlpiTTN1S250VEdZcVJBVjRBMHlYb2ZuSmkzOWo0WjN6Z21MdW5GTWhIMkFpQTk5U1hnZVBRSnh2L2w1VkZhU0FoMXhRNWVUdDlSWnNTNVZKQkxGOFJWNEE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVldEaDZZVzB5Y0VoMVF6bG9OMHN4UVVsTVdtUTNWQzlyV2xSVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJOTUZkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkUwd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZGTnpSb1lXNTZhVGR2V1dobFRrWXJNSG96WVhodVluWmxNV0pKZDNSS1JYcExNWEVLTlRGQmEzTnZWR3RXYVVwUVEzaGFkVTR2VDFjME5HNHpOR3d4ZEhOMlEwWXZWMGRyTXpCVFFsTkhaSHA1Wm5aVk16WlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bVRuQkJRVUZDUVUxQlVucENSa0ZwUlVFeWEyTjRSVmN3WmxkUmJHcFZjM0JpVlZCeE5teGliUzkzTWxCV1ZsSjRaUW8yZUZWVk0wdFZRWEpqU1VOSlJEYzNlbkpGVEZRelQyWmhUR00wYTJzemMwVkRWSGRHTlhCQlMwbFJZa2hYT0ZOcWFHOTBXR2d5VlUxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OUVRVd1puZDBPREpGTWxKVGEwODRhaXRMTTFka2QyeHpXRkEzZURCRGQyYzJURWRhYUhNdlQyRTVjWGhRYkhFS2FqaGpWVE0wVEdWbk1FbERWVVYxWVhaQlNYaEJUak5HVEdKNE9UQmlTME5xY2xsRVNEVjFMek5EUm1GT00zQm5OSGxvVVM5M1Z6Z3ZkMU5CU1hZcmNncHJkMnA1YzJWWWQxaE5aQzhyVTNkaU5UUjNhMFJuUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyzADAgEAMIICwgYJKoZIhvcNAQcCoIICszCCAq8CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgWoqgHO78Y3WDyhDt0PrGQCt/OopIh6FLRf0RxzPeLXUCFQD3c/oIZzarLuvVr4OUL1IFFJupoBgPMjAyNjEwMTkxNTExMzRaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTE1MTEzNFowLwYJKoZIhvcNAQkEMSIEIAomD2pf5+KupblAbdcdbWOvigpsOSulLwbUkCuOPc3SMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQDIcwQrZUcB6LTz1k5kvpUP7s5v5b88TXjgmXTzzYawcLay41jnbDRVoJHsZc6nGZECMQDzu9paTwG2DU7YeZFexlyzwjrUHq+bTlKzDdqdkUM+QCXyyKO90hJbyKcCkxblgtM="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"hycYFI/ECussTPHUv35cq8263wRAI/p7kq+DGsJAqfk="}, "signature":"MEQCIFZbM3uKntTGYqRAV4A0yXofnJi39j4Z3zgmLunFMhH2AiA99SXgePQJxv/l5VFaSAh1xQ5eTt9RZsS5VJBLF8RV4A=="}}
|
build/torch213-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|
build/torch214-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch214-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch214-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6130a2cc30afa26afa0e4fac107f8af1af52649f2c60133741cc8ae86f54ebb4
|
| 3 |
+
size 83688
|
build/torch214-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch214-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "YTCizDCvomr6Dk+sEH+K8a9SZJ8sYBM3QcyK6G9U67Q=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch214-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrGgAwIBAgIUcrTQSsBk9S35ogk5lW0bWL4yvwYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTM1WhcNMjYxMDE5MTUyMTM1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3Xv2CfUaQ66UI31DCavbyDwPzsxFuNGuPvq6JOqW1TkyRrywDUj9HIkdnwvv9Fxjx8zCd/ucJxhCe3nvUdF/MaOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLfRkQAABAMARjBEAiAoICii/eDkYvVIQy08kUZjTPFNtuNuOmSFuDClhxaeLQIgDJe18CgrphJO+E6YtSiOKJyq1PsdAfWyE58foKb5JWQwCgYIKoZIzj0EAwMDaAAwZQIxAPAyIoAPT5uqu+pi2+GFiQg+xcCzmS8hzk4vPPgRJTlKN9ePzfzGwCA643YSdhzATgIwGoAbnuHKmC/lyrBHOlgp8LTynHGIidifgp1ap6D83h1Wzve7sNmIKmVfKtbO+KFU"}, "tlogEntries":[{"logIndex":"3322509122", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422695", "inclusionPromise":{"signedEntryTimestamp":"MEQCIDSPVL9P3L3BddvBMX01vP21Zy502DF/YpK9EzwJ2XgOAiADo0cIyf22TveS7zCgR5NtXMldaKmFPHCpcBxra2Omog=="}, "inclusionProof":{"logIndex":"3200604860", "rootHash":"4Qax1pNug/RRpgMJi+byP7Jp8ZoLYRvSLnolo2NBbSQ=", "treeSize":"3200604893", "hashes":["1W8nDNcvutDl5Aam9X+Df9yUzMMd/ggJkIar25Rd8SQ=", "A/yJCw1H1O6HNgYw91EB5aYXu6H7+Ae2Bi9elts4yg0=", "QFFzcS8mhw1qb5eNbnkti3G0N/k+fGBNhLNzIpI0xVU=", "5Ft3QIZ7UhAIFoeYPz5tQV3Trv5GIhZFw6IcxvP6gBk=", "UDsv4K2jJKWdnKmDYnmWV4Rt8ZapbpnTTrpGsr+RjX4=", "PWTE3y45kAWUiVMZlLaz8l/AQst7oRAS6wkpTi+0HY4=", "I2bVy+dtdYACdvBOhN1CA/1Z21aKwmgw4dJhQRTkoxE=", "LLDPuGiRUto9ItpgwX45VFiuvDmuxOvxtPADFdF9a7U=", "YuvVW/L2Y4tTG2IJ1hxhFvhKqNj89ud24Q3FqUC6xSo=", "cMESfBrZIJWtgRg7gLKbamMMb3ybLtNtAOSmvPD4fZg=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200604893\n4Qax1pNug/RRpgMJi+byP7Jp8ZoLYRvSLnolo2NBbSQ=\n\n— rekor.sigstore.dev wNI9ajBGAiEAvWmDVAPvgfOCvAVVpLNZZSNaHmtRXxKcsHfFXA8m9JMCIQCZoCZ4uOvt3kMm5WLa1PTX1nUJ57Qm7RESAgSnVyMDRQ==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI5ZDNiM2E5NTllYjBlY2EwNmFlNjk2ODVhOTFjMzA3MDczYTU0ZjRiOTkwYmU4NDM4NjhiZGI4YWJjMjNlOWIyIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQ2FzUnVpeElzdDdmMmpzVWw2cnhKZm11emdsY2poN0ErMjlTN3ZiNDhtbUFpQnZRRDQwcWR3NWRrMXBNUWtVdVd5ZlN5U25zU000NlJodFBVMXdtZEl0WVE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KSFowRjNTVUpCWjBsVlkzSlVVVk56UW1zNVV6TTFiMmRyTld4WE1HSlhURFI1ZG5kWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJOTVZkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkUweFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVV6V0hZeVEyWlZZVkUyTmxWSk16RkVRMkYyWW5sRWQxQjZjM2hHZFU1SGRWQjJjVFlLU2s5eFZ6RlVhM2xTY25sM1JGVnFPVWhKYTJSdWQzWjJPVVo0YW5nNGVrTmtMM1ZqU25ob1EyVXpiblpWWkVZdlRXRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bVVtdFJRVUZDUVUxQlVtcENSVUZwUVc5SlEybHBMMlZFYTFsMlZrbFJlVEE0YTFWYWFsUlFSazUwZFU1MVQyMVRSZ3AxUkVOc2FIaGhaVXhSU1dkRVNtVXhPRU5uY25Cb1NrOHJSVFpaZEZOcFQwdEtlWEV4VUhOa1FXWlhlVVUxT0dadlMySTFTbGRSZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVVGQmQxcFJTWGhCVUVGNVNXOUJVRlExZFhGMUszQnBNaXRIUm1sUlp5dDRZME42YlZNNGFIcHJOSFpRVUdkU1NsUnNTMDQ1WlZBS2VtWjZSM2REUVRZME0xbFRaR2g2UVZSblNYZEhiMEZpYm5WSVMyMURMMng1Y2tKSVQyeG5jRGhNVkhsdVNFZEphV1JwWm1kd01XRndOa1E0TTJneFZ3cDZkbVUzYzA1dFNVdHRWbVpMZEdKUEswdEdWUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgR5+OoIlJj+sgCfBr4NPzUpP3ZBmLwWHdyuta5YZ3xZcCFQDuceuDmLTvs04Ix6IK0gMP9aAOrRgPMjAyNjEwMTkxNTExMzVaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTE1MTEzNVowLwYJKoZIhvcNAQkEMSIEIFHukYaKShG/r3vYO0rJEOaaUtULCooLtd3MrFKqwkgpMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQCtqA0eLyX870ceGCWPHqfVG47nw7M+c65vZIz9MXJGkG5226B9kp9osXNbDhQ7gLkCMEUAuqMr9Fb8WVgSI2DQ708e8H1+WPrcSI36LVb6lHUFboIRl3lhJGmvlF1xn6m+dA=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"nTs6lZ6w7KBq5paFqRwwcHOlT0uZC+hDhovbirwj6bI="}, "signature":"MEQCICasRuixIst7f2jsUl6rxJfmuzglcjh7A+29S7vb48mmAiBvQD40qdw5dk1pMQkUuWyfSySnsSM46RhtPU1wmdItYQ=="}}
|
build/torch214-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|
build/torch215-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
|
| 3 |
+
from . import layers
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def apply_rotary(
|
| 8 |
+
x1: torch.Tensor,
|
| 9 |
+
x2: torch.Tensor,
|
| 10 |
+
cos: torch.Tensor,
|
| 11 |
+
sin: torch.Tensor,
|
| 12 |
+
out1: torch.Tensor,
|
| 13 |
+
out2: torch.Tensor,
|
| 14 |
+
conj: bool,
|
| 15 |
+
) -> None:
|
| 16 |
+
ops.apply_rotary(x1, x2, cos, sin, out1, out2, conj)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def apply_rotary_transformers(
|
| 20 |
+
q: torch.Tensor,
|
| 21 |
+
k: torch.Tensor,
|
| 22 |
+
cos: torch.Tensor,
|
| 23 |
+
sin: torch.Tensor,
|
| 24 |
+
unsqueeze_dim: int = 1,
|
| 25 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 26 |
+
"""
|
| 27 |
+
Rotary kernel implementation wrapper
|
| 28 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 29 |
+
"""
|
| 30 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 31 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 32 |
+
|
| 33 |
+
q_rotated = q.clone()
|
| 34 |
+
k_rotated = k.clone()
|
| 35 |
+
|
| 36 |
+
# Get half dimension for rotation
|
| 37 |
+
half_dim = q.shape[-1] // 2
|
| 38 |
+
q1 = q_rotated[..., :half_dim]
|
| 39 |
+
q2 = q_rotated[..., half_dim:]
|
| 40 |
+
k1 = k_rotated[..., :half_dim]
|
| 41 |
+
k2 = k_rotated[..., half_dim:]
|
| 42 |
+
if cos.shape[-1] != half_dim:
|
| 43 |
+
# Trim cos/sin to match half_dim
|
| 44 |
+
cos = cos[..., :half_dim]
|
| 45 |
+
sin = sin[..., :half_dim]
|
| 46 |
+
|
| 47 |
+
apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 48 |
+
apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 49 |
+
return q_rotated, k_rotated
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
# Add torch compile support for functions
|
| 53 |
+
apply_rotary_transformers.can_torch_compile = True
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
# Keeping `apply_rotary` and `apply_rotary_transformers` for BC
|
| 57 |
+
__all__ = ["apply_rotary", "apply_rotary_transformers", "layers"]
|
build/torch215-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _rotary_cpu_fe2bb66
|
| 3 |
+
ops = torch.ops._rotary_cpu_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_rotary_cpu_fe2bb66::{op_name}"
|
build/torch215-cpu-x86_64-linux/_rotary_cpu_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0e9baa7c059f2c24d7586818a717a51854696b5de5db8bcc447b8d25cabf1c9d
|
| 3 |
+
size 83688
|
build/torch215-cpu-x86_64-linux/layers.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
import torch.nn as nn
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class apply_rotary_transformers(nn.Module):
|
| 8 |
+
can_torch_compile = True
|
| 9 |
+
|
| 10 |
+
def forward(
|
| 11 |
+
self,
|
| 12 |
+
q: torch.Tensor,
|
| 13 |
+
k: torch.Tensor,
|
| 14 |
+
cos: torch.Tensor,
|
| 15 |
+
sin: torch.Tensor,
|
| 16 |
+
unsqueeze_dim: int = 1,
|
| 17 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 18 |
+
"""
|
| 19 |
+
Rotary kernel implementation wrapper
|
| 20 |
+
Adapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature
|
| 21 |
+
"""
|
| 22 |
+
cos = cos.unsqueeze(unsqueeze_dim)
|
| 23 |
+
sin = sin.unsqueeze(unsqueeze_dim)
|
| 24 |
+
|
| 25 |
+
q_rotated = q.clone()
|
| 26 |
+
k_rotated = k.clone()
|
| 27 |
+
|
| 28 |
+
# Get half dimension for rotation
|
| 29 |
+
half_dim = q.shape[-1] // 2
|
| 30 |
+
q1 = q_rotated[..., :half_dim]
|
| 31 |
+
q2 = q_rotated[..., half_dim:]
|
| 32 |
+
k1 = k_rotated[..., :half_dim]
|
| 33 |
+
k2 = k_rotated[..., half_dim:]
|
| 34 |
+
if cos.shape[-1] != half_dim:
|
| 35 |
+
# Trim cos/sin to match half_dim
|
| 36 |
+
cos = cos[..., :half_dim]
|
| 37 |
+
sin = sin[..., :half_dim]
|
| 38 |
+
|
| 39 |
+
ops.apply_rotary(q1, q2, cos, sin, q1, q2, False)
|
| 40 |
+
ops.apply_rotary(k1, k2, cos, sin, k1, k2, False)
|
| 41 |
+
return q_rotated, k_rotated
|
build/torch215-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rotary",
|
| 3 |
+
"id": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"version": 2,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "BSD-3-Clause",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cpu"
|
| 11 |
+
},
|
| 12 |
+
"digest": {
|
| 13 |
+
"algorithm": "sha256",
|
| 14 |
+
"files": {
|
| 15 |
+
"__init__.py": "qlvCb0Z6KMkcCxgjDRxjD1ofWaJ/Lqx0cTFlqrncWyE=",
|
| 16 |
+
"_ops.py": "5qmt6HsPG2i5R0v5qJlrQxqmACiDXEJemIdtTxJasys=",
|
| 17 |
+
"_rotary_cpu_fe2bb66.abi3.so": "DpuqfAWfLCTXWGgYpxelGFRpa13l24vMRHuNJcq/HJ0=",
|
| 18 |
+
"layers.py": "c8ZzUlsVi1lOGhM67JSViZdKBSbIKItQxmWkXPiTEy4=",
|
| 19 |
+
"symbols.json": "EpjlrijTVQ0vzlVF+optcEsM4jDbLi/PwCXnnxqA+4E="
|
| 20 |
+
}
|
| 21 |
+
},
|
| 22 |
+
"provenance": {
|
| 23 |
+
"kernel-builder": {
|
| 24 |
+
"version": "0.18.0-dev0",
|
| 25 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 26 |
+
"dirty": false
|
| 27 |
+
},
|
| 28 |
+
"kernel": {
|
| 29 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 30 |
+
"dirty": false
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
build/torch215-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrGgAwIBAgIUBdIrevngVPyxIYYYv4XtENSV5OowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTUxMTM2WhcNMjYxMDE5MTUyMTM2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwamIdA5F2jQeYaMI/SXIvqUhejEcdyXWUdc2QrECXxEC6ec6trPxigCOihZHtcDm4NmZxOVKzedWG83P//u+0aOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTY0ODU2MS9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhVLfVfQAABAMARjBEAiBd1vIwSI/Mdnj6l/7dSZ45tiAEdW+q7mbAfjwKV4vIXwIgdh7arGrsd9uFEyFKw6tFFA56RW/EZ98FobEkRO7NWo0wCgYIKoZIzj0EAwMDaQAwZgIxAPlbaHw9BcN2Bt/6eT3JFRZqbrNYLY+s057UtY53oXdJQCouIvsFvz2VdMci9iSeVAIxAM8odFa2wMn6Q4By7PMkbbr7nj34WmvH2hFp5xrcbAHWHH6TO4dk3YxXTYJxB2f5Nw=="}, "tlogEntries":[{"logIndex":"3322509341", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1792422696", "inclusionPromise":{"signedEntryTimestamp":"MEUCIATgVpjRDzMRzbkkmzBKpkDdA+iCcezi56Lm4TOfP38jAiEA3Mn2e9c3+5QGWoJI06IKJsQxzQP/bNlDwhrCJvLIePY="}, "inclusionProof":{"logIndex":"3200605079", "rootHash":"FrfqMUFhDGyhUGSzmQ7b2AbYII6mZgi2t+kZ6o0JSrE=", "treeSize":"3200605110", "hashes":["KouCYzMn0T3pdPmi3G0mFpnXM7D+S9dNvmD4Wl+VKS0=", "2Wi24jZmzP2YZCWk2tBMG8b1iwzGUcKGAHIFAVBk5Zo=", "9+SO01o/1CVrGHYzF/X8wRW+eGmvxFpCuWkmVO8V5kQ=", "ZHEvXh4mWuufpdT+7GntAOmWBsFx25nIdffZf9zh43Q=", "EeulLwAa8RSx/zhAW6PW8YbSQnThBLHAyp9Hb2USYOw=", "OCIZi7DmGcBbCRzIzDa8R0mKHmZZ8hDds+8VjriSrUA=", "Dfj3UC3PV+nz/oTQxiFxKjcMYk5TBlNSi+DwyqlxIT0=", "8nfMvdMjZrLK9L48M76NWVRDDb6Y9B65nmunhKdPNPY=", "YuvVW/L2Y4tTG2IJ1hxhFvhKqNj89ud24Q3FqUC6xSo=", "cMESfBrZIJWtgRg7gLKbamMMb3ybLtNtAOSmvPD4fZg=", "C/Giv3PUe1bUB/kRq2RC2fT5i7oieFamPbHcpE4HkU8=", "7xH9P5OaSutHiz/dfLF5CZwFHmlAb48D0DkKLh3aSkw=", "xhqqGJOra7Bg7AWE6Om8Nds+lRSOgfX+NyHgNlsyTpw=", "+uGmdFlSXHU/F2/EH9t0YPf1KfLVa0s8IOgjHO79Z0Q=", "7WFpoaiQCzLwM3o2YI5Ngo8J7JD0OfyCCQtmXhWxVes=", "nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=", "G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=", "qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=", "gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=", "NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=", "qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3200605110\nFrfqMUFhDGyhUGSzmQ7b2AbYII6mZgi2t+kZ6o0JSrE=\n\n— rekor.sigstore.dev wNI9ajBGAiEAhSnChW+Llu47wuZjpyVIZhUm7GgH+rsNvO+FT05HZxUCIQDJPpX0/HYoosGrTezcefM9xM29X7b3Y3aIrORbkAR0Og==\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjYzI4MWU5ZGM5ODlhOWQ2MzZiM2YxZTBkNDE4MTE3ZTc0MmVkZDI4ZWJhYzk5ZDQwMWI4NWIzZTU2MGUyYzE5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJSHZzZzc1UlQvYWExUE80U2xZTzBQQzZzdmhYTmxETnljY3A0MGJlWGdBdUFpRUF0Yk12ZW9VbUlCenVMR0RZb2F1QVJFSVliZXFxVXdhNW91WUZ4T2hVbWhBPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KSFowRjNTVUpCWjBsVlFtUkpjbVYyYm1kV1VIbDRTVmxaV1hZMFdIUkZUbE5XTlU5dmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZGVjRUVlJOTWxkb1kwNU5hbGw0VFVSRk5VMVVWWGxOVkUweVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVYzWVcxSlpFRTFSakpxVVdWWllVMUpMMU5ZU1haeFZXaGxha1ZqWkhsWVYxVmtZeklLVVhKRlExaDRSVU0yWldNMmRISlFlR2xuUTA5cGFGcElkR05FYlRST2JWcDRUMVpMZW1Wa1YwYzRNMUF2TDNVck1HRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVV1RCUFJGVXlUVk01YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVmt4bVZtWlJRVUZDUVUxQlVtcENSVUZwUW1ReGRrbDNVMGt2VFdSdWFqWnNMemRrVTFvME5YUnBRVVZrVnl0eE4yMWlRUXBtYW5kTFZqUjJTVmgzU1dka2FEZGhja2R5YzJRNWRVWkZlVVpMZHpaMFJrWkJOVFpTVnk5RldqazRSbTlpUld0U1R6ZE9WMjh3ZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVZGQmQxcG5TWGhCVUd4aVlVaDNPVUpqVGpKQ2RDODJaVlF6U2taU1duRmljazVaVEZrcmN6QTFOMVYwV1RVemIxaGtTbEZEYjNVS1NYWnpSblo2TWxaa1RXTnBPV2xUWlZaQlNYaEJUVGh2WkVaaE1uZE5ialpSTkVKNU4xQk5hMkppY2pkdWFqTTBWMjEyU0RKb1JuQTFlSEpqWWtGSVZ3cElTRFpVVHpSa2F6TlplRmhVV1VwNFFqSm1OVTUzUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg9n3RErYvjrNp10H+pDrTMX8uDSsabio6aLyIJ4AaxtcCFQCvKtJZoTnuoy4l7VjLSHSmTM8ZsRgPMjAyNjEwMTkxNTExMzZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTE1MTEzNlowLwYJKoZIhvcNAQkEMSIEIKpdlM5I3JOA+j6O06mJ02JQhypJtfQNSd9a78Y0NgFXMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMGHfR3rKihfZc4pJkZT8dhhCShaOHdQdzhRqDm5W9jaTz6vvZS87pzrCnMyAjng0LwIxALb2V0VjtAw9wB/7PVtt7Hi47ov0Dv5UY3n9kPVXrDDvu7CpU0iZbKUfGHb7HBLdHw=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"zCgencmJqdY2s/Hg1BgRfnQu3SjrrJnUAbhbPlYOLBk="}, "signature":"MEUCIHvsg75RT/aa1PO4SlYO0PC6svhXNlDNyccp40beXgAuAiEAtbMveoUmIBzuLGDYoauAREIYbeqqUwa5ouYFxOhUmhA="}}
|
build/torch215-cpu-x86_64-linux/symbols.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "apply_rotary",
|
| 7 |
+
"qualname": "apply_rotary",
|
| 8 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "x1",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "x2",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "cos",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sin",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "out1",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "out2",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "torch.Tensor"
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"name": "conj",
|
| 51 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 52 |
+
"default": null,
|
| 53 |
+
"annotation": "bool"
|
| 54 |
+
}
|
| 55 |
+
],
|
| 56 |
+
"return_annotation": "None"
|
| 57 |
+
}
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"name": "apply_rotary_transformers",
|
| 61 |
+
"qualname": "apply_rotary_transformers",
|
| 62 |
+
"module": "_rotary_cpu_fe2bb66",
|
| 63 |
+
"kind": "function",
|
| 64 |
+
"doc": "Rotary kernel implementation wrapper\nAdapts rotary kernel implementation to match transformers apply_rotary_pos_emb signature",
|
| 65 |
+
"signature": {
|
| 66 |
+
"parameters": [
|
| 67 |
+
{
|
| 68 |
+
"name": "q",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "k",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "cos",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "sin",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "unsqueeze_dim",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": "1",
|
| 95 |
+
"annotation": "int"
|
| 96 |
+
}
|
| 97 |
+
],
|
| 98 |
+
"return_annotation": "tuple[torch.Tensor, torch.Tensor]"
|
| 99 |
+
}
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"layers": []
|
| 103 |
+
}
|