Is there a document anywhere specifying the best practices for parallel writes to a GDAL raster? I have an embarrasingly parallel problem that I would like to parallelise with MPI, but I'm not sure what I am allowed to do in parallel. I would like to assign blocks exclusively to worker threads to read and write concurrently, but I am unsure how I might do this safely.<br>
<br>Any suggestions would be greatly appreciated.<br><br>Kind Regards,<br><br>Francis Markham<br><br><div class="gmail_quote">On 9 February 2011 09:14, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@mines-paris.org">even.rouault@mines-paris.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Le mardi 08 février 2011 23:07:36, Stefano Moratto a écrit :<br>
<div class="im">> Thanks for the suggestion,<br>
><br>
> I have to read png from openstreetmap. I'm trying to render an A4 paper<br>
> size sheet so I have a lot of data to move.<br>
> It may be better to divide the area to be read in blocks and to give to<br>
> each thread a block. Foreach block a thread should read all the bands.<br>
> Probabilly I should allign the block to the tile's boundary<br>
<br>
</div>Unfortunately the PNG format is such that it is not possible to seek to an<br>
arbitrary line without decoding the data of all previous scanlines, so this<br>
approach won't work. The same would be true for JPEG or GIF. If you can fetch<br>
the data as TIFF, you could however try that approach.<br>
<br>
><br>
> Stefano<br>
<div class="im">><br>
> > Le mardi 08 février 2011 22:41:50, Stefano Moratto a écrit :<br>
> > > Hello,<br>
> > ><br>
> > > given an opened GDAL dataset, is it possibile to perform<br>
> > ><br>
> > > gdalrasterio calls for each band in a dedicated thread per band in a<br>
> > > thead-safe way?<br>
> > > E.g. I have a raster image with 3 band (r,g,b). Since I have 4 core I<br>
> ><br>
> > would<br>
> ><br>
> > > like to I run a thread for a band r, one for band g and one for band g.<br>
> ><br>
> > This has been discussed recently. See<br>
> > <a href="http://lists.osgeo.org/pipermail/gdal-" target="_blank">http://lists.osgeo.org/pipermail/gdal-</a><br>
> > dev/2011-January/027567.html and the following messages.<br>
> ><br>
> > (I'd note that if you process a pixel interleaved image, there are<br>
> > optimizations in the GTiff driver to make the fetching of other bands<br>
> > almost<br>
> > 'free' if you read block by block, so there's probably little to gain,<br>
> > but the<br>
> > results of your experiments are welcome)<br>
> ><br>
> > > Regards,<br>
> > > Stefano<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</div></div></blockquote></div><br>