What hardware for fast Imagemagick computer

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
Ragdd
Posts: 2
Joined: 2012-04-19T07:20:52-07:00
Authentication code: 13

What hardware for fast Imagemagick computer

Post by Ragdd »

A friend from somebody I know wants to buy a new workstation for ImageMagick.
He asked me what hardware he should buy, but I don't know the ImageMagick program and not so much info on the internet about hardware requirements for it.
The main thing is that the workstation should be really fast.
Heb wants to process large pictures (+/- 35 MB) in less then a second.
With process he mean open-zoom tiling plus a watermark.
O.S. Should be Windows 7 Ultimate 64 bit
I thought of an Intel Xeon E5 2690 + 4 x 16 GB DDR3 1333 ECC + 3 x Nvidia GTX 680 for CUDA and 2 x WDC RE4 2 TB in RAID 0 (stripping) + Corsair AX 1200.
The Xeon CPU for its 8 cores, saw on fora that Inmagemagick uses multiple cores, hyperthreading is not so important.
My question is 64 GB RAM overkill, saw on fora that lots of RAM is recommended. But what is a lot?
Should you recommend less CUDA videocards, like 1 or 2 videocards. Also I chose a Nvidia GT520 passive videocard to connect his screen to.
Is there any requirements for harddisks? Are 7200 rpm fast enough or need I to buy 10.000 rpm harddisk or fast SSD like Plextor M3 Pro.
Would you recommend RAID 0 or is standalone drive also fast enough?

Sorry for the silly questions, but I don't use this program and so I dont know much about it.
And as I said, not much info about hardware requirements on the internet.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: What hardware for fast Imagemagick computer

Post by magick »

ImageMagick benefits from a fast multi-core CPU so 6 to 8 cores @ 3.33Ghz+ would be ideal. You don't want the system to swap so the more memory the better depending on how many images are processed simultaneously. The Q8 version of ImageMagick uses half the memory of the Q16 version and will run faster in most cases. ImageMagick typically runs faster under Linux than Windows. With Windows, you might want to try a modern version of Cygwin. It supports OpenMP for multi-threading and in our tests, ImageMagick runs faster on Cygwin than native Windows.

Disk speed becomes important if the image cannot be held in memory. ImageMagick automatically caches the image pixels to disk for images that exceed the memory quotas and slow disk I/O can degrade performance.

The bottleneck with ImageMagick is typically uncompressing / recompressing images. Processing PNG and JPEG, for example, is slower than a raw image format because they must first be decompressed. The fastest image format which typically guarantees a sub-second response is the MPC format. It is useful for write once, read-many operations or as an intermediate format for workflow that must stage intermediate results to disk.

Using one of the ImageMagick API's is generally faster than the command line. Perfer MagickCore, Magick++, PerlMagick, etc., over the command line.
Ragdd
Posts: 2
Joined: 2012-04-19T07:20:52-07:00
Authentication code: 13

Re: What hardware for fast Imagemagick computer

Post by Ragdd »

Thanks for the answers.
So CPU and RAM should be ok.
As I understand, if you have lots of RAM like in this case (64 GB), you don't have to use a SSD or 10.000 rpm.
A fast 7200 rpm harddisk should be sufficient, maybe in RAID 0.

And what about CUDA GPU application?
Does it help Imagemagick much in calculations or is it more the CPU itself that's doing the computing?
What amoung of GPU's should you recommend with this situation and hardware?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: What hardware for fast Imagemagick computer

Post by magick »

Within a a few weeks, an ImageMagick contributor is going to release a version of ImageMagick where 20-30 algorithms are accelerated with OpenCL. With this version, algorithms should have a significant speed-up on any GPU-enabled system.
treaves
Posts: 12
Joined: 2011-04-14T10:48:35-07:00
Authentication code: 8675308

Re: What hardware for fast Imagemagick computer

Post by treaves »

Has this release happened?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: What hardware for fast Imagemagick computer

Post by magick »

treaves
Posts: 12
Joined: 2011-04-14T10:48:35-07:00
Authentication code: 8675308

Re: What hardware for fast Imagemagick computer

Post by treaves »

From that link I gather that:
- the code is not in trunk; it still needs to be patched in
- the code only works for jpeg images.

Is this correct?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: What hardware for fast Imagemagick computer

Post by magick »

The code is not in the trunk. It reads and writes all image formats that ImageMagick supports.
treaves
Posts: 12
Joined: 2011-04-14T10:48:35-07:00
Authentication code: 8675308

Re: What hardware for fast Imagemagick computer

Post by treaves »

The README for the code mentions things that I have no idea what are, and seem to refer to something called VisualMagick. So ignoring that, and untaring the files into the source tree, the compile fails.

Code: Select all

make[2]: Entering directory `/mnt/imaging/cuda/ImageMagick-6.8.5-6'
  CC       magick/magick_libMagickCore_6_Q16HDRI_la-accelerate.lo
magick/accelerate.c:315: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ConvolveNotify'
magick/accelerate.c: In function 'GetConvolveInfo':
magick/accelerate.c:526: error: 'ConvolveNotify' undeclared (first use in this function)
magick/accelerate.c:526: error: (Each undeclared identifier is reported only once
magick/accelerate.c:526: error: for each function it appears in.)
make[2]: *** [magick/magick_libMagickCore_6_Q16HDRI_la-accelerate.lo] Error 1
make[2]: Leaving directory `/mnt/imaging/cuda/ImageMagick-6.8.5-6'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/imaging/cuda/ImageMagick-6.8.5-6'
make: *** [all] Error 2
treaves
Posts: 12
Joined: 2011-04-14T10:48:35-07:00
Authentication code: 8675308

Re: What hardware for fast Imagemagick computer

Post by treaves »

Removing the '_stdcall' allows compilation to finish.
Post Reply