Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic expansion of thread data #294

Merged
merged 32 commits into from
Oct 16, 2023
Merged

Commits on Oct 16, 2023

  1. Tests for exceeding OMNITRACE_MAX_THREADS

    - tests which exceeds OMNITRACE_MAX_THREADS value for thread creation
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    c8454d3 View commit details
    Browse the repository at this point in the history
  2. CMake Formatting.cmake update

    - include source files in /tests/source directory
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    3ccd340 View commit details
    Browse the repository at this point in the history
  3. Add unknown-hash= to OMNITRACE_ABORT_FAIL_REGEX

    - fail if a timemory hash is not resolved to a name
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    046cc41 View commit details
    Browse the repository at this point in the history
  4. Tests for exceeding OMNITRACE_MAX_THREADS

    - update
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    f4b6160 View commit details
    Browse the repository at this point in the history
  5. omnitrace-sample update

    - remove env disabling of critical-trace and process-sampling
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    b32a2d2 View commit details
    Browse the repository at this point in the history
  6. core library update

    - make_unique in concepts.hpp
    - add OMNITRACE_USE_ROCM_SMI to "process_sampling" category
    - remove forced disabling of critical-trace in sampling mode
    - parentheses for OMNITRACE_PREFER
    - use tim::get_hash_id instead of tim::get_combined_hash_id
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    3398838 View commit details
    Browse the repository at this point in the history
  7. core library update (containers)

    - added aligned_static_vector.hpp
      - similar to static_vector.hpp but attempts to align to cache line size
    - alignment template parameter for stable_vector
    - added missing aliases in static_vector
      - consistent with aligned_static_vector aliases
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    b7f57f8 View commit details
    Browse the repository at this point in the history
  8. thread_info update

    - track the peak number of threads created
    - thread_info::get_peak_num_threads() returns the peak number of threads
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    5d864b0 View commit details
    Browse the repository at this point in the history
  9. thread_data update

    - generic thread_data inherits from base_thread_data
    - thread_data reworked to support dynamic expansion
    - base_thread_data updated to invoke private_instance() function
    - thread_data<optional<T>> uses stable_vector aligned to cache line width
    - thread_data<identity<T>> uses stable_vector aligned to cache line width
    - thread_data for optional and identity provide private private_instance function + friend to base_thread_data
    - component_bundle_cache<T> is now thread_data<component_bundle_cache_impl<T>>
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    7e54dd1 View commit details
    Browse the repository at this point in the history
  10. causal update

    - thread_data<T>::instances -> thread_data<T>::instance(construct_on_thread{ ... })
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    - tim::get_combined_hash_id -> tim::get_hash_id
    - update progress_bundle usage to new thread_data API
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    926bf2a View commit details
    Browse the repository at this point in the history
  11. backtrace/backtrace_metrics component update

    - backtrace_metrics update
      - update to new thead_data API
      - add thread CPU time row in perfetto
      - fix potential bug when rusage categories are disabled
      - fix bug in operator-= not subtracting cpu time of rhs
    - backtrace update
      - skip all child call-stack below 'tim::openmp::' if sampling_keep_internal = false
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    978f40b View commit details
    Browse the repository at this point in the history
  12. pthread_gotcha component update

    - pthread_gotcha::shutdown() invokes pthread_create_gotcha::shutdown()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    a06c5c8 View commit details
    Browse the repository at this point in the history
  13. pthread_create_gotcha component update

    - minor tweak to {start,stop}_bundle functions: pass in thread id
    - update to new thread_data API
    - track native handles of internal threads
    - implement system with pthread_kill to stop dangling bundles
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    0a95cbb View commit details
    Browse the repository at this point in the history
  14. rocprofiler/roctracer component update

    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    1bc41cb View commit details
    Browse the repository at this point in the history
  15. critical trace (library) update

    - update to new thread_data API
    - tim::get_combined_hash_id -> tim::get_hash_id
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    5a59ed1 View commit details
    Browse the repository at this point in the history
  16. coverage update

    - update to new thread_data API
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    dcc3a0f View commit details
    Browse the repository at this point in the history
  17. tasking update

    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    ac4de46 View commit details
    Browse the repository at this point in the history
  18. roctracer update

    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    caee9cf View commit details
    Browse the repository at this point in the history
  19. rocm_smi update

    - update to new thread_data API
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    7bc46d3 View commit details
    Browse the repository at this point in the history
  20. runtime.cpp update

    - update to new thread_data API
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    b86dfc4 View commit details
    Browse the repository at this point in the history
  21. sampling.cpp update

    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    f578990 View commit details
    Browse the repository at this point in the history
  22. ompt.cpp update

    - invoke pthread_gotcha::shutdown before invoking OMPT finalize function
      - this prevents signals from being delivered to OpenMP threads
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    19e3539 View commit details
    Browse the repository at this point in the history
  23. tracing.hpp and tracing.cpp update

    - replace get_timemory_hash_{ids,aliases} functions with copy_timemory_hash_ids function
    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    - tim::get_combined_hash_id -> tim::get_hash_id
    - improvements to + error checking in thread_init function
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    8c97658 View commit details
    Browse the repository at this point in the history
  24. library.cpp update

    - move copying timemory hash id/aliases to tracing.cpp
    - update to new thread_data API
    - loop over max_supported_threads (constexpr) -> loop over thread_info::get_peak_num_threads()
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    fbc0694 View commit details
    Browse the repository at this point in the history
  25. Update BuildSettings.cmake

    - add -Wno-interference-size to suppress warning about use of std::hardware_destructive_interference
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    ac18284 View commit details
    Browse the repository at this point in the history
  26. Update fork example

    - improve scheme for waiting on child processes via waitpid instead of wait
    - support running main routine multiple times
    - push/pop regions in child process
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    379263f View commit details
    Browse the repository at this point in the history
  27. Update lib/common/defines.h.in

    - allow use to specify misc values via -D <name>=<value>
      - OMNITRACE_CACHELINE_SIZE
      - OMNITRACE_CACHELINE_SIZE_MIN
      - OMNITRACE_ROCM_MAX_COUNTERS
    - remove unused defines
      - OMNITRACE_ROCM_LOOK_AHEAD
      - OMNITRACE_MAX_ROCM_QUEUES
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    72ff175 View commit details
    Browse the repository at this point in the history
  28. Update rocprofiler.hpp

    - OMNITRACE_MAX_ROCM_COUNTERS -> OMNITRACE_ROCM_MAX_COUNTERS
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    a6bf846 View commit details
    Browse the repository at this point in the history
  29. Update aligned_static_vector

    - set cacheline_align_v from max of OMNITRACE_CACHELINE_SIZE and OMNITRACE_CACHELINE_SIZE_MIN
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    6016fd0 View commit details
    Browse the repository at this point in the history
  30. Update tracing.cpp

    - acquire locks for updating main hash ids/aliases
    - only propagate ids/aliases when finalizing
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    914cd53 View commit details
    Browse the repository at this point in the history
  31. Update pthread_create_gotcha.cpp

    - make sure hash for "start_thread" exists on main thread
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    4771355 View commit details
    Browse the repository at this point in the history
  32. Update causal end to end tests

    - if OMNITRACE_BUILD_NUMBER is 1, set OMNITRACE_VERBOSE=0
    jrmadsen committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    150703c View commit details
    Browse the repository at this point in the history