code: def uops_to_ptx_asm(function_name: str, uops: List[UOp]):
      lang = PTXLanguage()
      global_size, local_size = uops_to_asmstyle(
          lang, function_name, uops
      )
      return (
          specialize_to_ptx(lang, function_name),
          global_size[::-1],
          local_size[::-1],
          True,
      )
  
file_path: tinygrad/extra/assembly/assembly_ptx.py
imports: from typing import List
  import struct
  from tinygrad.codegen.assembly import uops_to_asmstyle, AssemblyLanguage
  from tinygrad.codegen.linearizer import UOps, UOp
  from tinygrad import dtypes
  from tinygrad.ops import BinaryOps, UnaryOps, TernaryOps
  from tinygrad.runtime.ops_cuda import arch
label_desc: Use image node_id 5 for calling a global function with example usage: uops_to_ptx_asm(function_name, uops) and returns: specialize_to_ptx,  global_size,  local_size,  True