Files
test2/source/blender/blenkernel/intern
Iliya Katueshenock 226359ec48 Mesh: Parallelize vertex and edge to corner topology map creation
Change the algorithm to make better use of multiple CPU cores. First
offsets are created by counting the number of elements using each
vertex. Those offsets are used during the next phase that adds indices
to each group in parallel. Atomic increments are used to add elements
to each group. Since the order in each group is non-deterministic,
they are sorted in parallel afterwards.

The performance improvement depends on the number of cores, CPU caches,
memory bandwidth, single threaded performance, and mesh topology. In
our tests, performance improved by 3-4.5x for large grid-like meshes.

See [1] for investigation of this algorithm and potential alternatives.

1. https://hackmd.io/@s0TMIS4lTAGwHVO20ECwpw/build_edge_to_loop_map_tests.

Pull Request: https://projects.blender.org/blender/blender/pulls/110707
2023-08-28 22:32:31 +02:00
..
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-10 22:40:27 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-22 07:48:53 -04:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-25 09:40:42 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-07-04 17:03:02 +02:00
2023-07-28 09:38:07 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-07-22 11:27:25 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 18:02:31 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-21 10:05:45 +10:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-08-28 15:01:05 +02:00
2023-07-22 11:46:41 +10:00