It seems like halfedges are unsuitable for GPU since linked list traversal is inherently sequential. Is it possible to combine halfedge and matrix representations, perhaps by encoding small local mesh patches into compact matrix representations that are connected by linked lists, to better support parallelism on a GPU?
If I'm understanding correctly, half edges seem to have the problem of incoherent memory access, similar to linked list related structures. Are there any approaches to mitigate this, like fixed-size buffers or different storage approaches? Or is this an accepted cost because of the other benefits of half edges?
Similar to the previous question, I would think that the memory regions for half edges could be allocated near one another to improve locality. Is this something that is done? If the number of half-edges is small, then all of the hash edges could fit into a cache, but if they are very large I suppose it's hard to guarantee this. I think benchmarks for various techniques with varying sizes would be very interesting!