code: def forward(ctx, config, input, embeddings, step):
      cuda_module = transformer_cuda_module
      forward_func = (
          cuda_module.transformer_embedding_layer_fw_fp16
          if config.fp16
          else cuda_module.transformer_embedding_layer_fw_fp32
      )
  
      (output,) = forward_func(
          config.layer_id,
          input,
          step,
          config.training,
          config.quant_mode,
      )
  
      if config.is_grad_enabled and config.training:
          ctx.save_for_backward(input)
          ctx.config = config
      return output
  
imports: import copy
  import torch
  from torch import nn
  from torch.autograd import Function
  from lightseq.training.ops.pytorch import TransformerBuilder
  from lightseq.training.ops.pytorch.layer_base import TransformerEmbeddingLayerBase
  from lightseq.training.ops.pytorch.util import copy_para, state_dict, calc_offset, get_pos_embedding
label_desc: Use image node_id 1 for calling the LSTransformerEmbeddingFunc obj's underlying member method code with example usage: obj.forward(ctx, config, input, embeddings, step) and returns: output