Skip to content
Snippets Groups Projects

Fix create_cuda_kernel to allow CUSTOM_FIELDS to have a different size

Merged Stephan Seitz requested to merge seitz/pystencils:fix-custom-fields-cudakernel into master
1 file
+ 2
2
Compare changes
  • Side-by-side
  • Inline
@@ -20,8 +20,7 @@ def create_cuda_kernel(assignments,
all_fields = fields_read.union(fields_written)
read_only_fields = set([f.name for f in fields_read - fields_written])
buffers = set([f for f in all_fields if FieldType.is_buffer(f)])
fields_without_buffers = all_fields - buffers
buffers = set([f for f in all_fields if FieldType.is_buffer(f) or FieldType.is_custom(f)])
field_accesses = set()
num_buffer_accesses = 0
@@ -29,6 +28,7 @@ def create_cuda_kernel(assignments,
field_accesses.update(eq.atoms(Field.Access))
field_accesses = {e for e in field_accesses if not e.is_absolute_access}
num_buffer_accesses += sum(1 for access in eq.atoms(Field.Access) if FieldType.is_buffer(access.field))
fields_without_buffers = all_fields - buffers
common_shape = get_common_shape(fields_without_buffers)
Loading