Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spelling changes and spell checking action added #68

Merged
merged 5 commits into from
Jun 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
skip = .git,.codespellrc,./scripts/ltmain.sh,./scripts/depcomp
check-hidden = true
# ignore-regex =
ignore-words-list = clen
14 changes: 14 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# GitHub Action to automate the identification of common misspellings in text files
# https://github.com/codespell-project/codespell
# https://github.com/codespell-project/actions-codespell
name: codespell
on: [push, pull_request]
permissions:
contents: read
jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: codespell-project/actions-codespell@master
2 changes: 1 addition & 1 deletion .github/workflows/mac_mpich.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: actions/[email protected]
- name: Set up dependencies
run: |
brew instal automake autoconf libtool m4 open-mpi zlib
brew install automake autoconf libtool m4 open-mpi zlib
- name: Install HDF5
run: |
cd ${GITHUB_WORKSPACE}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ but require the Log VOL to read them back.
* [doc/design.md](doc/design.md) outlines the design of Log VOL connector.
* [doc/api.md](doc/api.md) describes the new APIs introduced in this VOL.

### Applicaton Case Studies and Experimental Results
### Application Case Studies and Experimental Results
* [E3SM I/O case study](case_studies/E3SM_IO.md) - Energy Exascale Earth System Model ([E3SM](https://github.com/E3SM-Project/E3SM)).
* [WRF I/O case study](case_studies/WRF.md) - Weather Research and Forecasting Model ([WRF](https://github.com/wrf-model/WRF)).

Expand Down
10 changes: 5 additions & 5 deletions RELEASE_NOTE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
data to files in log layout through the Log VOL connector. See PR #15.
+ Support opening and operating an existing regular HDF5 file.
+ Support using the Log VOL connector as a pass-through VOL connector when performing writes.
* Whe performing writes, users can specify and choose other VOL connectors as the underlying VOL connectors of the Log VOL connector. See PR #33.
* When performing writes, users can specify and choose other VOL connectors as the underlying VOL connectors of the Log VOL connector. See PR #33.
* When the pass-through feature is enabled, it asks the underlying VOLs to use collective MPI I/O. See PR #42.
* For its usage, refer to the User Guide in doc/usage.md.
+ Support VOL connector interface version 3.
Expand Down Expand Up @@ -121,10 +121,10 @@
+ PR #44 provides an example of running the Log VOL connector on top of the Cache VOL and Async VOL connector.
+ testing the Log VOL connector as a Pass-through VOL.
+ tests/testcases, tests/basic, tests/dynamic, and tests/read_regular
additionaly tests using the Log VOL connector on top of the native VOL. Test programs
are re-used and no addtional test programs are added. Unlike tests/passthru
additionally tests using the Log VOL connector on top of the native VOL. Test programs
are re-used and no additional test programs are added. Unlike tests/passthru
where we expect users to specify the underlying VOLs, all necessary
envrionment varibales are set in the wrap_runs.sh and parallel_run.sh
environment variables are set in the wrap_runs.sh and parallel_run.sh
scripts. Running "make check" or "make ptest" is enough perform the test.

### Version 1.3.0 (May 05, 2022)
Expand Down Expand Up @@ -267,7 +267,7 @@
+ HDF5 example programs are now downloaded from HDF5 releases at make time.
See PR #18.

### Version 1.1.0 (Feburary 11, 2022)
### Version 1.1.0 (February 11, 2022)
* New features
+ Support multiple opened instance of the same dataset.
+ Commit 37eed305581653cbb1e021a3c23389a55043b2e5
Expand Down
4 changes: 2 additions & 2 deletions case_studies/E3SM_IO.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ simulation, and prediction project. The I/O patterns of E3SM captured by the E3S
decomposition map file comes with the E3SM-IO, along with two other cases, G and I.
* Information about the decomposition maps is available in
[datasets/README.md](https://github.com/Parallel-NetCDF/E3SM-IO/blob/master/datasets/README.md)
* Details of comand-line options can be found in the E3SM-IO's
* Details of command-line options can be found in the E3SM-IO's
[INSTALL.md](https://github.com/Parallel-NetCDF/E3SM-IO/blob/master/INSTALL.md#run-command)

## Three cases from E3SM production runs
Expand Down Expand Up @@ -85,7 +85,7 @@ However, storing data in the canonical order requires inter-process communicatio
in MPI collective I/O, which can be expensive.
Given E3SM's data partitioning patterns containing large numbers of noncontiguous write
requests, the communication cost can be very expensive.
Therefor, it is expected the PnetCDF method performs slower than the log-layout based
Therefore, it is expected the PnetCDF method performs slower than the log-layout based
VOL, which stores data in the log layout, requiring no inter-process communications.

[Scorpio](https://github.com/E3SM-Project/scorpio) implements an I/O option to use
Expand Down
2 changes: 1 addition & 1 deletion case_studies/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## Case Studies
* [E3SM I/O kernel](./E3SM_IO.md) - Performance study of the I/O kernel of [E3SM](https://github.com/E3SM-Project/E3SM) and comparison with other I/O methods.
* [WRF](./WRF.md) - Performance study of the [WRF](https://github.com/wrf-model/WRF) applicaiton.
* [WRF](./WRF.md) - Performance study of the [WRF](https://github.com/wrf-model/WRF) application.
2 changes: 1 addition & 1 deletion case_studies/WRF.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ This case study uses [the Weather Research and Forecasting (WRF) Model](https://
```
./compile em_les
```
Two executables (ideal.exe, and wrf.exe) will be built under `main` forlder. The two
Two executables (ideal.exe, and wrf.exe) will be built under `main` folder. The two
executables should also exist in `test/em_les`, which are linked to those under `main` folder.

* For more details, please refer to [WRF's official compilation tutorial](https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php?fbclid=IwAR3GIOcbAA4rwEjYAeeFDbaywNm4UvHz3CbeXtJbJRIaS9OF03BP5wfX-u8).
Expand Down
10 changes: 5 additions & 5 deletions doc/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ If not set, the default property is buffered.
+ `plist`: the id of the dataset ransfer property list to attach the setting.
+ `buffered`: a boolean value that indicates whether to keep a copy of the input write buffer of `H5Dwrite` calls in the Log VOL connector.
+ `true`: (default)
+ keep a copy. i.e. needs addtional memory
+ keep a copy. i.e. needs additional memory
+ the input buffer can be modified immediately after H5Dwrite returns
+ `false`:
+ the input buffer shall not be modified immediately after `H5Dwrite`s.
Expand All @@ -106,7 +106,7 @@ If it is set to `false`, the Log VOL connector does not keep a copy of the input
+ Outs:
+ `buffered`: whether to keep a copy of the input write buffer of `H5Dwrite` calls under current setting indicated by `plist`.
+ `true`:
+ keep a copy. i.e. needs addtional memory
+ keep a copy. i.e. needs additional memory
+ the input buffer can be modified immediately after H5Dwrite returns
+ `false`:
+ the input buffer shall not be modified immediately after `H5Dwrite`s.
Expand Down Expand Up @@ -199,7 +199,7 @@ The function `H5Pset_meta_zip` sets the whether to compress the metadata.
+ This function returns `0` on success. Fail otherwise.

### H5Pget_meta_zip
The function `H5Pget_meta_zip` gets the metadata comrpession setting in a file access property list.
The function `H5Pget_meta_zip` gets the metadata compression setting in a file access property list.

#### Usage:
```c
Expand Down Expand Up @@ -272,7 +272,7 @@ herr_t H5Pset_passthru (hid_t faplid, hbool_t enable)
+ Inputs:
+ `faplid`: the id of the file access property list to set the setting.
+ `enable`: whether passthrough VOL should be used.
+ `ture`: the Log VOL connector behaves as a passthrough VOL.
+ `true`: the Log VOL connector behaves as a passthrough VOL.
+ `false`: the Log VOL connector behaves as a terminal VOL.
+ Returns:
+ This function returns `0` on success. Fail otherwise.
Expand All @@ -292,7 +292,7 @@ herr_t H5Pget_passthru (hid_t faplid, hbool_t *enable);
+ `faplid`: the id of the file access property list to retrieve the setting.
+ Outputs:
+ `enable`: whether passthrough VOL is used.
+ `ture`: the Log VOL connector behaves as a passthrough VOL.
+ `true`: the Log VOL connector behaves as a passthrough VOL.
+ `false`: the Log VOL connector behaves as a terminal VOL.
+ Returns:
+ This function returns `0` on success. Fail otherwise.
Expand Down
4 changes: 2 additions & 2 deletions doc/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ See [doc/vol_test_fails.md](./vol_test_fails.md) for a comprehensive test result
| H5Dopen | High | A dataset can only have one opened instance at a time. Operating multiple dataset handle to the same dataset will result in undefined behavier. |
| H5Dclose | High | |
| H5Dfill | None | |
| H5Dread | Partial | The API stages read request in the Log VOL connector without actualy performing read. |
| H5Dwrite | Partial | The API stages write request in the Log VOL connector without actualy writing to the file. Application must call H5Fflush to ensure the data is written to the file. The application should not overwrite unflushed write reqeusts (writing to the same place twice), or the result is undefined. |
| H5Dread | Partial | The API stages read request in the Log VOL connector without actually performing read. |
| H5Dwrite | Partial | The API stages write request in the Log VOL connector without actually writing to the file. Application must call H5Fflush to ensure the data is written to the file. The application should not overwrite unflushed write requests (writing to the same place twice), or the result is undefined. |
| H5Dflush | Repurposed | Same as calling H5Fflush on the file containing the dataset |
| H5Drefresh | None | |
| H5Dgather | None | |
Expand Down
4 changes: 2 additions & 2 deletions doc/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Separating data and metadata allows the log-based driver to search through metad
A record in the log is a pair of an entry in the data log and an entry in the metadata log.
It represents a single write operation to a dataset.

A metadata log entry includes: (1) the ID of the dataset involved in the operation; (2) the selection in the dataset data space; (3) the offset of the data in the file; (4) the size of the data in the file; (5) the size of the metadata entry; and (6) flags that indicates the endianceness of the entry and other informations for future extension.
A metadata log entry includes: (1) the ID of the dataset involved in the operation; (2) the selection in the dataset data space; (3) the offset of the data in the file; (4) the size of the data in the file; (5) the size of the metadata entry; and (6) flags that indicates the endianceness of the entry and other information for future extension.
The dataset dataspace selection is stored as a list of hyper-slabs (subarraies).
If the selection has an iregular shape, the Log VOL connector decomposes it into disjoint hyper-slabs.
Element selections are treated as hyper-slab selections with unit sized hyper-slabs.
Expand All @@ -66,7 +66,7 @@ Users can also create their own property class through API H5Pregister2 to defin
Performance of our log-based driver can be significantly enhanced if the multiple small I/O requests can be aggregated into fewer, large request.
There are two approaches to achieve the effect of request aggregation.
One is to buffer the write requests internally and later the buffered requests are aggregated and flushed together.
This approach allows users to re-use their I/O buffers immediately after the write requests return.
This approach allows users to reuse their I/O buffers immediately after the write requests return.
The side effect is the increasing memory footprint.
The other approach is non-blocking I/O.
A new HDF5 data transfer property is defined to introduce a new I/O semantics that limit users from altering the buffer contents before the pending requests are flushed to the file system.
Expand Down
Loading