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

JitKernel needs to be cleaned up #901

Closed
chudur-budur opened this issue Feb 4, 2023 · 2 comments
Closed

JitKernel needs to be cleaned up #901

chudur-budur opened this issue Feb 4, 2023 · 2 comments
Assignees
Milestone

Comments

@chudur-budur
Copy link
Collaborator

chudur-budur commented Feb 4, 2023

Due to mutiple iterations, the the JitKernel class became messy. PR #896

  • There are at least two levels of caching for the same unspecialized kernel, i.e. self._cache and self._kernel_bundle_cache
  • For the specialized kernel, the caching is done in three individual levels. i.e. self._cache, self._kernel_bundle_cache and self._specialization_cache
  • These multiple levels of LRU caching is causing unnecessary overhead. Everything in that class needs to be made streamlined and clean. e.g. self._cache and self._kernel_bundle_cache can be consolidated.
  • Also due to these reasons, the cache-hit/miss counts (self._cache_hits) became ambiguous.
  • Either _check_range() and _check_ndrange() functions need to be moved inside Range, NdRange class or moved into the numba_dpex.core.kernel_interface.utils module.
@chudur-budur chudur-budur self-assigned this Feb 4, 2023
@diptorupd
Copy link
Collaborator

  • For the specialized kernel, the caching is done in three individual levels. i.e. self._cache, self._kernel_bundle_cache and self._specialization_cache

Specialized kernels do not use the self._cache.

@diptorupd diptorupd added this to the 0.21 milestone Feb 13, 2023
@diptorupd
Copy link
Collaborator

Out of scope now as JitKernel will get replaced by experimental.KernelDispatcher

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

No branches or pull requests

2 participants