pwm1234-sri / timemory

Modular, multilingual (C, C++, CUDA, Fortran, Python) utility for performance measurement and analysis
Other
1 stars 0 forks source link

Questions to ask #1

Open pwm1234-sri opened 3 years ago

pwm1234-sri commented 3 years ago
  1. How to count operations? For example, I am processing many images, and I would like to count how many images I loaded, saved, copied, etc.

  2. A better approach to have a timemory interface similar to CV_TRACE_REGION_NEXT?

  3. How to run multiple simultaneous processes and keep their output separate?

  4. How to get a timeseries of profiler measurements? In addition to conventional hotspot measurements, I need to profile long running processes to see how the measurements change over time. For example, I have a process that runs over a 12 hour period. I need to measure timing numbers and summarize for 15 minute intervals, so that I can see how performance varies over the 12 hour running time. Is this possible with timemory? How?

  5. Can I use the shared libs build on windows now?

pwm1234-sri commented 3 years ago
  1. No, not as of 11/3/2020.
  2. I have an implementation of that in fini_timing()
    // modify timemory settings
    tim::settings::banner() = false;
    tim::settings::output_path() = GetOutputPath().generic_string();
    tim::manager::instance()->update_metadata_prefix();

    // get modified timemory settings and output a log message with the path to
    // the trace output directory. 
    auto tim_output = tim::settings::get_global_output_prefix();
    CROW_LOGGER_INFO(log::GetLogger("root"), "tim_output={}", tim_output);

    // shutdown the timemory library
    timemory_finalize_library();
pwm1234-sri commented 3 years ago

See https://github.com/NERSC/timemory/issues/105 for great answers to 1-4.