class_docstr: Linear operator that does not calculate gradient for weight.
  This op and LinearWithGradAccumulationAndAsyncCommunication performs 
  mathematically-identical forward and DGRAD. 
  
  Conceptually this op is the same as torch.nn.functional.linear with
  weight.requires_grad==False, but in experiments they are not identical 
  mathematically. 
code: def forward(
      ctx,
      input,
      weight,
      bias,
  ):
      ctx.save_for_backward(weight)
      output = torch.matmul(input, weight.t())
      if bias is not None:
          output = output + bias
      return output
  
imports: import math
  import os
  import warnings
  from typing import Callable, Optional
  import torch
  import torch.nn.functional
  import torch.nn.init
  from torch.cuda.amp import custom_bwd, custom_fwd
  from torch.nn.parameter import Parameter
  from megatron.core.model_parallel_config import ModelParallelConfig
  from megatron.core.parallel_state import get_global_memory_buffer, get_tensor_model_parallel_group, get_tensor_model_parallel_rank, get_tensor_model_parallel_world_size
  from .mappings import copy_to_tensor_model_parallel_region, gather_from_sequence_parallel_region, gather_from_tensor_model_parallel_region, reduce_from_tensor_model_parallel_region, reduce_scatter_to_sequence_parallel_region, scatter_to_tensor_model_parallel_region
  from .random import get_cuda_rng_tracker, get_expert_parallel_rng_tracker_name
  from .utils import VocabUtility, divide, split_tensor_along_last_dim
label_desc: Use image node_id 1 for calling the LinearWithFrozenWeight obj's underlying member method code with example usage: obj.forward(ctx, input, weight, bias) and returns: output