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

Profiling Filter Tool Ideas #88

Open
crtrott opened this issue Apr 30, 2020 · 7 comments
Open

Profiling Filter Tool Ideas #88

crtrott opened this issue Apr 30, 2020 · 7 comments
Labels

Comments

@crtrott
Copy link
Member

crtrott commented Apr 30, 2020

This is a collection of ideas for setting the profiling filter via expressions

// start and stop based on entering region at a certain iteration
// no :ITERATION given start stop and any entry/exit
global_start [ region REGEX : ITERATION ]
global_stop [ region REGEX : ITERATION ]

// Specific Kernel Always
REGEX

// Specific Kernel Regex inside region
// ITERATION_START/STOP optional, only one number: only profile in that region instance
REGEX [ region REGION_REGEX : ITERATION_START : ITERATION_STOP ]

// Specific Kernel only if as parallel_reduce in two specific nested regions
REGEX [ type parallel_reduce ] [ region REGION_REGEX1 ] [ region REGION_REGEX2 ]

// Specific Kernel but only 1011 call
REGEX:1011

// Specific Kernel but only after sequence of other kernels
REGEX [ sequence REGEX1 REGEX2 REGEX3 ]
@DavidPoliakoff
Copy link
Contributor

Additions via Slack

load_tool [name SOME_LIBRARY.so]

Says to load SOME_LIBRARY.so and associate it with name

Then any of the REGEX expressions above can have a set of tools added, for example

REGEX [ type parallel_reduce ] [ region REGION_REGEX1 ] [ region REGION_REGEX2 ] tool TOOL1 tool TOOL2

Which will forward things matching that to TOOL1 and TOOL2

@mhoemmen
Copy link

  • I like "Specific Kernel Regex inside region"
  • "Specific Kernel but only after sequence of other kernels" sounds like you'll need to be careful to bound the history window, else the profiling library will eat up memory

@crtrott
Copy link
Member Author

crtrott commented Apr 30, 2020

Other thing fencing:

global_fencing off

REGEX [ fence off ]

@crtrott
Copy link
Member Author

crtrott commented Apr 30, 2020

@mhoemmen yeah and the search time becomes too large. I would just say we limit to like a sequence of 5, and essentially keep a revolving list of the last 5 kernel calls or so.

@DavidPoliakoff
Copy link
Contributor

* I like "Specific Kernel Regex inside region"

* "Specific Kernel but only after sequence of other kernels" sounds like you'll need to be careful to bound the history window, else the profiling library will eat up memory

Memory exists for tools, codes should stop being so greedy... :p

@mhoemmen
Copy link

I would just say we limit to like a sequence of 5, and essentially keep a revolving list of the last 5 kernel calls or so.

The list of filters themselves should tell you how much space you need, but if y'all start building crazy state machines that eat memory, this could be an issue.

@crtrott
Copy link
Member Author

crtrott commented Apr 30, 2020

the good thing is that you only pay for it if you use it ...

@vlkale vlkale added the idea label Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants