0.6.0
Incorporate PRIF Revision 0.6 Changes & Implement Atomic Operations
Caffeine release 0.6.0:
- Implemented all of the PRIF Atomic Operations:
prif_atomic_add,prif_atomic_add_indirectprif_atomic_and,prif_atomic_and_indirectprif_atomic_or,prif_atomic_or_indirectprif_atomic_xor,prif_atomic_xor_indirectprif_atomic_cas_int,prif_atomic_cas_int_indirectprif_atomic_cas_logical,prif_atomic_cas_logical_indirectprif_atomic_fetch_add,prif_atomic_fetch_add_indirectprif_atomic_fetch_and,prif_atomic_fetch_and_indirectprif_atomic_fetch_or,prif_atomic_fetch_or_indirectprif_atomic_fetch_xor,prif_atomic_fetch_xor_indirectprif_atomic_define_int,prif_atomic_define_int_indirectprif_atomic_define_logical,prif_atomic_define_logical_indirectprif_atomic_ref_int,prif_atomic_ref_int_indirectprif_atomic_ref_logical,prif_atomic_ref_logical_indirect
- Implement all the interface changes introduced in PRIF 0.6:
- Add
prif_initial_team_index - Add
prif_initial_team_index_with_team - Add
prif_initial_team_index_with_team_number - Add
data_pointer_offsetargument toprif_alias_create
- Add
- Fixed a number of critical defects:
- Improved CI testing:
- Added CI-driven end-to-end testing of native multi-image support with flang-latest and Caffeine. This includes most SYNC statements, most Collectives subroutines, and some image queries.
- Expanded set of LLVM Flang versions used in CI
- Added more robust exit testing
Currently Supported Features & Limitations
Please see the Implementation Status doc
Supported Platforms
Compilers
We currently build Caffeine and its dependencies with LLVM compilers (flang-new and clang) and GNU compilers (gfortran and gcc).
Operating systems and architectures
We regularly test on
- Linux: x86_64
- macOS: x86_64 and Apple Silicon
Full Changelog: 0.5.2...0.6.0