­
2009-06 - Open CASCADE notes

Developing parallel applications with Open CASCADE. Part 3

20:39 / BY Roman Lygin
( continued...)Data racesData races is one of the most frequent problems that pop up when transitioning from sequential to parallel programming. When you develop a sequential code you usually make totally different assumptions on how you code would execute. It may require some imagination to understand how your code may work in multi-threaded environment and to anticipate which problems may happen.Data races may...

Continue Reading

Developing parallel applications with Open CASCADE. Part 2

20:38 / BY Roman Lygin
(continued...)By the way, you must set this environment variable (MMGT_OPT) as well as other ones that control Open CASCADE memory management, before your application starts. This is important as selection of a memory manager is done during dll's loading. This is also a very inconvenient limitation that forbids to assign a custom memory manager in run-time.Due to extensive memory allocation and deallocation during...

Continue Reading

Performance tests of CAD Exchanger ACIS translator

01:06 / BY Roman Lygin
As I already mentioned, I have been developing an ACIS translator for CAD Exchanger designing its architecture for multi-core from the very beginning. Today I performed a series of performance tests of its Alpha version executing multiple-files (from 150Kb to 55Mb) on different hardware (2/4/8 cores). The same set of tests have been executed against another ACIS translator and I am proud to...

Continue Reading

Developing parallel applications with Open CASCADE. Part 1

19:50 / BY Roman Lygin
As mentioned in an earlier post, I am now working on an ACIS importer for CAD Exchanger and am developing it to be parallel. The results are very promising so far (except STL streams parsing due to the Microsoft bug mentioned in that post, though I'm now installing VS2008SP1 to check if it has been fixed). So I decided to share my experience...

Continue Reading