@@ -6,6 +6,92 @@ PnetCDF Release Notes
66Version _PNETCDF_VERSION_ (_PNETCDF_RELEASE_DATE_)
77-------------------------------------
88
9+ * New features
10+ + Intra-node aggregation for write requests -- When the number of MPI
11+ processes allocated to a compute node is large, this feature selects a
12+ subset of processes per node to be an I/O aggregator. The non-aggregators
13+ send their requests to the assigned aggregators, and then the aggregators
14+ make aggregated requests to the file. This feature can effectively reduce
15+ communication congestion due to too many pending asynchronous messages
16+ produced in the collective write inside of MPI-IO. This new feature can be
17+ enabled by setting the PnetCDF I/O hint 'nc_num_aggrs_per_node' to the
18+ desired number of aggregators per compute node.
19+ See [PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).
20+ + Support MPI derived data types that are constructed from the large-count
21+ derived datatype constructors introduced in MPI 4.0.
22+ See [PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).
23+
24+ * New optimization
25+ + When running sequentially (i.e. number of processes is 1), PnetCDF calls
26+ the MPI independent I/O functions and avoids calls to MPI_Barrier,
27+ MPI_Bcast, and MPI_Allreduce.
28+ See [PR #149](https://github.com/Parallel-NetCDF/PnetCDF/pull/149).
29+
30+ * Configure options changed
31+ + The default has been changed to build both shared and static libraries.
32+ See [PR #143](https://github.com/Parallel-NetCDF/PnetCDF/pull/143).
33+
34+ * Configure updates:
35+ + Fix `pnetcdf-config` of reflecting the installation path when installation
36+ is done by running command `make install DESTDIR=/alternate/directory`
37+ which prepends '/alternate/directory' before all installation names.
38+ See [PR #154](https://github.com/Parallel-NetCDF/PnetCDF/pull/154).
39+
40+ * New constants
41+ + A new C macro `NC_FillValue` replaces `_FillValue` and thus `_FillValue` is
42+ now deprecated This conforms with NetCDF4's change in its version 4.9.3
43+ release. See [PR #153](https://github.com/Parallel-NetCDF/PnetCDF/pull/153).
44+
45+ * New PnetCDF hints
46+ + 'nc_num_aggrs_per_node' -- To enable the intra-node aggregation, this I/O
47+ hint can set to a positive integral value, which indicates the desired
48+ number of processes per compute node to be selected as the aggregators.
49+ Setting it to 0 disables the aggregation, which is also the default mode.
50+ See [PR #156](https://github.com/Parallel-NetCDF/PnetCDF/pull/156).
51+
52+ * Build recipes
53+ + When using OpenMPI on Mac OSX, a link error may appear. The work around is
54+ to add `LDFLAGS=-ld_classic` into the configure command line. Thanks to
55+ Rui Chen for reporting and provide the solution.
56+ See [Issue #139](https://github.com/Parallel-NetCDF/PnetCDF/issues/139).
57+
58+ * Updated utility programs
59+ + none
60+
61+ * Other updates:
62+ + More document for comparing PnetCDF and NetCDF4 has been added to file
63+ doc/netcdf4_vs_pnetcdf.md
64+ See [PR #152](https://github.com/Parallel-NetCDF/PnetCDF/pull/152) and
65+ [PR #140](https://github.com/Parallel-NetCDF/PnetCDF/pull/140).
66+
67+ * New example programs
68+ + C/flexible_bottom.c and C/vard_bottom.c - These two examples construct MPI
69+ derived data types using absolute memory addresses first and use MPI_BOTTOM
70+ when calling the PnetCDF flexible APIs.
71+
72+ * New programs for I/O benchmarks
73+ + C/pnetcdf_put_vara.c --
74+ * This program writes a series of 3D variables with 2D block-block
75+ partitioning pattern. Each variable is a record variable.
76+ See [PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).
77+ + C/netcdf_put_vara.c --
78+ * This sequential NetCDF-C program writes a series of 3D variables. Each
79+ variable is a record variable.
80+ * This program and `C/pnetcdf_put_vara.c` can be used to compare the
81+ performance of NetCDF and PnetCDF when running sequentially, i.e. one
82+ process.
83+ See [PR #150](https://github.com/Parallel-NetCDF/PnetCDF/pull/150).
84+
85+ * New test program
86+ + test/testcases/flexible_large_count.c - tests flexible APIs that use MPI
87+ derived datatypes created by MPI large-count datatype constructors.
88+ See [PR #145](https://github.com/Parallel-NetCDF/PnetCDF/pull/145).
89+
90+
91+ -------------------------------------
92+ Version 1.13.0 (March 29, 2024)
93+ -------------------------------------
94+
995* New features
1096 + A single read/write request made by an MPI process is now allowed to be of
1197 size larger than 2 GiB. Such large requests will be passed to the MP-IO
0 commit comments