happly icon indicating copy to clipboard operation
happly copied to clipboard

Parallelizing ply parser

Open goldragoon opened this issue 5 years ago • 1 comments

Hi, I'm recently working with analysis of large PLY-formatted mesh model. Since, 3D model I/O is really big bottleneck of my analysis pipeline, I'm trying to parallelizing ply parser based on this repository using the idea of [1]. If you think that this feature is worth and suitable to this repository, I'd like to contribute my implementation here.

Thanks for reading this issue.

Reference [1] Jo, Sunghun, Yuna Jeong, and Sungkil Lee. "GPU-driven scalable parser for OBJ models." Journal of Computer Science and Technology 33.2 (2018): 417-428.

goldragoon avatar Jul 29 '20 10:07 goldragoon

Hi!

I'd definitely be interested in seeing any efforts to parallelize happly, though before merging such code in to the parser I'd have two concerns:

  • There are other parts of the happly code which are probably lower-hanging fruit for performance improvements. In particular, ASCII float parsing and irregular memory accesses could both be dramatically improved. One would probably want to tackle those simultaneously to create an actual "high performance" happly.
  • We'd need to "guard" it somehow, to the parallelization doesn't add any software burden to users who don't want it. This could probably be done with #ifdef.

For what it's worth, happly is neither the simplest, nor the fastest PLY parsing library out there; instead, happly is focused on being simple, and handling general non-mesh data. If you're interested in high-performance PLY parsing, you might want to look elsewhere, @mhalber has a great benchmark here: https://github.com/mhalber/ply_io_benchmark (though happly has gotten a bit faster since those timings).

Best, Nick

nmwsharp avatar Aug 22 '20 19:08 nmwsharp