View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030892 | Community | OCCT:Modeling Algorithms | public | 2019-08-12 15:18 | 2023-08-01 15:08 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | ||
Status | assigned | Resolution | open | ||
Target Version | Unscheduled | ||||
Summary | 0030892: Modeling Algorithms - Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods | ||||
Description | It is suggested to unify the GRAD and TREE algorithms of Extrema_ExtPS for looking for only the minimal/maximal distance between the point and surface. Complete unification does not look possible, as in some cases all extrema solutions are required, so option such FindAllSolutions might be present. Such unification may improve quality and performance of the Point-Surface Extrema algorithm and greatly simplify its usage. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
Branch CR30892 has been created by emv. SHA-1: 59be8bf11d3e1b7fbe0b4b00a243557f5952dc37 Detailed log of new commits: Author: emv Date: Mon Aug 19 08:41:04 2019 +0300 0030892: Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods Refactoring of the Extrema_GenExtPS class in order to improve performance and robustness of the algorithm by unifying the GRAD and TREE search methods. |
|
Branch CR30892 has been updated forcibly by emv. SHA-1: 87fd9a30bcaa2183b29c514c5c83817fb4006eb8 |
|
Branch CR30892 has been updated forcibly by emv. SHA-1: e9f0796502a3558b9bcb68fbbfb14feec77a40a2 |
|
Branch CR30892 has been updated by emv. SHA-1: 71ec6541c49d5f048930614e9693519f64d25121 Detailed log of new commits: Author: emv Date: Fri Sep 13 13:55:52 2019 +0300 # Decrease the box of the sample to make BVH tree more effective. # Use extreme MIN target in ProjLib_CompProjectedCurve. |
|
Branch CR30892 has been updated forcibly by emv. SHA-1: 8270a0b1111230c5108a4fc7ac53a8e17fbeee64 |
|
Branch CR30892 has been updated forcibly by emv. SHA-1: cd6e2ba25e18ea54ab1b145ae95f65df349544ee |
|
Branch CR30892 has been updated forcibly by emv. SHA-1: b062dc431dd9e6791207f6895881377f77b304d8 |
|
Branch CR30892 has been updated by emv. SHA-1: 6542788b0445ed24bc72d9a6f8d77c1f1fb03be5 Detailed log of new commits: Author: emv Date: Thu May 21 10:05:05 2020 +0300 # fixing errors on linux and MacOS |
|
Branch CR30892_1 has been created by emv. SHA-1: feb0415c82c526e5abf4c8d98ab42b8cab5b5b22 Detailed log of new commits: Author: emv Date: Mon Aug 19 08:41:04 2019 +0300 0030892: Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods Refactoring of the Extrema_GenExtPS class in order to improve performance and robustness of the algorithm by unifying the GRAD and TREE search methods. |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: 6afb2f11be4046d8383f92db06f2d708f1dd0d3e |
|
Branch CR30892_1 has been updated by emv. SHA-1: a3a2344fd0dd37711e21db8223e9e2cf910e4478 Detailed log of new commits: Author: emv Date: Wed May 27 10:10:00 2020 +0300 # revert increase of a box of a max corner cell. |
|
Branch CR30892_1 has been updated by emv. SHA-1: 86b79d028c268c5ba2b25559fcf8aed6ecf2ec50 Detailed log of new commits: Author: emv Date: Wed May 27 16:42:36 2020 +0300 # Perform localized extrema search in ComputeApproxOnPolarSurface |
|
Branch CR30892_1 has been updated by emv. SHA-1: 741fb1b317acf4e606fda14288497899ec01aa02 Detailed log of new commits: Author: emv Date: Thu May 28 11:41:34 2020 +0300 # cosmetics |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: a4ca000f2de29ecc57435a25ee3c4ddf7e66b97a |
|
Branch CR30892_1 has been updated by emv. SHA-1: 1ab1276d3a162aa24c11c88a8052eaf203e45758 Detailed log of new commits: Author: emv Date: Fri May 29 11:55:09 2020 +0300 # cosmetics. |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: f16b1881038c9a83477d11e83b87347b90b618d3 |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: 0819ed1465f42f6c316f2d0f59fa7a8b977d1a68 |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: c911c9ebd217aa81d56889f76cce7097c219dd9a |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: 51aad8886509b1e0e6c9630087b5a1dfde30b58a |
|
Branch CR30892_1 has been updated by emv. SHA-1: 141831f7bace286daf762948d418c59a62881997 Detailed log of new commits: Author: emv Date: Thu Aug 27 12:30:45 2020 +0300 # use std::vector in Extrema_FuncPSNorm # Minimize the grid cell bounding box |
|
Branch CR30892_1 has been updated forcibly by emv. SHA-1: 204acb3e931c9fc005816d0859bb3f6b06750ecc |
|
Branch CR30892_2 has been created by emv. SHA-1: 4134999287c1795c38ac2f0d7abe43672f729948 Detailed log of new commits: Author: emv Date: Mon Aug 19 08:41:04 2019 +0300 0030892: Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods Refactoring of the Extrema_GenExtPS class in order to improve performance and robustness of the algorithm by unifying the GRAD and TREE search methods. |
|
Branch CR30892_2 has been updated forcibly by emv. SHA-1: 457a5de722d7bc6d9e715f2ef32b7e77ba7f9331 |
|
Branch CR30892_2 has been updated forcibly by emv. SHA-1: 84ee92209790813c674261fb942e4727642e01c5 |
|
Branch CR30892_2 has been updated forcibly by emv. SHA-1: 52ff4caede90afe364dd91a22ac7d4e127aab969 |
|
I have made some experiments on current version of the fix against master and CR26166, here are results. 1. Translation of large STEP files DRAW commands: pload ALL autodisplay 0 chrono s restart stepread [locate_data_file LP1.stp] a * chrono s stop show The reported time is CPU time in seconds. File | master | CR26166 | CR30892 --------|--------|---------|--------- LP1.stp | 21.6 | 32 | 21.6 LP2.stp | 74.9 | 70.2 | 63.8 LP3.stp | 910 | 711 | 867 2. Tests from branch CR26166 Test | master | CR26166 | CR30892 -------------------|--------|---------|-------- perf heal pcurves1 | 9.86 | 2.1 | 4.2 perf heal pcurves2 | 3.94 | 2.3 | 1.9 |
|
In addition, I have run tests in single thread, comparing master and CR30892_2. Here are test cases where CPU regressions are noticed: CPU bugs moddata_3 bug27534: 14.046875 / 2.9375 [+378.19%] CPU de step_3 F2: 17.4375 / 14.328125 [+21.70%] CPU de step_4 I1: 15.75 / 13.484375 [+16.80%] Note: OCCT was built with VS 2019, 64 bit Release indeed; run on CPU i5-8600, 6 cores |
|
Hello Andrey, these are the same cases revealed by jenkins tests. The last two cases are stable ones, but I cannot reproduce the first one. It works quite fast on my configuration (VS2015, 64 bit Release): TOTAL CPU TIME: 0.03125 sec. |
|
I betlieve the reason of difference on test case bugs moddata_3 bug27534 is that I build with VS 2019 (vc142) |
|
Igor, Could you check can we have it in 7.5.0 or it requires additional testing... |
|
Dear Sergey, In my opinion this issue required additional investigations: 1. Bad performance of bugs moddata_3 bug27534, which is in test result of CR30892_2-CR30892-emv for Windows platform. Really this test is not quite correct, because for projection of curve on surface abnormally large tolerance = 0.2 is used. May be it causes some kind of numerical instability in new algorithm. 2. Possible lost of functionality: in mode GRAD and, for example flag MIN, old algorithm theoretically can produce all local minimal distances between point and surface. New algorithm cannot reproduce the same results. It can cause regressions in any customer applications. 3. If we want to improve performance, it would be interesting to test using math_PSO instead of BVH for seaching first approximation of global minimal distance (similar to extrema curve-surface) |
|
See remarks of Igor. |
|
Branch CR30892_3 has been created by emv. SHA-1: b8e440d295c93224536c19a81b6e2352a936607f Detailed log of new commits: Author: emv Date: Fri Oct 2 08:15:31 2020 +0300 # revert changes in ProjLib_ComputeApproxOnPolarSurface just for testing. Author: emv Date: Fri Sep 18 13:06:08 2020 +0300 # compute all grid points in a single pass to avoid cache rebuild on BSpline surfaces. # use iterator for array initialization with default distance values. Author: emv Date: Mon Aug 19 08:41:04 2019 +0300 0030892: Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods Refactoring of the Extrema_GenExtPS class in order to improve performance and robustness of the algorithm by unifying the GRAD and TREE search methods. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-08-12 15:18 |
|
New Issue | |
2019-08-12 15:18 |
|
Assigned To | => msv |
2019-09-11 13:07 | git | Note Added: 0087006 | |
2019-09-11 13:19 | git | Note Added: 0087009 | |
2019-09-11 13:31 | git | Note Added: 0087010 | |
2019-09-13 13:59 | git | Note Added: 0087057 | |
2019-09-13 16:00 |
|
Assigned To | msv => emv |
2019-09-13 16:00 |
|
Status | new => assigned |
2019-10-02 17:21 |
|
Relationship added | related to 0026166 |
2019-10-03 14:18 | git | Note Added: 0087765 | |
2020-04-13 07:51 | git | Note Added: 0091528 | |
2020-05-21 08:55 | git | Note Added: 0092281 | |
2020-05-21 10:04 | git | Note Added: 0092284 | |
2020-05-21 12:43 | git | Note Added: 0092290 | |
2020-05-26 08:49 | git | Note Added: 0092342 | |
2020-05-27 10:09 | git | Note Added: 0092355 | |
2020-05-27 16:42 | git | Note Added: 0092361 | |
2020-05-28 11:49 | git | Note Added: 0092384 | |
2020-05-28 16:03 | git | Note Added: 0092387 | |
2020-05-29 11:55 | git | Note Added: 0092400 | |
2020-06-01 09:30 | git | Note Added: 0092424 | |
2020-06-02 10:23 | git | Note Added: 0092440 | |
2020-07-07 08:42 | git | Note Added: 0093028 | |
2020-08-26 22:25 | git | Note Added: 0093656 | |
2020-08-27 12:37 | git | Note Added: 0093661 | |
2020-08-27 16:47 | git | Note Added: 0093671 | |
2020-08-28 12:26 |
|
Target Version | 7.5.0 => 7.6.0 |
2020-09-10 11:04 | git | Note Added: 0094359 | |
2020-09-10 16:01 | git | Note Added: 0094387 | |
2020-09-18 14:14 | git | Note Added: 0095025 | |
2020-09-18 16:30 | git | Note Added: 0095037 | |
2020-09-21 08:35 |
|
Note Added: 0095174 | |
2020-09-21 08:44 |
|
Note Added: 0095175 | |
2020-09-21 08:55 |
|
Note Added: 0095176 | |
2020-09-21 10:01 |
|
Note Added: 0095177 | |
2020-09-21 10:02 |
|
Relationship added | related to 0027534 |
2020-09-28 17:49 |
|
Assigned To | emv => ifv |
2020-09-28 17:51 |
|
Note Added: 0095447 | |
2020-09-28 20:31 | kgv | Severity | minor => feature |
2020-09-28 20:31 | kgv | Summary | Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods => Modeling Algorithms - Improve Extrema_ExtPS algorithm by unifying the GRAD and TREE methods |
2020-09-28 20:31 | kgv | Status | assigned => feedback |
2020-09-29 14:45 |
|
Assigned To | ifv => szy |
2020-09-29 14:46 |
|
Assigned To | szy => ifv |
2020-09-29 15:25 |
|
Note Added: 0095464 | |
2020-09-29 15:25 |
|
Assigned To | ifv => szy |
2020-09-29 15:25 |
|
Status | feedback => reviewed |
2020-09-29 15:25 |
|
Status | reviewed => feedback |
2020-09-30 08:58 |
|
Assigned To | szy => emv |
2020-09-30 08:59 |
|
Note Added: 0095478 | |
2020-09-30 08:59 |
|
Status | feedback => assigned |
2020-10-02 08:15 | git | Note Added: 0095546 | |
2021-08-29 19:03 |
|
Target Version | 7.6.0 => 7.7.0 |
2022-10-24 10:41 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |