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&#39;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">&lt;<a href="mailto:even.rouault@mines-paris.org">even.rouault@mines-paris.org</a>&gt;</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">&gt; Thanks for the suggestion,<br>
&gt;<br>
&gt; I have to read png from openstreetmap. I&#39;m trying to render an A4 paper<br>
&gt; size sheet so I have a lot of data to move.<br>
&gt; It may be better to divide the area to be read in blocks and to give to<br>
&gt; each thread a block. Foreach  block a thread should read all the bands.<br>
&gt; Probabilly I should allign the block to the tile&#39;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&#39;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>
&gt;<br>
&gt; Stefano<br>
<div class="im">&gt;<br>
&gt; &gt; Le mardi 08 février 2011 22:41:50, Stefano Moratto a écrit :<br>
&gt; &gt; &gt; Hello,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;           given an opened GDAL dataset, is it possibile to perform<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; gdalrasterio calls for each band in a dedicated thread per band in a<br>
&gt; &gt; &gt; thead-safe way?<br>
&gt; &gt; &gt; E.g. I have a raster image with 3 band (r,g,b). Since I have 4 core I<br>
&gt; &gt;<br>
&gt; &gt; would<br>
&gt; &gt;<br>
&gt; &gt; &gt; like to I run a thread for a band r, one for band g and one for band g.<br>
&gt; &gt;<br>
&gt; &gt; This has been discussed recently. See<br>
&gt; &gt; <a href="http://lists.osgeo.org/pipermail/gdal-" target="_blank">http://lists.osgeo.org/pipermail/gdal-</a><br>
&gt; &gt; dev/2011-January/027567.html and the following messages.<br>
&gt; &gt;<br>
&gt; &gt; (I&#39;d note that if you process a pixel interleaved image, there are<br>
&gt; &gt; optimizations in the GTiff driver to make the fetching of other bands<br>
&gt; &gt; almost<br>
&gt; &gt; &#39;free&#39; if you read block by block, so there&#39;s probably little to gain,<br>
&gt; &gt; but the<br>
&gt; &gt; results of your experiments are welcome)<br>
&gt; &gt;<br>
&gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; 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>