Thanks gdo35! I really appreciate all the effort! We have a Path guy, a MCAD guy, and a windows guy, advancing the PPA, pretty coolgdo35 wrote:I'll try to test with git-builder this week
[Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
"fight the good fight"
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
I cannot find myself it that list !!!sgrogan wrote:Thanks gdo35! I really appreciate all the effort! We have a Path guy, a MCAD guy, and a windows guy, advancing the PPA, pretty cool
I'm more a Linux guy and happy FreeCAD user.
It is just a pleasure to help a little.
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
Hi there!
A user in the spanish forum is asking about how to activate OCCT multithreading in Ubuntu. I found the topic interesting.
I thought OCCT 7.1 from the daily PPA was built with TBB enabled.
1. Does anybody have any information about this?
2. Is there anything one should do to "enable" the multithread support?
3. BTW has anybody benchmarked the effect of OCCT multithread in FC?
A user in the spanish forum is asking about how to activate OCCT multithreading in Ubuntu. I found the topic interesting.
I thought OCCT 7.1 from the daily PPA was built with TBB enabled.
1. Does anybody have any information about this?
2. Is there anything one should do to "enable" the multithread support?
3. BTW has anybody benchmarked the effect of OCCT multithread in FC?
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
@Abdullah check out viewtopic.php?f=10&t=18179&p=142585#p142585 and its partner issue #2750
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
As @Kunda1 mentioned this is the relevant bench:
https://forum.freecadweb.org/viewtopic. ... 30#p154815
Best to create 2 macros and after run each once. Look in the report view for the time that was needed for each bench to complete and compare the results. Use Top or System Monitor to observe multi-threading. Note that in both tests some multi-threading will be detected (detected at the end). It is meshing related:
If hardware is fast increase the value of:
https://forum.freecadweb.org/viewtopic. ... 30#p154815
Best to create 2 macros and after run each once. Look in the report view for the time that was needed for each bench to complete and compare the results. Use Top or System Monitor to observe multi-threading. Note that in both tests some multi-threading will be detected (detected at the end). It is meshing related:
Code: Select all
Part.show(result)
Code: Select all
cols = 20
rows = 20
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
The libopencascade packages used by the freecad-daily PPA are built with libtbb-dev as a dependency and the rules build script enables TBB. But I haven't tested this.
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
Thank you for your answers.
Ok, so I repeated triplus test, the 100x100 version with 8 cores using Ubuntu's daily build:
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10993 (Git)
Build type: None
Branch: master
Hash: bf5f3484f6f5506795b6e9b86288c75ab7357291
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
You can see multitask:
However:
1. Multi-thread is not used during the whole time.
2. Not everytime that multi-thread is used the 8 cores are running
Results:
314.795207024s - 100x100
222.212337971s - 100x100
So you need about the 70% of the time for the same operation.
Ok, so I repeated triplus test, the 100x100 version with 8 cores using Ubuntu's daily build:
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10993 (Git)
Build type: None
Branch: master
Hash: bf5f3484f6f5506795b6e9b86288c75ab7357291
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
You can see multitask:
However:
1. Multi-thread is not used during the whole time.
2. Not everytime that multi-thread is used the 8 cores are running
Results:
314.795207024s - 100x100
222.212337971s - 100x100
So you need about the 70% of the time for the same operation.
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
So, if understood it correctly, when you use operations that are optimized in OCCT for multithread, you get the boost in performance.
I have some follow-up questions:
1. Which operations are generally optimized?
2. What needs to be done in FreeCAD so that in the general workflow (e.g. Part Design) we get this boost?
I have some follow-up questions:
1. Which operations are generally optimized?
2. What needs to be done in FreeCAD so that in the general workflow (e.g. Part Design) we get this boost?
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
hello @abdullah:
The complete explanation in the OCCT documentation, chapter User Guides
https://www.opencascade.com/doc/occt-7. ... gorithms_1
EDIT: fix typos
I think all the operations based on the GeneralFuse algorithm.abdullah wrote:1. Which operations are generally optimized?
Code: Select all
shape=Part.Shape()
shape.cut.__doc__
'Difference of this and a given (list of) topo shape\ncut(tool) -> Shape\n or\ncut((tool1,tool2,...),[tolerance=0.0]) -> Shape\n\nSubstraction of this and a given list of topo shapes.\n\nSupports:\n- Fuzzy Boolean operations (global tolerance for a Boolean operation)\n- Support of multiple arguments for a single Boolean operation\n- Parallelization of Boolean Operations algorithm\n\nOCC 6.9.0 or later is required.'
https://www.opencascade.com/doc/occt-7. ... gorithms_1
Uhf! What's Partition Operator (PA)?The Boolean Component contains:
General Fuse Operator (GFA),
Boolean Operator (BOA),
Section Operator (SA),
Partition Operator (PA).
GFA is the base algorithm for BOA, PA, SA.
EDIT: fix typos
Re: [Ubuntu Daily PPA] Transitioning to OCCT7, VTK7...
For some operations you don't need to do anything as the support is there by default. For example:abdullah wrote:So, if understood it correctly, when you use operations that are optimized in OCCT for multithread, you get the boost in performance.
I have some follow-up questions:
1. Which operations are generally optimized?
2. What needs to be done in FreeCAD so that in the general workflow (e.g. Part Design) we get this boost?
Code: Select all
Part.show(shape)
https://forum.freecadweb.org/viewtopic. ... 30#p143338
And some more info:
https://forum.freecadweb.org/viewtopic. ... 10#p151947