2018/11/16 20:18
该评论暂时无法显示,详情咨询 QQ 群:点此入群
2018/11/16 19:58
理论上讲,这个跟GPU没有直接关系呢!分布式程序原则上不能直接传参数,数据传输通过系统自动产生的对象完成,在Spark里就是RDD,这是所有节点都可以访问的分布式内存数据结构,不需要也不应该使用其它的方式传递参数。
2018/11/16 18:57
这个问题困扰我很久了😳
2018/11/16 18:54
在spark程序中如何把参数传递给kernel函数
这是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,好不容易找到一篇关于这个方面的文章。非常感谢
回复 @
{{emojiItem.symbol}}
返回顶部
顶部