GithubHelp home page GithubHelp logo

Performance tracking about manifold HOT 6 CLOSED

pca006132 avatar pca006132 commented on July 20, 2024 1
Performance tracking

from manifold.

Comments (6)

pca006132 avatar pca006132 commented on July 20, 2024 1

The main performance improvement comes from these two patches: 168fd07 and a3dbe15 , which are not thrust specific, so this should be fine. Will submit a PR soon.

For the parallel STL, I've tried using them with clang, which uses TBB for parallel execution and the performance seems pretty good (for the case that I've tested). It seems that nvcc also supports parallel stl with their nvc++ compiler? but not sure if that is in cudatoolkit or something else.

from manifold.

pca006132 avatar pca006132 commented on July 20, 2024 1

Yes I think we can call this fixed.

from manifold.

elalish avatar elalish commented on July 20, 2024

I'm open to these optimizations, but I would recommend avoiding too much code complexity, especially as related to Thrust. I'd prefer to switch from Thrust to C++17 parallel algorithms, which will allow us to remove the VecDH class entirely and let the compiler handle these copies/moves internally. Hopefully the compilers might even take care of switching backends based on data size? I'm also hoping we'll get compilers that can target AMD GPUs from the parallel STL, though I'm not sure how far out that is.

from manifold.

pca006132 avatar pca006132 commented on July 20, 2024

Another interesting behavior I just found: Compiling with -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_OMP makes the code 2~3x SLOWER than the sequential CPP backend, really interesting...

from manifold.

elalish avatar elalish commented on July 20, 2024

Yeah, I quit using it because it seemed like OMP was not getting much love from Thrust. Maybe file an issue on their repo and see if they have any insights?

from manifold.

elalish avatar elalish commented on July 20, 2024

Seems like you've addressed most of this and more, and the lazy boolean has its own issue. Should we call this fixed?

from manifold.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.