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

Address and thread sanitizer fixes #250

Merged
merged 27 commits into from
Feb 27, 2023

Conversation

jrmadsen
Copy link
Collaborator

@jrmadsen jrmadsen commented Feb 20, 2023

  • Fix compilation with clang
  • Tweak perfetto copy to build tree
  • Added suppression files to scripts
  • fix LD_PRELOAD support in omnitrace-causal and omnitrace-sample
  • use spin_mutex and spin_lock from timemory instead of atomic_mutex and atomic_lock
  • state uses atomic
  • fix some memory leaks
  • tweak testing
    • mpi tests do not use preload
    • increase timeout when using sanitizers
    • add env LD_PRELOAD when using sanitizers
    • improve reliability for causal profiling end-to-end tests
  • improve fork handling, especially w.r.t. perfetto

- Fix compilation with clang
- Tweak perfetto copy to build tree
- Added suppression files to scripts
- fix LD_PRELOAD support in omnitrace-causal and omnitrace-sample
- use spin_mutex and spin_lock from timemory instead of atomic_mutex and atomic_lock
- state uses atomic
- fix some memory leaks
- tweak testing
  - mpi tests do not use preload
  - increase timeout when using sanitizers
  - add env LD_PRELOAD when using sanitizers
@jrmadsen jrmadsen added timemory Issue affects/involves timemory features/capabilities libomnitrace Involves omnitrace library testing Extends/improves/modifies testing submodule Updates a git submodule libomnitrace-core Internal library containing core capabilities labels Feb 20, 2023
- fixed spin_mutex implementation
- this appears to cause errors during binary rewrite
- relaxed causal validation on CI systems (to account for hyperthreading decreasing prediction)
- improved impact calculation
- other general improvements to validate-causal-json.py
- numerous updates changing perfetto:: to ::perfetto::
- added perfetto_fwd.hpp
- user API for validation that stopping/starting perfetto is valid
- tweak regions in fork example
- handle disabling tmp files
- get rid of stop/start with perfetto before/after fork
- fixed sampling support during fork
- tweak env of fork test
- quick exit to avoid perfetto cleanup
- enable PROCESSOR_AFFINITY
- decrease to 5 iterations
- disable PROCESSOR_AFFINITY for fast func e2e tests
- enabling affinity results in (valid) speedup predictions greater than zero
- use pthread_atfork for redundancy if fork_gotcha fails
- remove dl from PROJECT_BUILD_TARGETS
- fix mpi-binary-rewrite-run regex when OMNITRACE_VERBOSE set > 1 in env
- increase causal e2e iterations to 8
- test-find-package.sh included dl component
- further considerations of variance
@jrmadsen jrmadsen added cmake Modifies the CMake build system examples Adds new example or modifies existing example omnitrace-sample Involves the omnitrace-sample executable omnitrace-causal Involves the omnitrace-causal executable labels Feb 24, 2023
@jrmadsen jrmadsen merged commit 846301b into ROCm:main Feb 27, 2023
@jrmadsen jrmadsen deleted the address-and-thread-sanitizer-fixes branch February 27, 2023 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake Modifies the CMake build system examples Adds new example or modifies existing example libomnitrace Involves omnitrace library libomnitrace-core Internal library containing core capabilities omnitrace-causal Involves the omnitrace-causal executable omnitrace-sample Involves the omnitrace-sample executable submodule Updates a git submodule testing Extends/improves/modifies testing timemory Issue affects/involves timemory features/capabilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant