[GRASS-dev] Fixing r.li

Glynn Clements glynn at gclements.plus.com
Tue Jan 26 10:45:12 EST 2010


Markus Neteler wrote:

> >> > How easy would it be to get rid of the (Unix-specific) client-server
> >> > framework so that the various r.li.* modules are just normal modules?
> >>
> >> The idea is to have multi-core support which works. If that
> >> could be maintained (maybe switching to openMP), then
> >> the advantageous speed of r.li over r.le would be maintained.
> >
> > The downside is that it doesn't even compile on Windows. It also
> > creates a substantial hurdle for anyone needing to modify the code.
> >
> > Optimisations shouldn't be at the expense of portability. If it can't
> > be compiled on all three of the major target platforms (generic Unix,
> > MacOSX, Windows), it shouldn't be in the main repository but in
> > add-ons.
> 
> I tend to agree.
> But it is supported from gcc 4.2 onwards:
> http://en.wikipedia.org/wiki/OpenMP

I wasn't referring to OpenMP, but the existing client-server
mechanism. AFAICT, using OpenMP is relatively painless (other than a
lot of "ignoring #pragma ..." warnings), eliminating the need to
structure the code around a client/server framework.

But in order to implement that, the logical first step would be to
simply eliminate the client/server framework to produce a more
conventional module. OpenMP pragmas could be added as needed (but,
IMHO, the client/server stuff needs to go regardless of whether or not
anyone gets around to implementing OpenMP support).

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list