aboutsummaryrefslogtreecommitdiff
path: root/boltzgen/kernel/template/collect_moments.cl.mako
diff options
context:
space:
mode:
Diffstat (limited to 'boltzgen/kernel/template/collect_moments.cl.mako')
-rw-r--r--boltzgen/kernel/template/collect_moments.cl.mako15
1 files changed, 12 insertions, 3 deletions
diff --git a/boltzgen/kernel/template/collect_moments.cl.mako b/boltzgen/kernel/template/collect_moments.cl.mako
index ef520da..0ab42d1 100644
--- a/boltzgen/kernel/template/collect_moments.cl.mako
+++ b/boltzgen/kernel/template/collect_moments.cl.mako
@@ -1,6 +1,6 @@
-__kernel void collect_moments(__global ${float_type}* f,
- __global ${float_type}* moments,
- unsigned int gid)
+__kernel void collect_moments_gid(__global ${float_type}* f,
+ __global ${float_type}* moments,
+ unsigned int gid)
{
__global ${float_type}* preshifted_f = f + gid;
@@ -16,3 +16,12 @@ __kernel void collect_moments(__global ${float_type}* f,
moments[${layout.pop_offset(i)} + gid] = ${ccode(expr.rhs)};
% endfor
}
+
+% if 'cell_list_dispatch' in extras:
+__kernel void collect_moments_cells(__global ${float_type}* f,
+ __global ${float_type}* moments,
+ __global unsigned int* cells)
+{
+ collect_moments_gid(f, moments, cells[get_global_id(0)]);
+}
+% endif