Page 1 of 1
What hardware for fast Imagemagick computer
Posted: 2012-04-19T09:17:01-07:00
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.
Re: What hardware for fast Imagemagick computer
Posted: 2012-04-19T10:14:46-07:00
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.
Re: What hardware for fast Imagemagick computer
Posted: 2012-04-19T10:49:50-07:00
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?
Re: What hardware for fast Imagemagick computer
Posted: 2012-04-19T11:03:26-07:00
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.
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-13T07:49:31-07:00
by treaves
Has this release happened?
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-13T07:51:22-07:00
by magick
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-13T11:18:23-07:00
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?
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-13T11:32:12-07:00
by magick
The code is not in the trunk. It reads and writes all image formats that ImageMagick supports.
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-15T07:35:08-07:00
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
Re: What hardware for fast Imagemagick computer
Posted: 2013-05-15T07:43:24-07:00
by treaves
Removing the '_stdcall' allows compilation to finish.