多个低端计算机是否有可能通过云方案对请求/响应中的中央服务器上的GPU进行CUDA调用?为了使它好像这些低端计算机拥有一个虚拟的" GPU。
答案 0 :(得分:2)
我有一个类似的问题需要解决。
数据库存在于低端机器中,我在本地网络上拥有一组GPU。
我创建了一个小客户端(在低端机器上)来解析数据库,使用google protocol buffers序列化数据并使用zmq sockets将它们发送到服务器。对于数据分发,您可以使用asynchrouns发布者/订阅者套接字。
在服务器端,您反序列化数据,并且您有CUDA程序来运行计算(它也可以是一个守护程序的应用程序,因此您不必每次都自己启动它。)
在服务器上准备好数据后,您可以从客户端发出同步消息(请求/回复套接字),当服务器收到消息时,它会调用CUDA内核的函数包装器。
如果您需要在客户端上处理结果,您可以按照反向路线将数据发送回客户端。
如果数据已经在服务器中,则更容易。您只需要请求/回复套接字来发送消息并调用该函数。
查看zmq手册,他们在许多编程语言中都有很多例子。