Author Topic: GPU prefetching of images  (Read 12663 times)

Offline marokero

  • Newcomer
  • *
  • Posts: 9
    • View Profile
GPU prefetching of images
« on: March 05, 2009, 07:42:44 AM »
Is this feasible for a future update of PM? A lot of graphic cards these days have more than 256MB of memory built in, maybe that could be tapped to load some images in advance.

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24755
    • View Profile
    • Camera Bits, Inc.
Re: GPU prefetching of images
« Reply #1 on: March 05, 2009, 08:00:10 AM »
Is this feasible for a future update of PM? A lot of graphic cards these days have more than 256MB of memory built in, maybe that could be tapped to load some images in advance.

GPUs cannot decode JPEGs (at least not that I know of) and just two Nikon D3X images would fill up almost all of the memory on the card.  (About 100MB each when decoded and ready to draw.)

We already precache previews using as many CPUs that you have on your system.

-Kirk

Offline Kevin M. Cox

  • Hero Member
  • *****
  • Posts: 511
  • PM 6 (7102) | macOS 14.4.1
    • View Profile
    • Kevin M. Cox | Photojournalist
Re: GPU prefetching of images
« Reply #2 on: March 06, 2009, 11:03:30 PM »
We already precache previews using as many CPUs that you have on your system.

Kirk this brings up a question I have in relation to the newly released Mac Pros (Nehalem). How optimized is Photo Mechanic for multiple cores and now threads?  Will there be a noticeable difference between a new Quad core (8 thread) machine and one with 8 cores (16 threads)? Can PM take advantage of that many cores/threads?

And more on topic does the video card in a Mac make any difference with Photo Mechanic like it does with Apple's Aperture?

Thanks
Kevin M. Cox | Photojournalist
https://www.instagram.com/kevin.m.cox/

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24755
    • View Profile
    • Camera Bits, Inc.
Re: GPU prefetching of images
« Reply #3 on: March 06, 2009, 11:26:36 PM »
Kevin,

We already precache previews using as many CPUs that you have on your system.

Kirk this brings up a question I have in relation to the newly released Mac Pros (Nehalem). How optimized is Photo Mechanic for multiple cores and now threads?  Will there be a noticeable difference between a new Quad core (8 thread) machine and one with 8 cores (16 threads)? Can PM take advantage of that many cores/threads?

And more on topic does the video card in a Mac make any difference with Photo Mechanic like it does with Apple's Aperture?

Photo Mechanic is already multi-threaded, quite heavily.  The more dedicated CPUs the better.

The video card does not have a huge amount of importance, but it is definitely involved in drawing images to the screen, so the faster the better.  But I certainly wouldn't fork over $1500.00 for an NVidia Quadro card if all you're doing is using Photo Mechanic and Photoshop.

-Kirk

Offline devenh

  • Sr. Member
  • ****
  • Posts: 435
    • View Profile
Re: GPU prefetching of images
« Reply #4 on: March 10, 2009, 07:59:02 AM »
Kirk,

Regarding being multi threaded, does this apply to the Save As command?  When saving several hundred images I checked my CPU utilization on my dual core laptop and it was about 60%.  Since I was downsizing the images, the process was very CPU intensive so I would have expected closer to 100% utilization.

4.6 Windows Vista

Deven

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24755
    • View Profile
    • Camera Bits, Inc.
Re: GPU prefetching of images
« Reply #5 on: March 10, 2009, 08:15:46 AM »
Deven,

Regarding being multi threaded, does this apply to the Save As command?  When saving several hundred images I checked my CPU utilization on my dual core laptop and it was about 60%.  Since I was downsizing the images, the process was very CPU intensive so I would have expected closer to 100% utilization.

No, Save As is single-threaded.  We could definitely improve things there.

-Kirk

Offline rjp

  • Member
  • **
  • Posts: 93
    • View Profile
Re: GPU prefetching of images
« Reply #6 on: March 10, 2009, 08:39:55 AM »
Deven,

Regarding being multi threaded, does this apply to the Save As command?  When saving several hundred images I checked my CPU utilization on my dual core laptop and it was about 60%.  Since I was downsizing the images, the process was very CPU intensive so I would have expected closer to 100% utilization.

No, Save As is single-threaded.  We could definitely improve things there.

-Kirk


Excellent! Since it is frequently used for large batch saves I'm sure many would benefit.

Offline marokero

  • Newcomer
  • *
  • Posts: 9
    • View Profile
Re: GPU prefetching of images
« Reply #7 on: April 09, 2009, 08:39:37 AM »
No, Save As is single-threaded.  We could definitely improve things there.

That would be great on my Mac Pro with 8-cores (early 2008), and even with my dual core Dell at work! Hopefully one day there will be a way to have the GPU assist in some way in the workings of PM. I'm not sure Snow Leopard with Grand Central and OpenCL will facilitate this or not.

Offline Kevin M. Cox

  • Hero Member
  • *****
  • Posts: 511
  • PM 6 (7102) | macOS 14.4.1
    • View Profile
    • Kevin M. Cox | Photojournalist
Re: multiple cores
« Reply #8 on: April 27, 2009, 10:36:15 PM »
Photo Mechanic is already multi-threaded, quite heavily.  The more dedicated CPUs the better.

Kirk, sorry to drag this thread back up, but I've got a question.

In your opinion which would be faster for Photo Mechanic on OS X: a 2.93 GHz Quad-core or a 2.26 GHz Octo-core.  (These represent the fastest 4-core and slowest 8-core Mac Pros currently available. Price is similar between the two hence the question.)
Kevin M. Cox | Photojournalist
https://www.instagram.com/kevin.m.cox/

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24755
    • View Profile
    • Camera Bits, Inc.
Re: multiple cores
« Reply #9 on: April 28, 2009, 06:46:12 AM »
Kevin,

Photo Mechanic is already multi-threaded, quite heavily.  The more dedicated CPUs the better.

Kirk, sorry to drag this thread back up, but I've got a question.

In your opinion which would be faster for Photo Mechanic on OS X: a 2.93 GHz Quad-core or a 2.26 GHz Octo-core.  (These represent the fastest 4-core and slowest 8-core Mac Pros currently available. Price is similar between the two hence the question.)

I haven't tested on an 8-core (I have the 4-core system for my development system) but in theory it should absolutely smoke the 4-core system for loading images.  It will be slower in single threaded operations like applying the IPTC Stationery Pad, Save As, etc. since the clock rate you quoted is slower than the 4-core system you listed.

-Kirk

Offline Hayo Baan

  • Uber Member
  • ******
  • Posts: 2552
  • Professional Photographer & Software Developer
    • View Profile
    • Hayo Baan - Photography
Re: GPU prefetching of images
« Reply #10 on: April 28, 2009, 08:12:55 AM »
I have an 8-core 3.2GHz Mac Pro and find that things are mostly I/O bound, not CPU bound. So unless you have a very fast disk, you may not see a lot of benefit from 8-cores.

Cheers
Hayo Baan - Photography
Web: www.hayobaan.nl

Offline Kevin M. Cox

  • Hero Member
  • *****
  • Posts: 511
  • PM 6 (7102) | macOS 14.4.1
    • View Profile
    • Kevin M. Cox | Photojournalist
Re: multiple cores
« Reply #11 on: April 28, 2009, 03:23:15 PM »
It will be slower in single threaded operations like applying the IPTC Stationery Pad, Save As, etc. since the clock rate you quoted is slower than the 4-core system you listed.
I have an 8-core 3.2GHz Mac Pro and find that things are mostly I/O bound, not CPU bound. So unless you have a very fast disk, you may not see a lot of benefit from 8-cores.

Thanks Kirk, this brings up another question. I've always assumed that applying the IPTC Stationery Pad is mostly limited by the speed of the hard disk and not the processors. Is that correct?
Kevin M. Cox | Photojournalist
https://www.instagram.com/kevin.m.cox/

Offline Kirk Baker

  • Senior Software Engineer
  • Camera Bits Staff
  • Superhero Member
  • *****
  • Posts: 24755
    • View Profile
    • Camera Bits, Inc.
Re: multiple cores
« Reply #12 on: April 28, 2009, 03:25:56 PM »
Kevin,

It will be slower in single threaded operations like applying the IPTC Stationery Pad, Save As, etc. since the clock rate you quoted is slower than the 4-core system you listed.
I have an 8-core 3.2GHz Mac Pro and find that things are mostly I/O bound, not CPU bound. So unless you have a very fast disk, you may not see a lot of benefit from 8-cores.

Thanks Kirk, this brings up another question. I've always assumed that applying the IPTC Stationery Pad is mostly limited by the speed of the hard disk and not the processors. Is that correct?

I haven't profiled that code to see where time is being spent, but if I had to guess then I would say that it is definitely disk I/O bound.

-Kirk