-
Notifications
You must be signed in to change notification settings - Fork 41
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
Shared object support #15
Conversation
Signed-off-by: Niklas Eiling <[email protected]>
…ean directory not always working Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
…them at the server. Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
…elf retrieved via RPC. Signed-off-by: Niklas Eiling <[email protected]>
… able to identify them when launching kernels Signed-off-by: Niklas Eiling <[email protected]>
Just saw this! Thanks for taking it on haha, was about to start this weekend. I'd love to help with this effort, let me know if there's anything I can do. |
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
…the wrong value Signed-off-by: Niklas Eiling <[email protected]>
…o pipe Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
…a NULL filename Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
@n-eiling When will the entire test be completed? I am looking forward to this! |
I updated my todo list. There are still some open issues that need adressing. CUDA relies on the .nv.info section for information regarding kernel parameter sizes and offsets. I used to parse them using cuobjdump, but this doesn't support in-memory ELFs - only files. |
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
Signed-off-by: Niklas Eiling <[email protected]>
78444ec
to
36498a8
Compare
Signed-off-by: Niklas Eiling <[email protected]>
36498a8
to
088b6fc
Compare
I will merge this because the branch has diverged quite a bit and the original PR feature is working well. For pytorch, I still have some issues with the cudnnBackend API, which I will work on on a different branch. |
I tested the functionality of |
Adds support for launching kernels from shared objects loaded during runtime using dlopen. As this is how pytorch uses CUDA, this should enable pytorch support to Cricket.
This involved adding support for decoding the fatbinary metadata before the embedded cubin ELF in binaries compiled by nvcc. Cricket becomes able to extract the cubin from a binary, send it via RPC to the server, where it will be executed using the driver APIs cuModuleLoadData.
This also makes LD_PRELOADing on the server side not necessary anymore, as we now also extract and send cubins for normal applications.
This is work in progress. Addresses #6