AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2016.01.25 18:25 "[Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.25 19:05 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.25 19:17 "Re: [Tiff] OpenMP enabled libtiff", by kandel3
2016.01.25 19:18 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.25 20:21 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.25 20:45 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.25 23:27 "Re: [Tiff] OpenMP enabled libtiff", by Mikhail
2016.01.26 09:12 "Re: [Tiff] OpenMP enabled libtiff", by John
2016.01.26 13:45 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.26 14:46 "Re: [Tiff] OpenMP enabled libtiff", by Olivier Paquet
2016.01.26 16:01 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.26 17:10 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.26 19:32 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.27 18:51 "Re: [Tiff] OpenMP enabled libtiff", by Larry Gritz
2016.01.26 19:29 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.26 20:36 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.27 18:32 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.27 19:55 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.29 13:28 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.29 14:46 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.29 15:48 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.29 15:49 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer
2016.01.29 18:12 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn
2016.01.26 09:36 "Re: [Tiff] OpenMP enabled libtiff", by Mat Maher
2016.01.26 09:52 "Re: [Tiff] OpenMP enabled libtiff", by Even Rouault
2016.01.26 14:22 "Re: [Tiff] OpenMP enabled libtiff", by Fred Rothganger

2016.01.25 20:21 "Re: [Tiff] OpenMP enabled libtiff", by Aaron Boxer

Hi Bob,

On Mon, Jan 25, 2016 at 2:18 PM, Bob Friesenhahn < bfriesen@simple.dallas.tx.us> wrote:

> Is anyone interested in having OpenMP support in libtiff? >> Is this feasible? I am planning on adding this feature for another

>> project

>> I am working on, so I am trying to gauge interest.

What would the OpenMP support do? Few operations in libtiff are CPU bound. Only compressed formats consume noticeable CPU.

I believe SSDs perform well under multiple reads, but this would have to be carefully bench-marked, of course.

It is useful for OpenMP (or any other sort of threading) to be used by an application using libtiff to perform parallel operations. For example, reading or writing several strips/tiles at once.

Currently there is no locking in libtiff and no support for thread-specific data (TSD). There are just a few static/global variables. Features like strip-chopping likely cause serious issues for threading since they require storing intermediate state.

If support for any necessary locking or TSD is added, then it should be added in a generic way so that the locks and TSD APIs are provided by the invoking environment and don't need to be baked into libtiff.

Thanks. One easy way might be to partition ahead of time which strips are processed by which threads. I will take a look at the code and see if I can come up with a simple way of doing this.

Cheers,
Aaron

>
> Bob
> --
> Bob Friesenhahn
> bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
> GraphicsMagick Maintainer, http://www.GraphicsMagick.org/