Я хочу интегрировать искру apache с GPU, но искра работает на java, в то время как gpu использует CUDA/OpenCL, так как мы их объединяем.Как запустить Apache Spark на GPU?
ответ
Существует несколько библиотек, которые помогают с этой дилеммой.
Databricks работает в решении для Spark с TensorFlow, что позволит использовать графические процессоры вашего кластера или вашего компьютера.
Если вы хотите узнать больше о том, что есть презентация Spark Summit Europe 2016 Эта презентация покажет немного, как работает TensorFrames.
Другое это сообщение о TensoFrames в блоге DataBricks.
И для получения дополнительной информации о кодах см. Git of Tensorframes.
Это зависит от того, что вы хотите сделать. Если вы хотите распространять свои вычисления с помощью графических процессоров с использованием искры, вам не нужно использовать java. Вы можете использовать python (pyspark) с numba с модулем cuda.
Например, вы можете применить этот код, если хотите, чтобы ваши рабочие узлы вычислили операцию (здесь gpu_function) на каждом блоке вашего RDD.
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 URL: https://fr.slideshare.net/continuumio/gpu-computing-with-apache-spark-and-python, слайд 34. специфически
Вам нужно только драйвер numba и cuda устанавливаются на каждом рабочем узле.