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

Request: Support for VK_EXT_external_memory_host #794

Closed
starbucksDave opened this issue Dec 16, 2019 · 3 comments
Closed

Request: Support for VK_EXT_external_memory_host #794

starbucksDave opened this issue Dec 16, 2019 · 3 comments
Labels
Completed Issue has been fixed, or enhancement implemented. Enhancement

Comments

@starbucksDave
Copy link
Contributor

Having dug around the Metal spec a bit, I discovered that it may be possible to implement the VK_EXT_external_memory_host extension in Molten.

This extension essentially allows you to create a piece of memory that points to some arbitrary pointer in system RAM. This is useful for things such as having multiple GPUs read/write to the same buffer that is backed by "imported" or "external" memory on the host, without needing explicit uploads or downloads.

Is this something that is on the roadmap for Molten?

Further reading
https://developer.apple.com/documentation/metal/mtldevice/1433382-makebuffer

@starbucksDave
Copy link
Contributor Author

By the way, I think it is also possible to add similar support for device memory, through these constructs:

https://developer.apple.com/documentation/metal/mtlbuffer/2967416-remotestoragebuffer
https://developer.apple.com/documentation/metal/mtlbuffer/2967415-makeremotebufferview

Though adding support for this might be more complex..

@Wunkolo
Copy link

Wunkolo commented Mar 9, 2023

Would like to +1 this as well. I use it over on Linux/Windows to avoid having to make redundant copies of memory into a staging buffer.

@billhollings
Copy link
Contributor

This enhancement is implement in PR #1854.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Completed Issue has been fixed, or enhancement implemented. Enhancement
Projects
None yet
Development

No branches or pull requests

3 participants