vibespatial.predicates.point_location_index_kernels

CUDA sources for the exact polygon-part y-edge directory.

The directory changes the physical point-location workload from every edge in a candidate polygon to the edges whose y interval contains the query point. All coordinates and bin calculations remain fp64. Edge codes use bit 31 to encode a ring-closing edge; coordinate and ring counts must therefore fit in 31 bits before this variant is admitted.

Attributes

Functions

coverage_grid_width_for_bin_count(→ int)

Return the bounded conservative grid width paired with one y tier.

point_location_part_y_index_source(→ str)

Return the production kernel source for bin_count bins per part.

point_location_part_y_index_profile_source(→ str)

Return the profiling kernel source for bin_count bins per part.

Module Contents

vibespatial.predicates.point_location_index_kernels.PART_Y_BIN_COUNT = 8
vibespatial.predicates.point_location_index_kernels.SUPPORTED_PART_Y_BIN_COUNTS = (8, 16, 32, 64, 128, 256)
vibespatial.predicates.point_location_index_kernels.COVERAGE_GRID_WIDTH = 4
vibespatial.predicates.point_location_index_kernels.POINT_LOCATION_PART_Y_INDEX_KERNEL_NAMES = ('compute_polygon_part_y_bounds', 'compute_polygon_part_x_bounds', 'map_polygon_rings_to_parts',...
vibespatial.predicates.point_location_index_kernels.POINT_LOCATION_PART_Y_INDEX_PROFILE_KERNEL_NAMES = ('reserve_point_region_profile_samples', 'point_region_profile_sample_mask',...
vibespatial.predicates.point_location_index_kernels.coverage_grid_width_for_bin_count(bin_count: int) → int

Return the bounded conservative grid width paired with one y tier.

vibespatial.predicates.point_location_index_kernels.point_location_part_y_index_source(bin_count: int) → str

Return the production kernel source for bin_count bins per part.

vibespatial.predicates.point_location_index_kernels.point_location_part_y_index_profile_source(bin_count: int) → str

Return the profiling kernel source for bin_count bins per part.