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

Create README.md #1167

Open
wants to merge 1 commit into
base: devel
Choose a base branch
from
Open

Conversation

researcherben
Copy link

content is an explanation from @feldergast

@github-actions github-actions bot added AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) AT: CLANG-FORMAT PASS and removed AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) labels Oct 24, 2024
Copy link

CLANG-FORMAT TEST - PASSED

@github-actions github-actions bot added AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) AT: CMAKE-FORMAT PASS and removed AT: WIP Mark PR as a Work in Progress (No Autotesting Performed) labels Oct 24, 2024
Copy link

CMAKE-FORMAT TEST - PASSED

@sst-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@feldergast
Copy link
Contributor

The following information is available by running:
sst --help=enable-profiling

Profiling Points [EXPERIMENTAL]:

NOTE: Profiling points are still in development and syntax for enabling profiling tools, as well as available profiling points is subject to change. However, it is intended that profiling points will continue to be supported into the future.

Profiling points are points in the code where a profiling tool can be instantiated. The profiling tool allows you to collect various data about code segments. There are currently three profiling points in SST core:

  • clock: profiles calls to user registered clock handlers
  • event: profiles calls to user registered event handlers set on Links
  • sync: profiles calls into the SyncManager (only valid for parallel simulations)

The format for enabling profile point is a semicolon separated list where each item specifies details for a given profiling tool using the following format:
name:type(params)[point]
name: name of tool to be shown in output
type: type of profiling tool in ELI format (lib.type)
params: optional parameters to pass to profiling tool, format is key=value,key=value...
point: profiling point to load the tool into

Profiling tools can all be enabled in a single instance of --enable-profiling, or you can use multiple instances of --enable-profiling to enable more than one profiling tool. It is also possible to attach more than one profiling tool to a given profiling point.

Examples:
--enable-profiling="events:sst.profile.handler.event.time.high_resolution(level=component)[event]"
--enable-profiling="clocks:sst.profile.handler.clock.count(level=subcomponent)[clock]"
--enable-profiling=sync:sst.profile.sync.time.steady[sync]

I think this covers the information and it will be updated as new profile points are added and if anything changes in the syntax. We are anticipating that this will become a fully supported feature in SST 15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants