This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Burlen, What sort of parallel computing do you intend? Multiple processes? Multiple threads? Or something else? If you intend multiple threads, then you should know that the UDUNITS-2 library is thread-compatible but not thread-safe. In other words, calls to the UDUNITS-2 functions should be guarded by an external mutex. The library doesn't have the ability to send the unit database that one process read to other processes. The library doesn't have the capability of "compiling-in" the database -- even the default database is read from an external XML file. Please respond with a description of the structure of your parallel computing so that I can get a better idea of the fit with the UDUNITS-2 library. > Hi, > > I am writing a parallel program that is intended to run at a very large > scale. I would like to use udunits, however I am concerned about the I/O > problems created by each process loading the .xml file via > "ut_read_xml(const char* path);" function. > > Is the library smart about parallel operation? does it have a capability > to read the file on a single process and send the contents to others in > an mpi job? > > if the answer is no, could you advise how to configure the library so > that it does no I/O and I can use the default unit system? > does the library have the capability of compiling the default unit > system in? > I only will use the default unit system, xml load capability could be > disabled completely. > > Thanks > Burlen Regards, Steve Emmerson Ticket Details =================== Ticket ID: TWK-161175 Department: Support UDUNITS Priority: Normal Status: Closed