I have adapted the code to create really huge images.
The largest I have to date is computed at 512000 x 300000 pixels. The image is black and white, I use a binary fromat to save space (1 bit/pixel), that still makes the uncompressed file about 20 Gigabytes. Computation time on a Core2Duo 2 Ghz is about 4 days (with some pausing).
I then compute a multiresultion tiff of half size (because it looks better). The final image is about 256000 x 150000.
Here is a detail:
Code I have wrtitten uses OpenMP #pragma. I had the opportunity of trying this code in a new Intel machine that has a total of 16 threads (2 CPUs x 4 Cores x 2 Hyperthreads). Using a single parallelfor instruction allowed me to gain a factor of 10 over single threaded code. Not too bad. Of course dynamic threads ala Intel TBB would have allowed further gains, but at the expense of more code.
No comments:
Post a Comment