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

How to ensure compatibility。 #91

Open
silenceli opened this issue Jan 16, 2025 · 1 comment
Open

How to ensure compatibility。 #91

silenceli opened this issue Jan 16, 2025 · 1 comment

Comments

@silenceli
Copy link

原问题:

如果要将这套机制应用于一个 GPU k8s 资源池内,会面对这样的问题,用户的应用可能基于 cuda-11.6、cuda-12.2、cuda-12.6 等不同的 cuda 版本,同时,GPU 服务器的 drvier 版本也不同,可能是 530,也可能是 525。

  1. 客户端中使用的 libscuda.so 是不是需要编译不同的版本?
  2. 服务端的 server_xxx_xx.so 如何做到兼容不同的 api 版本?

我个人理解,客户端还好解决,服务器端如何能做到兼容呢?感觉很难。请问这块作者是怎么考虑的?


translate:

If you want to apply this software to a GPU k8s resource pool, you will face such a problem. The user's application may be based on different cuda versions such as cuda-11.6, cuda-12.2, cuda-12.6, etc. At the same time, the drvier version of the GPU server It's also different, it may be 530 or 525.

  1. Does the libscuda.so used in the client need to be compiled into different versions?
  2. How can server_xxx_xx.so on the server side be compatible with different api versions?

I personally understand that the client side can be solved easily, but how can the server side be compatible? It feels hard. May I ask what the author thought about this?

@Fruneng
Copy link

Fruneng commented Jan 16, 2025

我认为这取决于cuda API的向后兼容性, 对于scuda来说可能只需要保证适配最新版本API. 同时scuda有一套rpc代码生成工具,会根据cuda的API生成rpc server/client的代码 在不同版本的cuda环境中编译出不同版本的scuda server/client 的Docker镜像。

translate:
I think this depends on the backward compatibility of the CUDA API; for SCUDA, it may only be necessary to ensure compatibility with the latest version of the API. And, scuda has a set of RPC (Remote Procedure Call) code generation tools that automatically generate RPC server and client code based on the CUDA API. This tooling can compile within different versions of the CUDA environment, thereby producing Docker images for scuda server and client corresponding to each version.

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

No branches or pull requests

2 participants