是的你可以。有很多方法。其中一个最简单的就是使用 Redis的 作为后端(就像打电话一样简单 sudo apt-get install redis-server 在Ubuntu机器上;谣言说你也可以在Windows机器上有一个redis后端。
sudo apt-get install redis-server
通过使用 doRedis 包,你可以 非常简单地 在redis中的任务队列上对作业进行排队,然后使用一个,两个,......空闲工作程序来查询队列。最重要的是,您可以轻松地混合操作系统,因此,您的同事的Windows机器符合条件。此外,您可以根据需要使用一个,两个,三个......客户端,并按比例放大或缩小。队列不知道或不关心,它只是提供工作。
最重要的是,这个小插曲 doRedis 有一个混合使用Linux和Windows客户端的工作示例,以使引导示例更快。
也许不是你正在寻找的答案,但是 - 这是其中一种情况,其中一种替代方案要好得多,以至于很难忽视。
AWS集群的成本是 可笑的低 (我强调)确切地说是这些类型的计算问题。您只需支付使用的费用。我可以向您保证,如果不花时间尝试将12台Windows机器转换为集群,您将节省资金(至少是机会成本)。为了您的目的,您甚至可以免费这样做。 (IIRC,他们仍然提供群集上的免费计算时间)
参考文献:
其中一些实例非常强大,您可能甚至不需要弄清楚如何在群集上设置您的工作(根据您当前的描述)。从参考资料中可以看出,成本非常低,每小时计算时间为1-4美元。
那么OpenCL呢?
这将需要重写C代码,但允许潜在的大加速。 GPU具有强大的计算能力。