[gdal-dev] GDAL Speed Optimization
Seth Price
seth at pricepages.org
Thu Jun 10 05:07:12 EDT 2010
I'm on a Mac, so I normally use Shark for profiling. It's included
with Apple's developer tools.
I would definitely try running outside of a virtual machine
environment. That might be your problem, but you won't know until you
try.
~Seth
On Jun 10, 2010, at 2:46 AM, stefano.moratto at gmail.com wrote:
> I'm working on a VirtualMachine running on an usb hdd and my
> customer use iMac laptop so I can't change disk.
>
> The primary dataset is composed by a lot of jpeg download from
> internet and then cached to disk.
> I think the performance slowdown is caused after the creation of the
> virtual dataset because and it is present only when the output
> bitmap has the resolution of the printer (considering alwarys the
> sampre geographic area). All the output bitmaps, exept the dataset's
> jpeg, are in memory and the workingset of the application does not
> exeed the 256 MB
>
> Can you suggest a profiler?
>
> Thanks,
> Stefano
>
> Il giorno 10/giu/2010 10.31, Seth Price <seth at pricepages.org> ha
> scritto:
> > Unfortunately, both nearest neighbor and bilinear are probably not
> CPU
> >
> > bound, so speeding up their processing won't help. They are
> probably I/O
> >
> > bound, so you might need faster disks. (Though I can test this
> later in my
> >
> > project.) Have you tried running a profiling tool on GDAL while
> you're
> >
> > running the warper?
> >
> >
> >
> > I've just started the OpenCL project, so it's still pretty
> immature. I'm
> >
> > still discussing the best way to integrate an OpenCL warper into
> existing
> >
> > code.
> >
> > ~Seth
> >
> >
> >
> >
> >
> > On Thu, June 10, 2010 2:26 am, Stefano Moratto wrote:
> >
> > > Seth,
> >
> > >
> >
> > > You have been choosen a very interesting project.
> >
> > >
> >
> > >
> >
> > > I use the following :
> >
> > >
> >
> > > hWarp := GDALAutoCreateWarpedVRT (hSized,
> >
> > > nil,
> >
> > > PChar(FMapSRSWkt),
> >
> > >
> >
> > > GDALResampleAlg_GRA_NearestNeighbour,
> >
> > > 0.5,
> >
> > > nil);
> >
> > >
> >
> > > where hSized is a
> >
> > >
> >
> > > hSized = F (hDataset) ;
> >
> > >
> >
> > > F (hDataset) := Virtual Dataset of hDataset. I use it for in
> memory
> >
> > > resizing
> >
> > > .
> >
> > > It is generated by: (I do not write all the details but I think
> it is
> >
> > > clear)
> >
> > >
> >
> > >
> >
> > > VRTAddSimpleSource (poVRTBand,
> >
> > > poSrcBand,
> >
> > > Round(anSrcWin[0]),
> >
> > > Round(anSrcWin[1]),
> >
> > > Round(anSrcWin[2]),
> >
> > > Round(anSrcWin[3]),
> >
> > > 0, 0,
> >
> > > size.cx,
> >
> > > size.cy,'Bilinear', 0.0 );
> >
> > >
> >
> > >
> >
> > > and hDataset = GDALOpen( ... "openstreet.xml" )
> >
> > >
> >
> > > Hence I use
> >
> > > 1) ,'Bilinear' for zooming
> >
> > > 2) NearestNeighbour for warping.
> >
> > >
> >
> > >
> >
> > > What is the state of your project?
> >
> > >
> >
> > > Stefano
> >
> > >
> >
> > >
> >
> > > On Thu, Jun 10, 2010 at 9:52 AM, Seth Price seth at pricepages.org>
> wrote:
> >
> > >
> >
> > >> >1) hw accelerated functions as IPP or GPU (e.g CUDA)
> >
> > >>
> >
> > >> This is my (ongoing) Google Summer of Code project, except I'm
> using
> >
> > >> OpenCL. :D
> >
> > >>
> >
> > >> What resampling algorithm are you using?
> >
> > >> ~Seth
> >
> > >>
> >
> > >>
> >
> > >> On Thu, June 10, 2010 1:49 am, Stefano Moratto wrote:
> >
> > >> > I use GDAL in my traffic optimization CAD program.
> >
> > >> > It is a Win32 application written in DELPHI that uses GDAL
> "C" API -
> >
> > >> the
> >
> > >> > binding was autogenerated by my SWIG module for object pascal.
> >
> > >> >
> >
> > >> > I use GDAL to download tiles (jpeg) from OpenstreetMap and to
> compose
> >
> > >> a
> >
> > >> > bitmap of the area that is being viewed. The resulting bitmap
> (not
> >
> > >> > compressed) is warped and displayed.
> >
> > >> >
> >
> > >> > The performances are quite acceptable but when I try to print
> they are
> >
> > >> > not.
> >
> > >> >
> >
> > >> > The drawing to be printed has a resolution larger of the screen
> >
> > >> (Screen :
> >
> > >> > 1024x1024, Printer 4096 x 4094 in A4 and 9000 x 9000 in A3
> >
> > >> approximately).
> >
> > >> > I think tha the bottleneck could be found in:
> >
> > >> > 1) jpeg decompression.
> >
> > >> > 2) bitmap interpolation (I use the low qualitiy settings).
> >
> > >> > 3) warping ( I use an approsimated warping function).
> >
> > >> >
> >
> > >> > An increase of performance could be achieved using
> >
> > >> > 1) hw accelerated functions as IPP or GPU (e.g CUDA)
> >
> > >> > 2) parallel alghorithms that takes advantage from multicore CPU
> >
> > >> >
> >
> > >> > Has someone already approched these problems?
> >
> > >> >
> >
> > >> > Regards,
> >
> > >> > Stefano
> >
> > >> >
> >
> > >> >
> >
> > >> > --
> >
> > >> > Dr.Eng. Stefano Moratto
> >
> > >> > stefano.moratto at gmail.com
> >
> > >> > stefano.moratto at csiat.it
> >
> > >> > http://www.csiat.it - Traffic Optimization Software
> >
> > >> > _______________________________________________
> >
> > >> > gdal-dev mailing list
> >
> > >> > gdal-dev at lists.osgeo.org
> >
> > >> > http://lists.osgeo.org/mailman/listinfo/gdal-dev
> >
> > >>
> >
> > >>
> >
> > >>
> >
> > >
> >
> > >
> >
> > > --
> >
> > > Dr.Eng. Stefano Moratto
> >
> > > stefano.moratto at gmail.com
> >
> > > stefano.moratto at csiat.it
> >
> > > http://www.csiat.it - Traffic Optimization Software
> >
> > >
> >
> >
> >
> >
> >_______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
More information about the gdal-dev
mailing list