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

More Robust PID Faking in VECs #77

Open
insertinterestingnamehere opened this issue May 11, 2021 · 2 comments
Open

More Robust PID Faking in VECs #77

insertinterestingnamehere opened this issue May 11, 2021 · 2 comments
Labels
bug Something isn't working VECs Related to Virtual Execution Contexts

Comments

@insertinterestingnamehere
Copy link
Member

In order to load CUDA into a VEC, we added support for faking the PID. (CUDA picks a port to use based off the current PID, so we can't load multiple copies of it without faking the PID). Currently we just make up a PID and hope for the best. It'd be nice if we could make this infrastructure more robust. For example, we could launch a separate empty process for each and then associate it's PID as the fake to use within a VEC. There probably are other options as well.

@insertinterestingnamehere insertinterestingnamehere added bug Something isn't working VECs Related to Virtual Execution Contexts labels May 11, 2021
@insertinterestingnamehere
Copy link
Member Author

We should probably ask the CUDA developers to fix things on their end, but I doubt we'll see any sort of quick response there (if any at all). Given that they break ABI with CUDA so frequently, being able to load it into a linker namespace seems like a reasonable ask.

@arthurp
Copy link
Member

arthurp commented May 11, 2021

I don't think an empty process is a good idea. The problem is that /proc/<pid> would be total lies at that point. What about using the thread ID of a empty thread? I think threads are in the same "ID space" as processes on LInux still. Though I could be wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working VECs Related to Virtual Execution Contexts
Projects
None yet
Development

No branches or pull requests

2 participants