|
|
|
|
Changelog for pnetcdf-openmpi4-1.12.3-2.3.x86_64.rpm :
* Mon Oct 23 2023 Egbert Eich - Disable HPC flavors on i586 * Mon Oct 23 2023 Nicolas Morey - Drop support for obsolete openmpi[123]- Prepare support for openmpi5 * Mon Jan 02 2023 Stefan Brüns - Update to version 1.12.3: For details, see https://github.com/Parallel-NetCDF/PnetCDF/blob/checkpoint.1.12.3/RELEASE_NOTES * New optimization + Improve the performance when nonblocking requests contain more than one record. * Update configure options + Retire configure options `--enable-netcdf4` and `--enable-adios`, as there are already options `--with-netcdf4` and `--with-adios`. * Updated utility program + Replace the definition of \"difference ratio\" used in utility programs `cdfdiff` and `ncmpidiff`. + Utility programs `cdfdiff` and `ncmpidiff` now report only the first variable element that are different or fail to meet the tolerances. + Use the same user-provided tolerant difference and tolerant difference ratio (through command-line option \'-t\') to check all variables. * Other updates: + Add all PnetCDF I/O hints to the inquired MPI info object returned by API `ncmpi_inq_file_info()`. * Bug fixes + Fix a bug in utility program `ncvalidator` for the case when there is no record written, but both fixed-size and record variables are defined. + Fix configure bug of setting environment variable `SEQ_CC` to the sequential `CC` extracted from `MPICC`. + Fix a bug when C function `truncate` is not available. Argument `fh` of `MPI_File_close` is a pointer. + When using an MPI compiler whose Fortran feature was disabled, the MPI Fortran constants and datatypes may not be defined in the header file `mpi.h`. * Issues with NetCDF library + Test program `test/nc4/tst_rec_vars.c` fails to run when using NetCDF 4.8.0 and 4.8.1. * Clarifications + Nonblocking APIs have yet to support subfiling feature.- Let build fail when tests fail- Update URL: https://parallel-netcdf.github.io/ * Fri Feb 26 2021 Christian Goll - Update to version 1.12.2: * Updated utility program * ncvalidator now reports the name of variable that violates the NetCDF limitation on large variables for CDF-2 files * add corrupted file bad_large_fixed_var.nc2 that contains one large fixed-size variables that is not defined last * add corrupted file bad_large_rec_2_vars.nc2 that contains 2 large record variables * add corrupted file bad_large_rec_var.nc2 that contains 1 large record variable that is not defined last * add URLs of NetCDF limitations on large variables for CDF-1 and 2 file formats * Other updates: * When calling ncmpi_create() with NC_CLOBBER flag, PnetCDF now calls access() to check whether file exists first. If the file does not exist, successive calls to truncate() or unlink() can be skipped. * Improve detection of HDF5 signature. The HDF5 signature is located at the beginning of the HDF5 superblock, but the location of HDF5 superblock may not be at the beginning of the file. It is located at byte offset 0, byte offset 512, and at successive locations in the file, each a multiple of two of the previous location; in other words, at these byte offsets: 0, 512, 1024, 2048, and so on. * Bug fixes * Fix NC_CLOBBER mode for ncmpi_create() when files are existing symbolic links. Prior to this release, symbolic links, like other regular files, was first deleted and then created. This can result in an unexpected outcome, i.e. the deletion of symbolic link. NetCDF-4 library implements this differently, by adding O_TRUNC flag when calling open() to truncate the file to length 0. Historically, PnetCDF did not adopt the same approach because MPI does not define a similar flag to O_TRUNC and the only way to achieve the file clobber effect is to through MPI_File_set_size(), which can be expensive as the function takes an MPI file handler argument, which requires to open the file first with a call to MPI_File_open(). * Fix a bug of calling Fortran getarg() with the first argument k with a value > 0 when there is no command-line argument is used. NAG Fortran may crash the program. [f16bd3c](https://github.com/Parallel-NetCDF/PnetCDF/commit/f16bd3c1ba1b08eade2384f094c519f3f2dc114e) * Fix a bug that limits FLASH-IO to run on less than 16K MPI processes. See [1d84fa5](https://github.com/Parallel-NetCDF/PnetCDF/commit/1d84fa5d54ca9179da4a5b1a4ee3b92cc92287ed)- enable non HPC openmpi4 builds * Mon Nov 09 2020 Egbert Eich - Enable openmpi4 builds for SLE >= 15-SP2. * Sat Jul 18 2020 Egbert Eich - Update to version 1.12.1: v.1.12.1 - Option \'-t\' added to \'cdfdiff\' to compare variable differences within a tolerance. - Make PnetCDF build with OpenMPI 4. - Fix aliasing bug with -O3. - String length of I/O hint \'nc_burst_buf_dirname\' must be less than MPI_MAX_INFO_VAL. v.1.12.0 - Add \'cdfdiff\' utility - serial version of \'ncmpidiff\' supports classic NetCDF formats only i.e. CDF-1, CDF-2, and CDF-5. - \'ncmpidiff\' now checks file format versions of two files, and reports difference if not the same. - Option \'-t\' added to \'ncpmidiff\' to compare variable differences within a tolerance. - MPI info object now includes all PnetCDF hints once obtained form call to ncmpi_inq_file_info(). - Fix segfault when calling nonblocking API with zero-lenght request and request ID NULL. - Per-file thread-safe capability is not supported when using OpenMPI with ROMIO backend. v.1.11.2 - Utility program `ncoffsets` updated to skip printing dimension names if the number of dimensions of a variable is larger than 64. - Utility program `ncvalidator` updated to be able to repair the file header to fill in null-byte paddings in the space between the header size and header extent. v.1.11.1 - Optimization: When inserting nonblocking requests into the PnetCDF internal pending queues, queues are now kept sorted (using an insert sort) into an increasing order of variable starting file offsets. - Fix ncmpidiff when comparing dimension names of 2 variables between files whose dimension define orders are different. - Padding -- NetCDF classic file format specifies null (\\x00) byte header padding, but does not enforce it. v.1.11.0 - New features * NetCDF-4 driver -- Accessing HDF5-based NetCDF-4 files is now supported. - New optimization * Burst buffer driver is updated to run varn APIs more efficiently. - New Limitations * For creating new files, the NetCDF-4 driver in PnetCDF supports only the classic model I/O operations. - New APIs * C++ API `NcmpiFile::set_fill()` is added for setting and inquiring the fill mode of an opened NetCDF file. - New PnetCDF hint * `nc_ibuf_size`: set the size of temporal buffer to be allocated by PnetCDF internally to pack noncontiguous user write buffers supplied to the nonblocking requests into a contiguous space. - Other updates: * The automatic file layout alignment for fixed-size variables is disabled. * The internal data buffering mechanism used in the burst buffer driver is removed. - Bug fixes * Fix bug of checking interleaved requests for scalar variables. * For put and get APIs when buftype is MPI_DATATYPE_NULL, bufcount is ignored. This is not implemented correctly in blocking put and get APIs. * ncmpidiff -- when comparing two files that contain record variables but no record has been written. * ncmpidiff -- when comparing two scalar variables, error NC_EBADDIM may mistakenly reported. * Fix crash when the MPI communicator used in ncmpi_create or ncmpi_open is freed by the user after the call and before file is closed. * Discrepancy from NetCDF library * No read/write variables in define mode when file format is NetCDF-4. * Diffrent to nc_set_fill() defined in NetCDF-4, ncmpi_set_fill() changes fill mode of all variables newly defined in current scope of define mode. * Error codes return precedence can be different between NetCDF and PnetCDF. - Discrepancy from NetCDF library * NetCDF-4 allows to read/write variables in define mode when file format is NetCDF-4, while PnetCDF requires data mode. * In contrast to nc_set_fill() in NetCDF-4, ncmpi_set_fill() changes fill mode of all variables newly defined in current scope of define mode. * Error code precedence may differ between NetCDF and PnetCDF. - Clarifications PnetCDF currently does not support Fortran default integer type set to 8 bytes (option -fdefault-integer-8 with gnu compiler). v.1.10.0 - New Features: * A new I/O layer that makes use of burst buffers is added. - New Optimizations: * Internal memory management for nonblocking APIs has been improved to reduce memory footprint. * Blocking and nonblocking varn APIs have been improved for better performance and less memory footprint. * on noncontiguous layout in user buffer use the user buffer directly in MPI-IO calls when neither byte-swap nor type-conversion is required to reduce memory footprint. - New APIs: * ncmpi_flush() flushes data buffered by PnetCDF to the destination file system. - API semantics: * ncmpi_put_vard and ncmpi_get_vard APIs + Allow to write/read two or more variables in a single call. + When argument filetype is MPI_DATATYPE_NULL, request is considered zero-length. + Limitation of vard APIs: element data type of filetype must conform with variable external NC data type. + element data types of all variables accessed in filetype must be the same. + buftype must contain only one same element data type if it is used to read or write multiple variables from file. - New error codes: * NC_EFLUSHED when request got flushed before when calling ncmpi_cancel(). * NC_EBADLOG when burst buffer log files are found corrupted. - New hints: * nc_in_place_swap; enable/disable in-place byte swap on Little Endian architectures. * nc_burst_buf -- to use the burst buffering feature. * nc_burst_buf_dirname -- directory where internal log files for burst buffer will be stored. * nc_burst_buf_del_on_close -- whether log files should be deleted when closing NetCDF file. * nc_burst_buf_flush_buffer_size -- Amount of memory allowed by users to allocate when flushing the burst buffer log files. - Rutime environment variable * PNETCDF_RELAX_COORD_BOUND set to 0 to disable or 1 to enable more relaxed boundary check for argument start. - Utility programs: * ncvalidator adds a new option -t to turn on tracing mode. - Other updates: * Add a check for NC_EUNLIMIT in API ncmpi_open to detect whether two or more unlimited dimensions are defined to detect a corrupted file. - Bug fixes: * Fix type_create_subarray64() for case when some dimensions of the global array is larger than 4G and oldtype is not MPI_BYTE. * Fix the bug that writing scalar attributes of type NF_INT64 was mistakenly casted to NF_INT. * Fix calculation of new record number in put_vard API. * Fix calculation of growing size of nonblocking request queues to include the number of records of a record variable, as such request is split into multiple additional requests, one for each record. * Remove freeing name object because NC_ENULLPAD is not a fatal error. * Add a check against NULL before freeing Member \"value\" of NC_dimarray, NC_attrarray, and NC_vararray when reading from file where respective tags are corrupt. - Conformity with NetCDF library * Attribute _FillValue of any NC data type may be put to global variable NC_GLOBAL for all classic files. v.1.9.0 - New optimizations: * use hash functions for faster attribute name lookup. - New limitations: * max number of files to be opened simultaniously is now 1024. * maximum number of variable dimensions (NC_MAX_VAR_DIMS) is now 2147483647. * maximum number of attributes per file (NC_MAX_ATTRS) is now 2147483647. * maximum number of variables per file (NC_MAX_VARS) is now 2147483647. * maximum size of of single put/get request or aggregate size if non-blocking request per MPI process is INT_MAX. - New constants: * NC_FORMAT_UNKNOWN, NF_FORMAT_UNKNOWN, NF90_FORMAT_UNKNOWN will be returned on ncmpi_inq_file_format if file is unrecognizable. * NC_MAX_NFILES, NF_MAX_NFILES, NF90_MAX_NFILE define max number of files that can be kept open my an MPI process. - API Syntax change: * Argument fill_value of ncmpi_def_var_fill is \'const\' now. - Semantic updates: * Calling ncmpi_end_indep_data() in collective data mode no longer considered illegal. * For CDF-5 files, the maximum size of a variable or a variable\'s record is NC_MAX_INT64-3. * on inconsistent create/open among processes, the modes on all processes will be replaced by rank 0\'s mode. NC_EMULTIDEFINE_CMODE or NC_EMULTIDEFINE_OMODE will returned on processes disagreeing with rank 0\'s mode. * ncmpi_inq_nreqs() allows argument nreqs to be NULL. * ncmpi_inq_buffer_usage() & ncmpi_inq_buffer_size() allows argument usage to be NULL. * New error codes: + NC_EMAX_REQ, NF_EMAX_REQ and NF90_EMAX_REQ + NC_ENULLPAD, NF_ENULPAD and NF90_ENULPAD - Utility programs: * ncmpivalid renamed to ncvalidator - Update: * Update UTF8 encoding utility to use utf8proc library version 2.1.0. * Add quiet mode command-line option \"-q\" to utility program ncvalidator. * Add an internal check for whether the file starting offsets of all variables are in an increasing order as the variables defines. - Bug Fixes: * Fix a bug in nonblocking APIs when two separate nonblocking requests that can be coalesced into a contiguous MPI fileview or buffer type but the coalesced length becomes too big. * Fix a bug in nonblocking APIs when one request\'s access region covers more than one other non-interleaved requests. * Fix a bug in string parsing the environment variable PNETCDF_HINTS and print warning messages when hint strings are ill-formed. * Fix a bug in F90 APIs for reading and writing scalar variables, i.e. number of dimensions is zero. * Fix a bug that fails to do byte-swap when retrieving user-defined fill values. - Conformity to NetCDF: * API ncmpi_open now checks the number of large variables that is legal for CDF-1 and CDF-2 files. * Add checking for error code NC_ELATEFILL. * No longer disallow _FillValue for global variable NC_GLOBAL. * Don\'t turn fill mode on/off automatically when putting/deleting _FillValue attribute. This restores consistency with NetCDF. * PnetCDF can no longer be built on 32-bit machines if using OpenMPI versions 2.0.2 and 1.10.6 and earlier versions. - Clarifications: * External numerical data types can no longer be type casted to NC_CHAR type upon reading/writing. Only legal APIs the read/write a NC_CHAR variable are the \'_text\' APIs. New translations of internal data types to MPI data types - check release notes for a table. v.1.8.1 - Fortran parameters NF_MAX_DIMS, NF_MAX_ATTRS, NF_MAX_VARS, and NF_MAX_NAME have been fixed to conform with their corresponding C constants. v.1.8.0 - Copy fill values to data elements that cause out-of-bound error (i.e. NC_ERANGE.) New macros added to pnetcdf.h, to indicate the configurable options that were enabled/disabled. These macros are: PNETCDF_ERANGE_FILL, PNETCDF_SUBFILING, PNETCDF_RELAX_COORD_BOUND, and PNETCDF_DEBUG_MODE. - Detect HDF5 file format: * ncmpi_inq_file_format reports NC_FORMAT_NETCDF4 on HDF5 signature. * \'ncmpidump\' checks for HDF5 format when -k option is specified. * ncmpi_open checks for HDF5 signature and returns NC_ENOTNC3 error. - New API: * ncmpi_strerrno, nfmpi_strerrno, nf90mpi_strerrno return the string name of a NC error code. * ncmpi_inq_path, nfmpi_inq_path, nf90mpi_inq_path for inquiring file pathname used when open/create the CDF file. - Optimizations: * Use of Bernstein hash for checking if variable or dimension name is used already. * Storage of nonblocking requests. - Changed syntax: * ncmpi_cancel can now be called in define mode. - New error codes: NC_EPENDING, NC_EINVAL_OMODE, NC_EMULTIDEFINE_CMODE for both C and FOTRAN functions. - New error code precedences when multiple errors in API argument detected. * Utility pnetcdf-config to display build configuration. - Semantic changes: * For collective APIs, the following errors are considered fatal: NC_EBADID, NC_EPERM, NC_EINDEFINE, NC_EINDEP, and NC_ENOTINDEP. Once detects these errors the calling APIs return immediately. * Consistency check for header data (defining dimensions, variables, and attributes) is moved to individual APIs and only enabled when safe mode is enabled. * For CDF-5 files, regular NC_ERANGE check is performed in PnetCDF for all APIs that access NC_BYTE variables. For CDF-1 and 2 files, PnetCDF still honors that exception. * Error code NC_EPENDING will be returned when pending requests are detected at the file close. * API ncmpi_set_default_format is changed to an independent API.- Build separate doc package.- Run package internal tests.- Remove: parallel-netcdf-1.6.1-destdir.patch - obsolete build patch.- Add support for HPC build.- Add build support for gcc10 to HPC build (bsc#1174439).- Add build support for openmpi4.- Disable 32-bit build architectures: package cannot be built there. * Sat Nov 30 2019 Stefan Brüns - Add convenience provides to allow e.g. netcdf-openmpi2 to pull in libpnetcdf-openmpi2.- Also build openmpi3 flavor. * Mon Nov 04 2019 Stefan Brüns - Build MPI pacakges as multibuild flavors, add openmpi2- Adapt to openmpi -> openmpi1 rename on Tumbleweed * Tue Sep 10 2019 Christophe Giboudeaux - Use -ffat-lto-objects when building static libraries. * Sun Jul 17 2016 jengelhAATTinai.de- Trim descriptions.
|
|
|