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

Rename cuda::experimental::managed_memory_resource to cuda::experimental::unified_memory_resource #4094

Open
brycelelbach opened this issue Mar 11, 2025 · 6 comments · May be fixed by #4103
Assignees

Comments

@brycelelbach
Copy link
Contributor

"Managed memory" is a terrible and unclear name for the CUDA Unified Memory feature, and it may be particularly confusing to C++ users, as there is an existing, deprecated, and terrible thing called "Managed C++".

C++ people don't like things that are "managed"; people write C++ because they want control. This name makes Unified Memory sound like a scary black box with perf issues. Couple that with the fact that historically Unified Memory has had perf issues, and the name sounds the wrong sort of message.

We can't rename cudaMallocManaged, but we don't have to repeat the mistake. Please call it cudax::experimental::unified_memory_resource not cudax::experimental::managed_memory_resource.

@brycelelbach
Copy link
Contributor Author

@jrhemstad @ericniebler Who is the right person to see this?

@miscco
Copy link
Contributor

miscco commented Mar 11, 2025

We can happily rename it

miscco added a commit to miscco/cccl that referenced this issue Mar 12, 2025
This renames the `managed_memory_resource` to `unified_memory_resource`. While we are at it also add the classes to our documentation.

Fixes NVIDIA#4093
Fixes NVIDIA#4094
@miscco miscco linked a pull request Mar 12, 2025 that will close this issue
@miscco miscco self-assigned this Mar 12, 2025
@bdice
Copy link
Contributor

bdice commented Mar 12, 2025

The lack of clarity in naming here comes up often for RMM users. Docs should mention both names with any technical details about how they differ. I believe there are some subtleties that we should make sure we understand and can teach users before renaming this.

@brycelelbach
Copy link
Contributor Author

CCCL docs should definitely mention all terms in use: Unified Memory, UVM, Managed Memory.

Somewhere we should also explain HMM/ATS. We need an explainer for this whole feature somewhere. Blog post maybe.

@brycelelbach
Copy link
Contributor Author

I would also be fine with exposing multiple names via aliases.

@miscco
Copy link
Contributor

miscco commented Mar 12, 2025

In the PR I am linking to https://developer.nvidia.com/blog/unified-memory-cuda-beginners/

Any other blogs that would make sense?

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

Successfully merging a pull request may close this issue.

3 participants