Mike Chaney's Tech Corner
August 07, 2020, 12:05:31 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Feb 2013: Qimage Ultimate Challenges... have fun and explore features!
 
   Home   Help Search Login Register  

Download and develop photos from your flash cards with one click!
Get a trial of
FlashPipe today and stop fumbling with explorer windows to transfer photos and videos
Pages: [1]
  Print  
Author Topic: v2020.110 issues/comments  (Read 847 times)
admin
Administrator
Forum Superhero
*****
Posts: 3110



View Profile Email
« on: December 23, 2019, 05:49:58 PM »

http://www.ddisoftware.com/qimage-u

v2020.110      Dec 23, 2019

Priority: Low

2020.110 supports up to 12 processing threads to speed up thumbnail, raw, and print processing speeds on modern high end systems.

Mike
Logged
Alain
Newbie
*
Posts: 7


View Profile
« Reply #1 on: December 25, 2019, 11:46:27 AM »


Two questions about the "up to 12 processing threads "

- What's the difference between the previous version?

- Is it useful to use more threads than there are physical core's? for example with a 8core/16 thread CPU?
Logged
admin
Administrator
Forum Superhero
*****
Posts: 3110



View Profile Email
« Reply #2 on: December 25, 2019, 02:45:45 PM »

Quote
- What's the difference between the previous version?

4 threads.  Smiley  Old versions allowed up to 8 threads and 2020.110 allows up to 12.

Quote
- Is it useful to use more threads than there are physical core's? for example with a 8core/16 thread CPU?

The number of physical cores doesn't matter as much as supported threads.  QU shows on the splash screen how many cores and threads are supported on your system.  If it says 6 cores, 12 threads then you should run 12 threads if you want the fastest performance.  If it says 4 cores, 8 threads then you should run 8 threads for fastest performance.  If it just reports "4 cores", then your system doesn't use thread optimization and it supports 4 threads (same as the number of cores).  Leaving QU's Multi-threading settings on the default "Auto" setting takes care of all that.

Many of the latest high end consumer CPU's are 6/12, 8/16, or 12/24 cores/threads so 2020.110 will process prints, thumbs, and raws significantly faster on those systems.  Using more threads than you have physical cores makes sense if your system supports more threads than physical cores.  But using more threads than your system's thread count will have limited (if any) benefit and will render your system unusable for any task other than the one using those threads, meaning you won't be able to perform other tasks while waiting for the high thread-count task to finish because your high-intensity task is using all that the CPU supports.

Mike
Logged
Alain
Newbie
*
Posts: 7


View Profile
« Reply #3 on: December 27, 2019, 05:48:37 PM »

Quote
- What's the difference between the previous version?

4 threads.  Smiley  Old versions allowed up to 8 threads and 2020.110 allows up to 12.

Quote
- Is it useful to use more threads than there are physical core's? for example with a 8core/16 thread CPU?

The number of physical cores doesn't matter as much as supported threads.  QU shows on the splash screen how many cores and threads are supported on your system.  If it says 6 cores, 12 threads then you should run 12 threads if you want the fastest performance.  If it says 4 cores, 8 threads then you should run 8 threads for fastest performance.  If it just reports "4 cores", then your system doesn't use thread optimization and it supports 4 threads (same as the number of cores).  Leaving QU's Multi-threading settings on the default "Auto" setting takes care of all that.

Many of the latest high end consumer CPU's are 6/12, 8/16, or 12/24 cores/threads so 2020.110 will process prints, thumbs, and raws significantly faster on those systems.  Using more threads than you have physical cores makes sense if your system supports more threads than physical cores.  But using more threads than your system's thread count will have limited (if any) benefit and will render your system unusable for any task other than the one using those threads, meaning you won't be able to perform other tasks while waiting for the high thread-count task to finish because your high-intensity task is using all that the CPU supports.

Mike
Thanks

I was under the impression that using more threads than cores on a high core machine (aka 8/16) is only really useful for code that's very CPU intensive and not memory/cache intensive, because otherwise the memory bandwidth becomes the bottleneck.

Alain
Logged
admin
Administrator
Forum Superhero
*****
Posts: 3110



View Profile Email
« Reply #4 on: December 27, 2019, 06:36:51 PM »

I was under the impression that using more threads than cores on a high core machine (aka 8/16) is only really useful for code that's very CPU intensive and not memory/cache intensive, because otherwise the memory bandwidth becomes the bottleneck.

Alain

That depends on what you are doing.  Printing, thumb, and raw building are all CPU intensive.  Printing speed benefits from more threads in particular because printing is not very memory intensive as most of the time is spent interpolating pixels which is done in small chunks (tiles) to be very efficient and these are split up among threads.  Raw building can be memory intensive if you are building raws from cameras with a high pixel count but QU already takes care of that by monitoring memory usage during raw (cache) development and only using the number of threads necessary.  But even with raw building, most of the job is CPU intensive with color channel interpolation and building the final image.

Example: On a 12 core/24 thread machine, printing a single 24x36 inch print took 27 seconds with 2020.109 (which supported up to 8 threads).  With 2020.110, the same print took 19 seconds to process; proportional to the extra threads (12).  Not particularly relevant for a single 24x36 inch print, but what if you had 10 of them to print?  Or 20?  Or a hundred 8x10 prints?

Mike
Logged
Ernst Dinkla
Sr. Member
****
Posts: 394


View Profile Email
« Reply #5 on: December 28, 2019, 12:45:16 PM »

http://www.ddisoftware.com/qimage-u

v2020.110      Dec 23, 2019

Priority: Low

2020.110 supports up to 12 processing threads to speed up thumbnail, raw, and print processing speeds on modern high end systems.

Mike

Quite a coincidence as I bought parts for a system like that just before this announcement. Thank you. Will take a week probably before I can test it but the old system with 4 cores became really old so it will be a big step forward anyway.

Met vriendelijke groet, Ernst

http://www.pigment-print.com/SpectralPlots/SpectrumViz_1.htm
March 2017 update, 750+ inkjet media white spectral plots
« Last Edit: January 06, 2020, 08:42:30 AM by Ernst Dinkla » Logged
Alain
Newbie
*
Posts: 7


View Profile
« Reply #6 on: December 31, 2019, 02:07:10 PM »

I was under the impression that using more threads than cores on a high core machine (aka 8/16) is only really useful for code that's very CPU intensive and not memory/cache intensive, because otherwise the memory bandwidth becomes the bottleneck.

Alain

That depends on what you are doing.  Printing, thumb, and raw building are all CPU intensive.  Printing speed benefits from more threads in particular because printing is not very memory intensive as most of the time is spent interpolating pixels which is done in small chunks (tiles) to be very efficient and these are split up among threads.  Raw building can be memory intensive if you are building raws from cameras with a high pixel count but QU already takes care of that by monitoring memory usage during raw (cache) development and only using the number of threads necessary.  But even with raw building, most of the job is CPU intensive with color channel interpolation and building the final image.

Example: On a 12 core/24 thread machine, printing a single 24x36 inch print took 27 seconds with 2020.109 (which supported up to 8 threads).  With 2020.110, the same print took 19 seconds to process; proportional to the extra threads (12).  Not particularly relevant for a single 24x36 inch print, but what if you had 10 of them to print?  Or 20?  Or a hundred 8x10 prints?

Mike

Thanks  (Although you write about extra cores, not extra CPU threads.)
Logged
admin
Administrator
Forum Superhero
*****
Posts: 3110



View Profile Email
« Reply #7 on: December 31, 2019, 04:06:23 PM »

Thanks  (Although you write about extra cores, not extra CPU threads.)

I was addressing both by pointing out that most of the workload in the multi-threaded usage in QU is calculational and not memory access.  The benefit of HT (or AMD's CMT) in running more threads than cores is reduced if you are doing a lot of memory shifting as you would in say a video game.  But repetitive calculations give a noticeable boost when running more threads than cores, up to the number of threads supported by the CPU.

Bottom line, QU will run faster with 12 threads on an 8 core/16 thread machine than it will using only 8 threads.

Mike
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!