Size of distributive, size installed program and what is cufft64_100.dll

Please use this forum to post bug reports, feature requests, tips, etc. for beta versions of Picture Window Pro 8

Moderator: jsachs

Locked
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Size of distributive, size installed program and what is cufft64_100.dll

Post by jsachs »

cufft64_100.dll is a package for doing fast fourier transforms using CUDA -- these are used by the Texture transformation. It is an adaptation of the FFTW package which makes massive trade-offs in size to get the fastest possible performance. The speed boost in Texture with an NVIDIA card is huge.

I has been on my to-do list for a while to reduce the size of the help file. I deliberately added lots of images and incorporated material previously in white papers to make it more useful as a reference, but some of the images are larger than necessary as you point out. I would have done this sooner, but the help authoring tool only fairly recently made it easier to locate the oversize images.

I could split the installer into parts (main program / help file / NVIDIA support file/ extras), so you could avoid downloading components that stay the same, but then it becomes easy to create version skew among the components as they are updated individually. Earlier in the beta process I provided a much smaller download of just the executable file which is mostly what changes from version to version, but as the beta audience grew larger I became concerned about possible issues using a new executable with old support files.

I will take a closer look at the downloadable size and see what I can do.
Jonathan Sachs
Digital Light & Color
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Size of distributive, size installed program and what is cufft64_100.dll

Post by jsachs »

I was able to reduce the size of the help file by about 30MB (roughly 30%) by resizing some of the larger embedded image files. Help files are already compressed, so trying to reduce it much below that size would be increasingly hard for little return.

With a little work, I should be able to eliminate Gamma Curves.bmp and Chromaticity Diagram.bmp by computing them on the fly. They are only used by the Create Profile transformation.

CUDA is the de facto standard for speeding up programs by using graphic cards. NVIDIA pretty much owns the high end graphics card market and the low end cards don't have enough memory or processors to make it worthwhile. FFTW, on which CUFFT64 is built is the end product of years of work and not created inexpensively, but it was created to be as fast as possible with no regard to size, and it also has a lot of capabilities PWP does not use. While the Texture transformation is rarely used, PWP also uses CUDA to speed up Bilateral Sharpening by a lot, which I use on almost every image. Several other transformations also benefit from CUDA. I would prefer not to have two different versions of PWP -- one with and one without CUDA as this slows down the development cycle and makes testing more complicated.

Maybe the best solution during the beta period is to go back to providing an update of just the PWP executable so users who are downloading frequently only get the one thing that changes all the time. When the releases get more stable and less frequent, the issue of distribution size becomes much less important.
Jonathan Sachs
Digital Light & Color
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Size of distributive, size installed program and what is cufft64_100.dll

Post by jsachs »

Even reducing the size of the help file and removing the two large bitmaps only reduces the install file by a little over 30MB. Well worth doing, but not that big a reduction overall since it is still over 217MB. Since installer files are compressed, not all of the reductions in the file sizes show up in the final install file size.

On the other hand, the executable by itself is less than 2MB when zipped.
Jonathan Sachs
Digital Light & Color
Locked