Skip to content

0.6.0

Latest

Choose a tag to compare

@ktras ktras released this 25 Sep 20:01
· 8 commits to main since this release
4890828

Incorporate PRIF Revision 0.6 Changes & Implement Atomic Operations

Caffeine release 0.6.0:

  1. Implemented all of the PRIF Atomic Operations:
    • prif_atomic_add, prif_atomic_add_indirect
    • prif_atomic_and, prif_atomic_and_indirect
    • prif_atomic_or, prif_atomic_or_indirect
    • prif_atomic_xor, prif_atomic_xor_indirect
    • prif_atomic_cas_int, prif_atomic_cas_int_indirect
    • prif_atomic_cas_logical, prif_atomic_cas_logical_indirect
    • prif_atomic_fetch_add, prif_atomic_fetch_add_indirect
    • prif_atomic_fetch_and, prif_atomic_fetch_and_indirect
    • prif_atomic_fetch_or, prif_atomic_fetch_or_indirect
    • prif_atomic_fetch_xor, prif_atomic_fetch_xor_indirect
    • prif_atomic_define_int, prif_atomic_define_int_indirect
    • prif_atomic_define_logical, prif_atomic_define_logical_indirect
    • prif_atomic_ref_int, prif_atomic_ref_int_indirect
    • prif_atomic_ref_logical, prif_atomic_ref_logical_indirect
  2. 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_offset argument to prif_alias_create
  3. Fixed a number of critical defects:
    • Fixed bug in flushing output in prif_error_stop and prif_stop - issue #245
    • Fix prif_init IEEE_INEXACT signaling - issue #259
  4. 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