ARTICLE AD BOX
My goal :- What i am trying to achieve is creating a software where a system (laptop , vm or pc) that has a GPU can be shared with a system that doesn't have a GPU.
Similar projects :- rCUDA, sCUDA, Juice Labs, Cricket .
I have came accross the LD_PRELOAD trick which can be used to intercept gpu api calls and thus forwarding them over a network to a remote gpu, executing them over there and returning the result back.
My doubts :-
Are there any other posssible ways in which this can be implemented. Let say I use the LD_PRELOAD trick, i choose to intercept CUDA .2.1 will i be able to intercept both runtime and driver apis or do I need to intercept them both.
2.2 there are over 500 cuda driver apis, wouldn't i be needing to creating a basic wrapper or dummy functions of all these apis, inorder for intercepting them.
2.3 Can this wrapper or shim implementation of the apis be done using rust or c++ or should i do it in 'c' , like using other languages cause issues with types and stuff.
