docstr: near_far_from_aabb, CUDA implementation
  Calculate rays' intersection time (near and far) with aabb
  Args:
      rays_o: float, [N, 3]
      rays_d: float, [N, 3]
      aabb: float, [6], (xmin, ymin, zmin, xmax, ymax, zmax)
      min_near: float, scalar
  Returns:
      nears: float, [N]
      fars: float, [N]
docstr_tok: ["near_far_from_aabb",",","CUDA","implementation","Calculate","rays","'","intersection","time","(","near","and","far",")","with","aabb","Args",":","rays_o",":","float",",","[","N",",","3","]","rays_d",":","float",",","[","N",",","3","]","aabb",":","float",",","[","6","]",",","(","xmin",",","ymin",",","zmin",",","xmax",",","ymax",",","zmax",")","min_near",":","float",",","scalar","Returns",":","nears",":","float",",","[","N","]","fars",":","float",",","[","N","]"]
code: def forward(ctx, rays_o, rays_d, aabb, min_near=0.2):
      """near_far_from_aabb, CUDA implementation
      Calculate rays' intersection time (near and far) with aabb
      Args:
          rays_o: float, [N, 3]
          rays_d: float, [N, 3]
          aabb: float, [6], (xmin, ymin, zmin, xmax, ymax, zmax)
          min_near: float, scalar
      Returns:
          nears: float, [N]
          fars: float, [N]
      """
      if not rays_o.is_cuda:
          rays_o = rays_o.cuda()
      if not rays_d.is_cuda:
          rays_d = rays_d.cuda()
  
      rays_o = rays_o.contiguous().view(-1, 3)
      rays_d = rays_d.contiguous().view(-1, 3)
  
      N = rays_o.shape[0]  # num rays
  
      nears = torch.empty(N, dtype=rays_o.dtype, device=rays_o.device)
      fars = torch.empty(N, dtype=rays_o.dtype, device=rays_o.device)
  
      get_backend().near_far_from_aabb(
          rays_o, rays_d, aabb, N, min_near, nears, fars
      )
  
      return nears, fars
  
imports: import torch
  from torch.autograd import Function
  from torch.cuda.amp import custom_bwd, custom_fwd
label_desc: Use image node_id 1 for calling the _near_far_from_aabb obj's underlying member method code with example usage: obj.forward(ctx, rays_o, rays_d, aabb, min_near) and returns: nears,  fars