norm.py 400 Bytes
Newer Older
Haotian Tang's avatar
Haotian Tang committed
1
2
import torch
from torch import nn
3
import awq_ext
Haotian Tang's avatar
Haotian Tang committed
4

Casper Hansen's avatar
Casper Hansen committed
5
class FasterTransformerRMSNorm(nn.Module):
Haotian Tang's avatar
Haotian Tang committed
6
7
8
9
10
11
12
    def __init__(self, weight, eps=1e-6):
        super().__init__()
        self.weight = weight
        self.variance_epsilon = eps

    def forward(self, x):
        output = torch.empty_like(x)
13
        awq_ext.layernorm_forward_cuda(x, self.weight, output, self.variance_epsilon)
Haotian Tang's avatar
Haotian Tang committed
14
        return output