Skip to content

Commit

Permalink
update version number to 1.14.0
Browse files Browse the repository at this point in the history
* Move contents of sneak_peek.md to RELEASE_NOTES
  • Loading branch information
wkliao committed Nov 11, 2024
1 parent c90db89 commit 9c403de
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 54 deletions.
85 changes: 85 additions & 0 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,91 @@ PnetCDF Release Notes
Version _PNETCDF_VERSION_ (_PNETCDF_RELEASE_DATE_)
-------------------------------------

* New features
+ Intra-node aggregation for write requests -- When the number of MPI
processes allocated to a compute node is large, this feature can
effectively reduce the communication congestion caused by an overwhelming
large number of asynchronous messages posted during the collective write
of MPI-IO. This new feature can be enabled by setting the PnetCDF I/O hint
'nc_num_aggrs_per_node' to the desired number of aggregators per compute
node. The non-aggregators send their requests to the assigned aggregators,
and then the aggregators make aggregated requests to the file.
[PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).
+ Support MPI derived data types that are constructed from the large-count
derived datatype constructors introduced in MPI 4.0.
[PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).

* New optimization
+ When running sequentially (i.e. number of processes is 1), PnetCDF calls
the MPI independent I/O functions and avoids calls to MPI_Barrier,
MPI_Bcast, and MPI_Allreduce.
[PR #149](https://github.com/Parallel-NetCDF/PnetCDF/pull/149).

* Configure options changed
+ The default has been changed to build both shared and static libraries.
[PR #143](https://github.com/Parallel-NetCDF/PnetCDF/pull/143).

* Configure updates:
+ Fix `pnetcdf-config` of reflecting the installation path when installation
is done by running command `make install DESTDIR=/alternate/directory`
which prepends '/alternate/directory' before all installation names.
[PR #154](https://github.com/Parallel-NetCDF/PnetCDF/pull/154).

* New constants
+ A new C macro `NC_FillValue` replaces `_FillValue` and thus `_FillValue` is
now deprecated This conforms with NetCDF4's change in its version 4.9.3
release. [PR #153](https://github.com/Parallel-NetCDF/PnetCDF/pull/153).

* New PnetCDF hints
+ 'nc_num_aggrs_per_node' -- To enable the intra-node aggregation, this I/O
hint can set to a positive integral value, which indicates the desired
number of processes per compute node to be selected as the aggregators.
Setting it to 0 disables the aggregation, which is also the default mode.
[PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).

* Build recipes
+ When using OpenMPI on Mac OSX, a link error may appear. The work around is
to add `LDFLAGS=-ld_classic` into the configure command line. Thanks to
Rui Chen for reporting and provide the solution.
[Issue #139](https://github.com/Parallel-NetCDF/PnetCDF/issues/139).

* Updated utility programs
+ none

* Other updates:
+ More document for comparing PnetCDF and NetCDF4 has been added to file
doc/netcdf4_vs_pnetcdf.md
[PR #152](https://github.com/Parallel-NetCDF/PnetCDF/pull/152) and
[PR #140](https://github.com/Parallel-NetCDF/PnetCDF/pull/140).

* New example programs
+ C/flexible_bottom.c and C/vard_bottom.c - These two examples construct MPI
derived data types using absolute memory addresses first and use MPI_BOTTOM
when calling the PnetCDF flexible APIs.

* New programs for I/O benchmarks
+ C/pnetcdf_put_vara.c --
* This program writes a series of 3D variables with 2D block-block
partitioning pattern. Each variable is a record variable.
[PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).
+ C/netcdf_put_vara.c --
* This sequential NetCDF-C program writes a series of 3D variables. Each
variable is a record variable.
* This program and `C/pnetcdf_put_vara.c` can be used to compare the
performance of NetCDF and PnetCDF when running sequentially, i.e. one
process.
[PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).

* New test program
+ test/testcases/flexible_large_count.c - tests flexible APIs that use MPI
derived datatypes created by MPI large-count datatype constructors.
[PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).


-------------------------------------
Version 1.13.0 (March 29, 2024)
-------------------------------------

* New features
+ A single read/write request made by an MPI process is now allowed to be of
size larger than 2 GiB. Such large requests will be passed to the MP-IO
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dnl AC_REVISION([$Revision$])dnl
dnl autoconf v2.70 and later is required. See https://github.com/Parallel-NetCDF/PnetCDF/issues/94
dnl autoconf v2.70 was released in 2021-01-28
AC_PREREQ([2.70])
AC_INIT([PnetCDF],[1.13.0],[[email protected]],[pnetcdf],[https://parallel-netcdf.github.io])
AC_INIT([PnetCDF],[1.14.0],[[email protected]],[pnetcdf],[https://parallel-netcdf.github.io])

dnl config.h.in will be created by autoreconf (autoheader)
dnl call it right after AC_INIT, as suggested by autoconf
Expand Down Expand Up @@ -2641,7 +2641,7 @@ dnl Update the version information only immediately before a public release.
dnl PnetCDF starts with 1:0:0 (shared library is first supported in 1.9.0)
dnl because some package distributors, such as Debian, may have already built
dnl PnetCDF with shared libraries.
ABIVERSION="5:0:0"
ABIVERSION="6:0:0"
AC_SUBST(ABIVERSION)
if test "$enable_versioning" = "yes" ; then
ABIVERSIONFLAGS="-version-info \$(ABIVERSION)"
Expand Down
62 changes: 10 additions & 52 deletions sneak_peek.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,22 @@ This is essentially a placeholder for the next release note ...
------------------------------------------------------------------------------

* New features
+ Intra-node aggregation for write requests -- When the number of MPI
processes allocated to a compute node is large, this feature selects a
subset of processes per node to be an I/O aggregator. The non-aggregators
send their requests to the assigned aggregators, and then the aggregators
make aggregated requests to the file. This feature can effectively reduce
communication congestion due to too many pending asynchronous messages
produced in the collective write inside of MPI-IO. This new feature can be
enabled by setting the PnetCDF I/O hint 'nc_num_aggrs_per_node' to the
desired number of aggregators per compute node.
See [PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).
+ Support MPI derived data types that are constructed from the large-count
derived datatype constructors introduced in MPI 4.0.
See [PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).
+ none

* New optimization
+ When running sequentially (i.e. number of processes is 1), PnetCDF calls
the MPI independent I/O functions and avoids calls to MPI_Barrier,
MPI_Bcast, and MPI_Allreduce.
See [PR #149](https://github.com/Parallel-NetCDF/PnetCDF/pull/149).
+ none

* New Limitations
+ none

* Configure options
+ The default has been changed to build both shared and static libraries.
See [PR #143](https://github.com/Parallel-NetCDF/PnetCDF/pull/143).
+ none

* Configure updates:
+ Fix `pnetcdf-config` of reflecting the installation path when installation
is done by running command `make install DESTDIR=/alternate/directory`
which prepends '/alternate/directory' before all installation names.
See [PR #154](https://github.com/Parallel-NetCDF/PnetCDF/pull/154).
+ none

* New constants
+ A new C macro `NC_FillValue` replaces `_FillValue` and thus `_FillValue` is
now deprecated This conforms with NetCDF4's change in its version 4.9.3
release. See [PR #153](https://github.com/Parallel-NetCDF/PnetCDF/pull/153).
+ none

* New APIs
+ none
Expand All @@ -60,11 +39,7 @@ This is essentially a placeholder for the next release note ...
+ none

* New PnetCDF hints
+ 'nc_num_aggrs_per_node' -- To enable the intra-node aggregation, this I/O
hint can set to a positive integral value, which indicates the desired
number of processes per compute node to be selected as the aggregators.
Setting it to 0 disables the aggregation, which is also the default mode.
See [PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).
+ none

* New run-time environment variables
+ none
Expand All @@ -76,36 +51,19 @@ This is essentially a placeholder for the next release note ...
+ none

* Other updates:
+ More document for comparing PnetCDF and NetCDF4 has been added to file
doc/netcdf4_vs_pnetcdf.md
See [PR #152](https://github.com/Parallel-NetCDF/PnetCDF/pull/152) and
[PR #140](https://github.com/Parallel-NetCDF/PnetCDF/pull/140).
+ none

* Bug fixes
+

* New example programs
+ C/flexible_bottom.c and C/vard_bottom.c - These two examples construct MPI
derived data types using absolute memory addresses first and use MPI_BOTTOM
when calling the PnetCDF flexible APIs.
+ none

* New programs for I/O benchmarks
+ C/pnetcdf_put_vara.c --
* This program writes a series of 3D variables with 2D block-block
partitioning pattern. Each variable is a record variable.
See [PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).
+ C/netcdf_put_vara.c --
* This sequential NetCDF-C program writes a series of 3D variables. Each
variable is a record variable.
* This program and `C/pnetcdf_put_vara.c` can be used to compare the
performance of NetCDF and PnetCDF when running sequentially, i.e. one
process.
See [PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).
+ none

* New test program
+ test/testcases/flexible_large_count.c - tests flexible APIs that use MPI
derived datatypes created by MPI large-count datatype constructors.
See [PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).
+ none

* Issues with NetCDF library
+ none
Expand Down

0 comments on commit 9c403de

Please sign in to comment.