Hey Folks, many thanks for pointing to the important influence of different compiler and compiler options. But please be aware that my tiny little program is not representative for a neighbor analysis implementation, it was simply a demonstration of 12 billion ops:
1. I use fixed loop sizes, it is really easy for a compiler to optimize that 2. It is pretty simple to parallelize since only a simple reduction is done in the inner loop 3. Most important: The statement of Ivan was a window size of 501 ... as MarkusN IMHO correctly interpreted this leads to a moving window of 501x501 pixel if this is an option for r.neighbors. It is not the total number of cells of a rectangular moving window, since it must must be an even number in this case. Other shapes than rectangular are more complex to implement. To be diplomatic i decided to use 501 pixel, which might represented a 23x21 pixel moving window, to show that this "small" number of operations needs a considerable amount of time on modern CPU's. If you use a 501x501 pixel moving window the computational effort is roughly 501 times 12 billion ops. IMHO in this case a GPU or neighbor algorithm specific FPGA/ASIC may be able to perform this operation in 2/3 seconds. Best regards Soeren
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
