2017-02-19 82 views

回答

0

有几个图书馆可以帮助这种困境。

Databricks正在为Spark提供TensorFlow解决方案,这将允许您使用群集的GPU或您的机器。

如果您想了解更多关于此的介绍,请访问Spark Summit Europe 2016此演示文稿将显示TensorFrames的工作原理。

其他这是一篇关于DataBricks博客中的TensoFrames的文章。

有关更多的代码信息,请参见Git of Tensorframes

2

这取决于你想要做什么。如果你想用GPU分配你的计算,你不需要使用java。你可以使用带有cuda模块的numba的python(pyspark)。

例如,如果您希望您的工作节点在RDD的每个块上计算操作(此处为gpu_function),那么可以应用此代码。

rdd = rdd.mapPartition(gpu_function) 

有:

def gpu_function(x): 
    ... 
    input = f(x) 
    output = ... 
    gpu_cuda[grid_size,block_size](input,output) 
    return output 

和:

from numba import cuda 
@cuda.jit("(float32[:],float32[:])") 
def gpu_cuda(input,output) 
    output = g(input) 

我劝你看看在SlideShare上网址:https://fr.slideshare.net/continuumio/gpu-computing-with-apache-spark-and-python,specificly下滑34

你只需要numba和cuda驱动程序安装在每个工作节点上。