-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1767 from pace-neutrons/1766_bugfix_release
The information about release 4.0.1
- Loading branch information
Showing
3 changed files
with
99 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
4.0.0 | ||
4.0.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
## Release Notes v4.0.1 | ||
|
||
Minor release, fixing some bugs, and dealing with | ||
some optimization issues identified after release. | ||
|
||
## Bugs fixed: | ||
The details of the fixed issues are available on | ||
[GitHub](https://github.com/pace-neutrons/Horace/issues/) | ||
- #1731 invalid error reporting in `load_spe`. | ||
- #1735 Issues with `SymopGeneral` in `cut_sym`. | ||
- #1745 Missing `dnd` constructor used by `spinW` | ||
and `spinW` integration tests. | ||
- #1748 Fixed `SymopIdentify` taking substantial | ||
time while doing cut without symmetries. | ||
- #1753 `horace_mex` and issues with `cpp_communicator`. | ||
- #1758 `horace_install` installs `spinW` integration on request. | ||
- #1762 `horace_demo_script` is not working | ||
due to reference to removed `fit_sqw` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,82 @@ | ||
## Release Notes v4.0 | ||
|
||
This is major new release, providing internal changes to the sqw/dnd objects, necessary for using generic projection | ||
|
||
## Breaking changes | ||
- Renamed `fake_sqw` to `dummy_sqw` | ||
|
||
## Critical changes | ||
- `DnD` objects are fully refactored and constructed from `axes_block` class (property `axes`), `aProjection` class (property `proj`) and three datasets, namely `s,e` and `npix` containing signal, error and number of pixels contributed into a bin, as before. `axes_block` defines binning of these datasets and their physical meaning, while projection defines the transformation from pixels coordinate system to the coordinate system, defined by `axes_block`. Old interface (`iax,pax,iint,p etc.`) left for compatibility with existing algorithms and set as read-only interface. | ||
- `multifit` and `tobyfit` are now able to be run in parallel through the `hpc_config` `parallel_multifit` setting. | ||
- `data_sqw_dnd` class (property `data` of `sqw` object) have been removed from `sqw` object and replaced by appropriate dimension `dnd` object. Pixels data (`PixelData` class), which were the property of `data_sqw_dnd` class are now independent property of `sqw` object (property `pix`). Old and refactored `data_sqw_dnd` class left for compatibility with old `sqw` files, allowing the loading of old data from `.mat` files. | ||
- Added benchmarking features under the `_benchmarking` folder which will run on CI or can be run by users using either the `benchmark_horace` script or by running individual benchmark functions. Documentation included in SMG 20 | ||
- Spawning parallel jobs with Herbert/C++ MPI no longer spawns inappropriate MATLAB threads oversubscribing the machine and causing slowdown. | ||
- Slurm cluster handling has been rewritten to deal appropriately with multiple node requests and automatically handle threading. | ||
- `threads` and `parallel_workers` have migrated from `hpc_config` to `parallel_config` | ||
- `herbert_config` has been deprecated and features of `herbert_config` have migrated to `hor_config` | ||
This is version 4 of Horace, which contains major changes to the Horace code | ||
produced within 3-years of PACE project development. | ||
It is major upgrade from the Horace version 3.6. | ||
|
||
Draft versions of these changes were used at ISIS in cycles: 2024/1&2 | ||
|
||
## Major changes. | ||
|
||
As a major part of the new features we would like to emphasise the fully restructured sqw objects. | ||
In particular they provide the following benefits: | ||
|
||
- Allows use of different projections: images (`dnd`) in different coordinate systems. | ||
- Now provides cuts using spherical and cylindrical projections with more coming. | ||
|
||
- On-file sqws for cases where they do not fit in memory, with a unified interface | ||
(no need to learn anything new, for big jobs!). | ||
|
||
- New symmetry operations and ways of symmetrizing sqw objects. | ||
- Multiple reductions in a single `symmetrize_sqw` call, | ||
rotationally symmetric reduction. | ||
- Symmetrised cuts which can be more efficient and more general. | ||
|
||
- Extended parallel capabilities | ||
- New parallel algorithms for `sqw_eval` and fitting. | ||
|
||
- New more efficient and flexible binary format. | ||
- **NOTE:** Horace can read previous versions of sqw files, however, sqw | ||
files produced by Horace v4+ can not be read by previous versions of Horace. | ||
|
||
|
||
## Breaking Changes | ||
- Renamed `fake_sqw` to `dummy_sqw` | ||
|
||
- Fully refactored `SQW` objects: | ||
- `data_sqw_dnd` class (property `data` of `sqw` object) has been removed from | ||
`sqw` object and replaced by appropriately dimensioned `dnd` object. | ||
- Pixel data (`PixelData` class), which were a property of the `data_sqw_dnd` | ||
class are now an independent property of `sqw` object (`pix` property). | ||
- Old and refactored `data_sqw_dnd` class left for compatibility with old | ||
`sqw` files, allowing the loading of old data from `.mat` files. | ||
|
||
- Fully refactored `DnD` objects now made up of: | ||
- `axes_block` class (`axes` property), defining binning of | ||
these datasets and their physical meaning, | ||
- `aProjection` class (`proj` property), defining the transformation | ||
from pixels coordinate system to the coordinate system, defined by `axes_block`. | ||
- and three datasets, namely `s,e` and `npix` containing signal, error and | ||
number of pixels contributed into a bin, as before. | ||
- **NOTE:** Old interface (`iax`, `pax`, `iint`, `p`, etc.) left for | ||
compatibility with existing algorithms through read-only interface. | ||
|
||
- `multifit` and `tobyfit` can be run in parallel through | ||
the `hpc_config` `parallel_multifit` setting. | ||
|
||
- Added benchmarking in the `_benchmarking` folder which will | ||
run on CI or can be run by users using either the `benchmark_horace` | ||
script or by running individual benchmark functions. | ||
Documentation included in SMG 20. | ||
|
||
- Spawning parallel jobs with Herbert/C++ MPI no longer spawns | ||
inappropriate MATLAB threads oversubscribing the machine | ||
and causing slowdown. | ||
|
||
- Slurm cluster interface has been rewritten to deal appropriately | ||
with multiple node requests and automatically handle threading. | ||
|
||
- `threads` and `parallel_workers` have migrated from | ||
`hpc_config` to `parallel_config`. | ||
|
||
- `herbert_config` has been deprecated and features of | ||
`herbert_config` have migrated to `hor_config`. | ||
|
||
- `fit_sqw` function have been removed in favour of | ||
direct usage of `multifit_sqw` class. | ||
|
||
- More than 1,000 additional tasks making substantial additions and | ||
improvements to algorithms and design: | ||
refactoring and improving existing algorithms, providing | ||
new features and making code more modular to facilitate | ||
maintenance and future Horace development. |