View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028199 | Open CASCADE | OCCT:Foundation Classes | public | 2016-12-07 09:47 | 2024-03-03 01:59 |
Reporter | Assigned To | dpasukhi | |||
Priority | normal | Severity | feature | ||
Status | assigned | Resolution | open | ||
Product Version | 7.1.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0028199: Foundation Classes - Add possibility to set number of threads for parallel execution | ||||
Description | Nowadays OCCT library contains set of algorithms with parallel sections. Now it is possible to turn on parallel mode and not possible to set number of threads. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0026365 | closed | bugmaster | Optimization of work of OSD_Parallel class members for GeomLib_CheckCurveOnSurface |
related to | 0033625 | new | dpasukhi | Foundation Classes - for_each parallel integration for c++17 |
related to | 0033626 | new | dpasukhi | Foundation Classes - for_each parallel integration based on OMP |
parent of | 0030573 | closed | apn | OSD_Parallel_TBB: limit number of execution threads using settings of OSD_ThreadPool::DefaultPool() |
related to | 0029935 | closed | bugmaster | Foundation Classes - introduce OSD_ThreadPool class defining a thread pool |
|
Since OSD_ThreadPool introduction by 0029935 it is now possible specifying number of threads within OSD_ThreadPool::Launcher constructor (to specify lower amount of threads from pool) and within OSD_ThreadPool constructor / OSD_ThreadPool::Init() to specify amount of threads in pool. This does not affect properties of TBB pool, when it is used instead of OSD pool. |
|
Just an idea to consider may be during this patch preparation. BO has the option IsParallel. If the user does not set it to true he expects all the code will run in one thread. But the code of GeomLib_CheckCurveOnSurface is always called in multi-thread mode (the argument of Perform() method isTheMultyTheradDisabled = Standard_False). So, in order to make consistent behavior of the code regarding the flag myRunParallel of BO, it is needed to pass this flag through the chain of calls BOPAlgo_PaveFiller::PerformFF() -> IntTools_FaceFace -> IntTools_Tools::ComputeTolerance() -> GeomLib_CheckCurveOnSurface::Perform(). |
|
Main logic - to hide thread number into a single interface and keep this number actual for general OSD_Parallel:For TBB, Threads, OMP, and STD implementations. OMP and TBB need to call specific global static functions. Additionally, it will help to disable the general multithreading of OCCT-based solutions(when 0 is the maximum thread number). A maximum number of threads will be applied and used, especially for cases with servers. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-12-07 09:47 |
|
New Issue | |
2016-12-07 09:47 |
|
Assigned To | => abv |
2016-12-07 10:10 | kgv | Severity | minor => feature |
2017-01-18 17:32 |
|
Assigned To | abv => ski |
2017-01-18 17:32 |
|
Status | new => assigned |
2017-07-20 12:31 | kgv | Target Version | 7.2.0 => 7.4.0 |
2017-07-20 12:34 | kgv | Relationship added | related to 0026365 |
2018-07-07 02:32 | kgv | Relationship added | related to 0029935 |
2019-01-10 16:28 | kgv | Note Added: 0081719 | |
2019-01-10 16:29 | kgv | Note Edited: 0081719 | |
2019-01-11 11:12 |
|
Note Added: 0081751 | |
2019-03-25 14:23 | kgv | Relationship added | parent of 0030573 |
2019-07-10 19:27 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-09-11 15:34 |
|
Target Version | 7.5.0 => 7.6.0 |
2020-09-11 15:44 | kgv | Target Version | 7.6.0 => 7.5.0 |
2020-09-22 18:46 |
|
Target Version | 7.5.0 => 7.6.0 |
2021-09-09 22:39 | kgv | Assigned To | ski => |
2021-09-09 22:39 | kgv | Category | OCCT:Coding => OCCT:Foundation Classes |
2021-09-09 22:39 | kgv | Target Version | 7.6.0 => 7.7.0 |
2022-10-24 10:40 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |
2024-03-03 01:36 | dpasukhi | Assigned To | => dpasukhi |
2024-03-03 01:54 | dpasukhi | Relationship added | related to 0033625 |
2024-03-03 01:54 | dpasukhi | Relationship added | related to 0033626 |
2024-03-03 01:57 | dpasukhi | Note Added: 0115221 | |
2024-03-03 01:58 | dpasukhi | Summary | Add possibility to set number of threads for parallel execution => Foundation Classes - Add possibility to set number of threads for parallel execution |
2024-03-03 01:58 | dpasukhi | Note Edited: 0115221 | |
2024-03-03 01:59 | dpasukhi | Note Edited: 0115221 |