Releases: ecmwf-ifs/field_api
Releases · ecmwf-ifs/field_api
v0.3.3
A release comprising of entirely of minor updates and bug fixes, in preparation for an upcoming RAPS release.
Minor updates and bug fixes
- CMake: Only search for OpenACC if the corresponding option is active by @reuterbal in #60
- Fix compilation without FIAT by @awnawab in #61
- Fix propagation of ACC link flags by @awnawab in #62
- Small field_delete improvement by @dareg in #63
New Contributors
- @reuterbal made their first contribution in #60
Full Changelog: v0.3.2...v0.3.3
v0.3.2
A minor point release, mainly comprising of a memory pool for host allocations.
Major updates
Minor updates and bug fixes
- CMake: Export OpenACC symbols via INTERFACE target linking by @mlange05 in #56
- Use fckit contributed fypp even in absence of FCKIT_VENV by @awnawab in #57
Full Changelog: v0.3.1...v0.3.2
v0.3.1
This release of FIELD API is declared as compatible with the H24 MS1 deliverable. It comprises of many small updates/bug fixes as well as a few significant new features.
Major updates
- Compatibility with arrays offloaded via raw OpenACC directives was added by:
- Pull back data to legacy structures on device by @pmarguinaud in #49
- Improved logging and debugging capabilities added by:
- Field statistics by @pmarguinaud in #34
- Print CRC64 code each time a pointer is requested by @pmarguinaud in #42
- Support for offload of write-only fields was added by:
- Greater flexibility in defining the shape for owned fields was added by:
- Enable fields with a last lower bound different from 1 by @pmarguinaud in #35
- The functionality of the
FIELD_ARRAY
types was greatly enhanced by:- Add owner/resize ctors for Field API arrays by @pmarguinaud in #40
- FIELD_ARRAY: safely handle 0-sized fields by @awnawab in #41
- Add proper constructor for array owner by @pmarguinaud in #43
- FIELD_ARRAY: add contiguous attribute to global pointer by @awnawab in #45
- Faster compilation and installation metadata were added by:
Minor updates and bug fixes
- Resize only when needed by @pmarguinaud in #38
- Add field accessors with optional field argument by @pmarguinaud in #39
- Fix compilation in absence of FIAT by @awnawab in #46
- Update buddy_alloc.h by @pmarguinaud in #48
- Control data synchronization of field wrappers when device data is created by @pmarguinaud in #47
- Fix test_legacy.F90 (single precision) by @pmarguinaud in #52
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's new
- A CUDA backend that significantly speeds up data transfers by enabling per-field pinning in page-locked memory as well as fast discontiguous copies using
CUDAMEMCPY2D
(#11, #13) FIELD_GANG
functionality that allows for combined offload of packed storage of fields, thereby replacing many discontiguous copies with a single contiguous one (#16)- Intel compilers, legacy and LLVM, are now included in the CI suite (#17)
- FIELD_API has now also been extended to 1D fields (#19, #27)
What's Changed
- CUDA backend by @awnawab in #11
- Add missing copyright headers by @awnawab in #18
- Field gang by @pmarguinaud in #16
- Restore POINTER attribute to COPY_DIM_CONTIGUOUS dummy args by @awnawab in #20
- Handle 1D arrays with Field API + add options to fieldType.py generator by @pmarguinaud in #19
- Improve noncontiguous data transfers by @lukasm91 in #13
- add continous integration with the last intel compilers by @dareg in #17
- Add an option to disable wrapper field synchronization on object destruction by @pmarguinaud in #21
- Small fixes to
COPY_DATA
by @awnawab in #22 - 0-size allocations for owned fields by @awnawab in #25
- Redistribute field data with a different NPROMA by @pmarguinaud in #23
- Generate utilities for 1D fields by @pmarguinaud in #27
- Disable empty generic interfaces by @pmarguinaud in #28
- Run with bound checking by @pmarguinaud in #29
- Optional dynamic linking by @awnawab in #30
- Bugfix: Correct size for non-CUDA device copies by @mlange05 in #31
- Add 1D fields to field_util_module.fypp by @pmarguinaud in #32
New Contributors
Full Changelog: v0.2.2...v0.3.0
Ready for cycle 49t2 & bound checking
Merge pull request #29 from pmarguinaud/bound-checking Run with bound checking
Ready for cycle 49t2
Merge pull request #28 from pmarguinaud/noemptygeneric Disable empty generic interfaces
v0.2.2
This minor point release adds field resizing capabilities, optional disabling of single/double precision builds and a unit-test to check for GPU presence.
What's Changed
- Add mf arch config files by @dareg in #5
- Field resize by @dareg in #6
- Fix copyright headers by @awnawab in #8
- Let the user disable sp or dp compilation by @dareg in #10
- Separate GPU specific tests by @awnawab in #9
New Contributors
Full Changelog: v0.2.1...v0.2.2
v0.2.1
v0.2.0
What's Changed
- Added ECMWF-compatible copyright headers and LICENSE file
- Merged most recent developments from ACCORD branch with
- Minor changes
- Crc64
- Fix tests and gfortran compilation
New Contributors
Full Changelog: v0.1.0...v0.2.0