Is Polywork (in perticular IMAlign) a simultaneous multi-threading program?

Started by yonghui, April 07, 2009, 02:46:46 AM

Previous topic - Next topic

yonghui

I am using Polywork 10.
I am using 64 bit Polywork on a powerful 64 bit workstation (16GB RAM+ 2.36 TB HD + 4 processors @ 2.66GHz).

Sometime I also use 32 bit Polywork on a 32 bit laptop as well (2GB RAM + 120GB + 3.6GHz single processor)

After registered about 48 Scan positions together, I started the 'reduce overlay' command.

Guess what, the laptop version is a lot faster than the desktop version when doing this command on same data set with same parameters given!!

I checked the 'Task manager' - 'Performance', on my desktop. It seems that only one processor is busying in proceeseing.

So the question is "Is Polywork version 10 really a  simultaneous multi-threading program?????"

How do I configure to fully utilize the power of my desktop???

EFV

I spent a couple of weeks curious about this, and had task manager open on my second monitor for many hours.

There seemed to be more activity during processes like alignment - every processor kicks in for that.  Your IMMerge agent governs merging, but with it turned off (or if on, configured to use all) all processors will take up work on that as well.

As far as I can tell, though, for most of the shorter jobs, a single powerful processor will do work faster than a mid-range multicore.

I haven't really paid attention to how v11 behaves in this regard.

*EDIT* - If polyworks does have some manual configuration/settings to improve multicore performance, it would be news to me.

spike3d


From my experience not many Polyworks functions are multithreaded. Unfortunately the one you are trying to use , reduce overlap is slow and not multi-threaded  :( The ones that are multi-threaded off the top of my head are: Aligning in IMAlign, IMMerge and IMCompress in Huge mode. Hopefully reduce overlap and file import are on the short list for multi-threading.

I would be interested in hearing what other users find as slow operations in PW besides the above.

prehistory

I, too, watch the Task Manager to see what functions are multi-threaded.  My list of multi-threaded functions is:

IMInspect-
CAD model Tesselation
Caliper adjustment
Cross-section creation on point clouds
Data to Ref comparison (comparison point in part)
Fit Min/Max and a little cone and cylinder fit
Measure Clearance
Multiple Data Variability Analysis

IMAlign-
Best Fit Alignment
Keep Best Line Data (possibly)

IMCompress
Huge Mode


yonghui

Thank you for reply, Everyone.

Hi EFV, the overlay reduction is a long-processing job. Perticularly, for my scanned data, the desktop took about 30 hours to finish, but the laptop only took less than 20 hours to do the same job.

Quote from: EFV on April 07, 2009, 05:37:03 AM
As far as I can tell, though, for most of the shorter jobs, a single powerful processor will do work faster than a mid-range multicore.

EFV

That is interesting.  I would have expected something like overlap reduction to segment the data (much like immerge) and run multithreaded.

My work computer (with 8x 2ghz processors) feels bottlenecked on a lot of short operations, but the longer jobs usually finish quickly.

PW User

There is nothing you can configure to make it more "multiprocessor".

Here is the list of processes using multi-cores:
IMAlign - Best-fit Alignment
IMCompress (in huge model mode)
IMInspect - multiple data variability analysis
IMInspect - Measure clearance
IMInspect - CAD model tesselation
IMInspect - Caliper adjustment
IMInspect - Data to Ref comparison (comparison point in part)
IMInspect - Cross-section creation on point clouds
IMInspect - Fit Min/Max and a little cone and cylinder fit
IMMerge - Note: you can even use many computers (cluster mode)
All modules - High Quality Transparency

Now this list is long - from my standards - but it's never enough, right? To InnovMetric's defense: most other CAD software have none or very limited functions that are "multithreaded" and use parallel processing.

So from my point of view, InnovMetric is doing a great job so far. From a users perspective, though, it may seem not enough, especially if the one function you are using which takes long is only on one processor...

Parallel processing is not an easy thing to do. But that's no reason not to keep on trying...