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

USM support #225

Closed
3 of 5 tasks
igchor opened this issue Feb 9, 2024 · 1 comment · Fixed by #644
Closed
3 of 5 tasks

USM support #225

igchor opened this issue Feb 9, 2024 · 1 comment · Fixed by #644
Labels
enhancement New feature or request

Comments

@igchor
Copy link
Member

igchor commented Feb 9, 2024

UMF should support managing USM (unified shared memory) by:

  • exposing memory pools capable of handling memory that might not be accessible on the host:
    • disjoint_pool
    • jemalloc_pool
      • note: there is a known issue with jemalloc: if compiled with default flags it cannot be dlopened (neither can a library that links with jemalloc) which makes it problematic to use in Unified Runtime which manages adapters using dlopen
  • exposing memory providers capable of allocating memory on a device:
    • L0 provider (currently implemented in Unified Runtime)
    • CUDA provider (currently implemented in Unified Runtime)
    • Unified Runtime (?)

It should be possible to build L0 and CUDA providers as static libraries so that they can be used by Unified Runtime.

We should also consider:

  • adding memory copy / memset operations for providers (to implement calloc/realloc on device-only memory)
  • async memory management (transfers and/or allocation)
@igchor igchor added the enhancement New feature or request label Feb 9, 2024
@vinser52
Copy link
Contributor

Another requirement from MPI/oneCCL. They do not have hard dependency to L0 today the same MPI/oneCCL binaries should work on the system without L0. They resolve dependency to L0 at runtime using dlopen/dlsym to look for libze_loader.so.
We should consider this case when developing L0 memory provider.

@bratpiorka bratpiorka mentioned this issue Sep 9, 2024
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants