Skip to content

Extending Profile Ranges #1227

@kharvey2

Description

@kharvey2

At its current state, the ProfileRange wrapper is applied to all cuPyNumeric operations and it can identify whether a cuPyNumeric operation executed in deferred or eager mode, as well as whether it fell back (and why). For more information, this is the design doc.

I’d like to open a discussion about how we should extend it further. Some questions for consideration:

  • Should the profile pop-up boxes for cuPyNumeric operations also display what hardware is being used (CPU/CPU OMP/GPU)?
  • Should the profile pop-up boxes include what tasks are being called by the cuPyNumeric operation?
  • Right now this tool is primarily helpful for outside users, since the _fixup_co_name decorator in coverage.py hides internal code. Should we consider creating a version of profile ranges that is more useful for internal developers?
  • When a user calls a cuPyNumeric function, the functions used to construct the called function also appear in the profiling output. Should we hide these helper functions to reduce noise?

Would love your thoughts on this, @bryevdv @Jacobfaib

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions