2013-02-01 168 views
1

多個低端計算機是否有可能通過雲方案在請求/響應中分別向位於中央服務器上的GPU執行CUDA調用?讓這些低端電腦擁有「虛擬」GPU。聯網CUDA GPU

回答

2

我有一個類似的問題要解決。

數據庫住在低端機,我有GPU的集羣在我手上本地網絡上。

我製作了一個小型客戶端(在低端機器上)來解析數據庫,使用google protocol buffers將數據序列化,並使用zmq sockets將它們發送到服務器。對於數據分發,您可以使用異步發佈者/訂閱者套接字。

在服務器端您反序列化數據,並且您有CUDA程序來運行計算(它也可以是守護進程應用程序,因此您不必每次都自行啓動它)。

一旦數據準備在服務器上,你可以發出一個同步消息(請求/應答插座)從客戶端和當服務器接收到消息它調用一個函數包裝到CUDA內核。

如果您需要處理結果返回客戶端,你可以按照將數據發送回客戶端反向路由。

如果數據已經在服務器中,那就更容易了。您只需要請求/回覆套接字發送消息並調用該函數。

檢查ZMQ操作手冊,他們在許多編程語言中的很多例子。