GPU Acceleration on Apache Spark™ Authors: Madhusudanan Kandasamy and Josiah Samuel Why GPUs on Spark? The computing industry has continued to evolve in its quest for more and more performance, first opting for systems with higher and higher CPU frequencies and then through parallelism with mult...
这是kernel函数:
__global__ void initializePagerankArray(int *n_vertices,float *pagerank_in,float *pagerank_out)
{
int i = (blockIdx.x * blockDim.x) + threadIdx.x;
if (i < *n_vertices)
{
pagerank_out[i] = 1.0 / (float)*n_vertices;
}
}
这是spark程序
val initializePagerankArray= new CUDAFunction(
"initializePagerankArray",
Array("this"),
Array("this"),
ptxURL,
Seq(),
Some((size: Long) => 1),
Some(dimensions))
pagerank_h=sc.parallelize(pagerank_h).mapExtFunc(
x=> 1.0f/n_vertices ,
initializePagerankArray
)
但是输出的结果不对。我想知道spark如何把数据,以及对于的参数传递到kernel函数当中去,最近导师让我去学习spark+gpu,好不容易找到一篇关于这个方面的文章。非常感谢