Skip to content

0.5.2

Choose a tag to compare

@ktras ktras released this 04 Jun 22:58
· 197 commits to main since this release
8fcb6a3

Support PRIF 0.5 Collective Subroutines, Events, Notifications, and more

Caffeine release 0.5.2:

  1. Added distributed-memory platform support
  2. Implemented remaining and updated existing Collective Subroutines with PRIF 0.5-compliant interfaces:
    • prif_co_max_character
    • prif_co_min_character
    • prif_co_reduce
    • prif_co_max, prif_co_min, prif_co_sum
  3. Implemented remaining Strided Coarray Access and Contiguous Coarray Access procedures that include notifications:
    • prif_put_with_notify, prif_put_with_notify_indirect
    • prif_put_indirect_with_notify, prif_put_indirect_with_notify_indirect
    • prif_put_strided_with_notify, prif_put_strided_with_notify_indirect
    • prif_put_strided_indirect_with_notify, prif_put_strided_indirect_with_notify_indirect
  4. Implemented Events and Notifications:
    • prif_notify_wait
    • prif_event_post, prif_event_post_indirect
    • prif_event_wait
    • prif_event_query
  5. Implemented remaining SYNC Statements:
    • prif_sync_images
  6. Implemented remaining Storage Management procedures:
    • prif_alias_create, prif_alias_destroy
  7. Implemented remaining Coarray Queries procedures:
    • prif_set_context_data, prif_get_context_data
    • prif_image_index_with_team
    • prif_image_index_with_team_number (partial support)
  8. Implemented remaining Image Queries procedures:
    • prif_this_image_with_coarray, prif_this_image_with_dim
    • prif_num_images_with_team_number (partial support)
  9. Fixed a number of critical defects
    • Fixed prif_sync_all synchronizes the wrong team - issue #208
    • Fixed missing required synchronization for prif_change_team and prif_end_team - issue #209
    • Fixed coarray handles not correctly registered in team list - issue #210
  10. Expanded CI testing to include more compiler versions, OS versions, and distributed memory

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.0...0.5.2