class_docstr: Compile and run a given profiler executable.
class_docstr_tok: ["Compile","and","run","a","given","profiler","executable","."]
code: def __init__(self, cuda_arch, cutlass_path, binary_prefix):
      self.cuda_arch = cuda_arch
      self.binary_prefix = binary_prefix
      self.cutlass = cutlass_path
      self.cflags = f"-I{cutlass_path}/include -I{cutlass_path}/tools/util/include -O3 -std=c++17"
      self.cflags += " -DCUTLASS_ENABLE_TENSOR_CORE_MMA=1"
      self.cflags += f" -gencode=arch=compute_{cuda_arch},code=[sm_{cuda_arch},compute_{cuda_arch}]"
      self.cflags += (
          " -Xcompiler=-Wconversion -Xcompiler=-fno-strict-aliasing"
      )
      self.cmd = "nvcc {cflags} {src} -o {output}"
  
imports: import logging
  import os
  import re
  import tempfile
  import subprocess
  import multiprocessing
  import tvm._ffi
  from tvm.tir import IntImm
  from tvm.runtime import Object
  from .None import _ffi_api
  from .library import MathInstruction, DataType, DataTypeTag, OpcodeClass, MathOperation, TileDescription, EpilogueFunctor
  from .gemm_operation import instantiate_gemm_template
  from .conv2d_operation import instantiate_conv2d_template
label_desc: Use image node_id 1 to create a new ProfilerEngine object  with example: obj = ProfilerEngine(cuda_arch, cutlass_path, binary_prefix)