Page MenuHome

Mantaflow [Part 1]: Added preprocessed Mantaflow source files
Needs ReviewPublic

Authored by Sebastián Barschkis (sebbas) on Oct 29 2018, 3:00 PM.

Details

Summary

Includes preprocessed Mantaflow source files for both OpenMP and TBB (if OpenMP is not present, TBB files will be used instead).

These files come directly from the Mantaflow repository. Future updates to the core fluid solver will take place by updating the files.

Diff Detail

Repository
rB Blender
Branch
mantaFiles (branched from master)
Build Status
Buildable 3291
Build 3291: arc lint + arc unit

Event Timeline

Updated pp files include fixes for outflow at domain walls (liquids in general and secondary particles).

Just another Mantaflow source file update.

Not much to say here, besides that we try to get rid of OMP in Blender code, so might be better to default to tbb, unless there is a good reason not to do so?

Also more a topic for @Sergey Sharybin (sergey), but iirc with tbb we should be able to integrate it to our threading management system at some point (to avoid having too much running threads, which is very inefficient), while that would not be possible with OMP?

source/blender/editors/interface/interface.c
737–743

This looks like unintended diff glitch?

Okay, it's actually very good that we talk about OpenMP & TBB. I made some tests and it appears that TBB generally performs much, much better (e.g. smoke scenes 50% faster with TBB, @Juan Gea (juang3d) had similar results).

I would also say the default should be TBB. In the future we might remove OpenMP altogether. @Nils Thuerey (n_t) or would you say that some development will only take place in OpenMP, i.e. any drawbacks using just TBB?

@Sebastián Barschkis (sebbas) yes, good idea - we're using TBB with mantaflow for a long time now, and it works very nicely. We also saw performance gains in the past, less than 50%, but gains nonetheless. So I don't see a reason not to focus on TBB. That way we could also get rid of the somewhat redundant code for OpenMP.