kernel并行化计算效率的问题

从计算效率的角度上,对于同一个任务,使用一个kernel并行地进行复杂计算,还是将其拆分使用多个kernel进行较简单的计算,哪个效率更高。本质上是好奇taichi在调用kernel上的效率,有人考虑过这个问题吗?
直观的感觉上,使用一个kennel是不是对于显存的访问更加好,多个kernel肯定涉及到对于中间计算结果的存取。

我的经验是把东西都写在一个kernel里会更快些,写成多个kernel搞成好几次for循环对于我的程序是更慢了,不过也可能和我的算法有关。