[Optimization]: Avoid hashing in operator kernel dispatcher function tables
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1
- Forks
- 10
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 1
Description
Description
Use something other than unordered maps for organizing kernel calls in operator dispatchers. The hashing required for these maps in the operators' kernel dispatching tables adds unncessary latency which could be noticeable on especially fast running operators and small jobs.
Requirements
- Remove unordered maps from all existing operators. Switch to something correct that doesn't require hashing at any point.
- Ensure proper validation with new implementation. Tests should pass and unsupported parameter/type combinations must return an error to the user.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the existing operator kernel dispatch tables and locate every use of unordered maps. Determine a non-hashing organization that preserves dispatch behavior, then run the project tests and add or update validation for unsupported parameter and type combinations. Done means all existing operators avoid unordered maps and invalid combinations return an error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-vision, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100