Page 1 of 1

Post scan multi-processing

PostPosted: Sun Oct 14, 2007 11:18 pm
by hmmacha
Please enable post scan multiprocessor support as a patch to the latest version. SF has many features that are applied after scan. Just using half a processor requires more time, extending the time necessary to work with 36 frame films.

PostPosted: Tue Dec 04, 2007 5:49 pm
by LSI_Noack
Dear hmmacha

while we will make the step towards multi-core and multi-CPU processing, this will not be possible during the lifetime of SilverFast 6.5.
The whole programming framework would need to be changed and this is a step we are already actively pursueing, but cannot integrate in this "old" version (remember 6.0 had been released December 2002 and the "ground" stems from an even earlier time).

Nevertheless, thank you for encouraging us to move further down the road we're (albeit internally at this time or writing) treading :)

Best regards
Sonny Noack
- Manager Technical Support, LaserSoft Imaging AG -

Possible simplified multi-processing

PostPosted: Tue Feb 05, 2008 7:27 pm
by marekv
I have a suggestion for an interim multi-processing that might be possible to implement.

I assume that when you are scanning, you receive the data from the scanner and write it to a temporary file or memory buffer; then, you do the post-processing from that file/buffer.

What I would suggest is that you extend this to use TWO such buffers/files. You can scan to one, then start post-processing in the normal manner. While this post-processing is going on, you can start another scan to the second buffer; after that is finished you wait for the first post-processing to finish, then start post-processing the first and a new scan to the second.

This feature would initially only be available for batch scanning, so you should not have to do much to the GUI.

While it is a limited capability, it would still almost double the throughput on my DigitDia 4000, where post-processing takes not much more than scanning. All multi-scans etc would of course run sequentially like today - keep it as (technically) simple as possible while achieving at least some parallellism.

Update to suggestion

PostPosted: Tue Feb 05, 2008 7:30 pm
by marekv
Hello again, I saw that I should have been more careful with my phrasing. But I'm sure you get the point - alternately scanning to and post-processing from two buffers, so that you can scan to one and post-process the other and vice versa. It's a sort of poor-man's multitasking, but in my opinion it would be well worthwhile, and should not be as technically demanding as, for instance, partitioning and parallellizing iSRD or advanced filters.

Best regards,
Marek

Re: Post scan multi-processing

PostPosted: Sun May 03, 2009 3:19 am
by dickkaiser
I'd like to echo this request. Just overlapping the scanning with the post processing would be fabulous.

There are some less difficult ways to add parallelism to your application. You can replace some of your library calls with threaded high performance libraries such as Intel's IPP. When you do go to add parallelism, you can do it more effectively at a higher level using a threading library like Intel's TBB. Download free evaluation software at: http://software.intel.com/en-us/intel-sdp-home/.

Processor clocks speeds will not be increasing. The major performance boost from now on will be more cores.

Cheers!

Re: Post scan multi-processing

PostPosted: Sun May 03, 2009 6:28 am
by dickkaiser
I just timed it. My batch scans are scanner bound, not processing bound even with all the extras like SRD and multi-exposure. So, no need for a lot of parallelism, just do the processing in the background while scanning and we'll get 2x the throughput.

Thanks! Nice software.

Cheers,
Dick

Re: Post scan multi-processing

PostPosted: Mon May 04, 2009 9:42 am
by LSI_Luebker
Dear Dick,

thank you for your suggestions, we already use multiple cores iSRD which actually makes good use of the additional processing power.
It is implemented in the Mac as well as in the Windows Version of SilverFast.

Re: Post scan multi-processing

PostPosted: Mon May 04, 2009 10:17 am
by marekv
Yes, I noticed when I recently upgraded to a multi-core computer. Is this a recent change? iSRD now is pleasantly fast (I'm scanning slides at 3600dpi, so 15megapix/image), and it also seems that the algorithm has been improved to avoid the rare cases when it "went bananas" and made ugly, sharp artefacts.

One question: Would 4 cores then go roughly twice as fast as my current two?

Overlapping scanning with post-processing would gain me about 25-30% improvement in total. Worthwhile but perhaps not critical anymore; especially if iSRD (which is the expensive one) can scale to 4 cores.

Best regards,

Marek

Re: Post scan multi-processing

PostPosted: Mon May 04, 2009 1:03 pm
by LSI_Luebker
Dear Marek,

yes this change has beend introduced recently with the improvements in iSRD that you already noticed.
In terms of more than one Core I can tell you that our Developers have done they best to make this feature scalable, so on my testing MacPro all 8 Cores are used.

Re: Post scan multi-processing

PostPosted: Wed May 06, 2009 6:26 am
by dickkaiser
Yes, the performance for iSRD is great. My point is that I'm scanner bound, but my scanner is only scanning half of the time. I scan a slide, then it processes, then it scans another slide. If you can overlap scanning and processing, instead of doing it serially as you do today, then there is no need to make processing faster (at least for batch scans) as the processing step (including iSRD) is already faster than the scan. If the scan of "slide #2" occurs at the same time as the processing of "slide #1" the processing time "hides" behind the next scan. I'm not sure what this would mean for a flat bed scanner, but for my Nikon slide scanner with a feeder it would be great.

Re: Post scan multi-processing

PostPosted: Wed May 06, 2009 8:26 am
by LSI_Luebker
Dear dickkaiser,

thanks for your suggestions we will take it into consideration.