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

Add per-Task cpu time metric (#56320) #194

Draft
wants to merge 7 commits into
base: v1.10.2+RAI
Choose a base branch
from

Conversation

nickrobinson251
Copy link
Member

@nickrobinson251 nickrobinson251 commented Oct 31, 2024

PR Description

"Backports" JuliaLang#56320 (note upstream PR not merged yet and so subject to change that'd need to be cherry-picked to here)

This PR should be squashed when merged

Checklist

Requirements for merging:

initialize to zero

make new task field visible from Julia

add start time

fix typo

add test

add a wait

import `LinearAlgebra` for `peakflops`

update last scheduled on task finish as well

no need to update last scheduled in finish

add test

fix test

Add per-task wall-time

Test individual task cpu_time less than wall_time

More tests

Move task timings mostly to julia

Record cpu time on entrance to `wait/yield`

Rename 'scheduled_at' -> '[en/de]queued_at'

Ability to enable/disable task timings globally

fixup whitespace

Enable task timing in test

Enable task timing for root task

Prevent `task_timing(false)` decrementing below zero

Change task-timing flag to require yes/no arg

Rename `timings`->`metrics`, `dequeued`->`started_running`

Update task-state-transition comments

Remove unused debug function

Add NEWS

Add fallback recording of cpu time in `wait()`

Instrument async io

Record task cpu time in `wait()`

Make task metrics flag const and counters atomic

Mark the new APIs experimental

Return task metrics as Int or nothing if disabled

Test metrics updating as expected

More tests
@github-actions github-actions bot added port-to-v1.10 This change should apply to Julia v1.10 builds port-to-master This change should apply to all future Julia builds labels Oct 31, 2024
@nickrobinson251 nickrobinson251 removed the port-to-master This change should apply to all future Julia builds label Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
port-to-v1.10 This change should apply to Julia v1.10 builds
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant