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 19:18 "Re: [Tiff] OpenMP enabled libtiff", by Bob Friesenhahn

Is anyone interested in having OpenMP support in libtiff?

Is this feasible? am planning on adding this feature for another project   I 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.

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.

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