关于在device端多个kernel函数的问题

遇到一个问题,大概举例如下:
如果我在Device端写2个kernel函数A和B,
如果在Host端我想先运行A接下来运行B,
但是A和B都是用shared mem。。
而且B需要用A的输出结果作为输入数据。。
那能不能不把A的数据传递回Host而直接在显存里传递给B呢??
另外shared mem怎么处理才好呢??
比如是不是需要free A的shared mem诸如此类的操作??

那在Host端的代码该如何写呢??
比如
A<<< m, n, shared_广告>>>(input_data,temp_data)
(需要同步操作之类的么??)
B<<< p, q, shared_memB>>>(temp_data,output_data)
这样做的话可以么??

问题比较简单,我可能叙述比较复杂,
先致歉,再多谢。。

[ 本帖最后由 wscuiqiu 于 2010-5-27 11:40 编辑 ]

全局存储器在所有的内核间都是持久的,也就是说各个内核都可以访问。共享存储器不用显式销毁,用不着free。

那两个内核间的同步不用,它们有依赖的话,编译器会自动处理。