[GRASS-user] i.vi VS i.vi.mpi VS r.mapcalc in GRASS 7.0.svn

Andranik Hayrapetyan andranik.h89 at gmail.com
Wed Nov 7 02:39:41 PST 2012


Good day.

I am doing some benchmarking trying to find out the most optimal way to
calculate vegetation indexes. For example I am calculating NDVI index where
the size of NIR and RED bands are 2.2 GB each and I get the following
results on same hardware.


   - using i.vi

Calculation takes 14m 24s


   - using r.mapcalc (it is compiled with --with-pthread option)

Calculation takes 6m 30s (*huge difference - same result!!!*)


   - using i.vi.mpi within 1 node with 8 cores

Number of CPU    |    Calculation time
2 CPU                 |     12m 14s
3 CPU                 |     12m 8s
4 CPU                 |     11m 59s

And when I am trying to submit this job on cluster, on a several nods (e.g.
6 nods with 8 CPU on each - 48 CPU), I am getting *VERY BAD* result - more
than 90 minutes , for a calculation which r.mapcalc did in just 6m30s.

So now I really cannot understand the meaning of i.vi or i.vi.mpi.

Can anyone explain, what purposes these modules developed for?  Which kind
of tasks they do better than r.mapcalc? What can I try to see the
usefulness of i.vi or i.vi.mpi?
Where can I find some documentation explaining the inner structure of these
modules and understand the differences between i.vi and r.mapcalc (because
actually, as I found out, r.mapcalc can do everything that i.vi do, but
more that 2 times faster.) ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20121107/8122de22/attachment.html>


More information about the grass-user mailing list