UPC++ feature list

Issue #1 resolved
Yili Zheng created an issue

UPC++

Core

  • Async Tasks (should rewrite using variadic templates) <async.h, async_templates.h, async_impl*.h>
  • Synchronous and Asynchronous Copies <async_copy.h>
  • Events <event.h>
  • Global Pointers <global_ptr.h>
  • Shared Locks <lock.h>
  • Shared Arrays <shared_array.h>
  • Shared Variables <shared_var.h>
  • Memory Management <upcxx_internal.h>
  • Init/Finalize <upcxx_runtime.h>
  • Ranks and Barriers <upcxx_runtime.h>

Questionable

  • Collectives <collective.h, upcxx_types.h>
  • Global References and memberof <global_ref.h>

Internal

  • Groups? <group.h>
  • Queues <queue.h>
  • Utils <utils.h>

Library

  • Multidimensional Arrays <array.h, upcxx-arrays/>
  • Timers <timer.h>

Extended/Experimental

  • Safe Broadcast <broadcast.h, interfaces.h, interfaces_internal.h>
  • Finish <finish.h>
  • Fork/Join <forkjoin.h>
  • Ranges <range.h>
  • Higher-Level Reductions <reduce.h>
  • Teams <team.h>

Multidimensional Arrays

Core

  • Domain Library
  • Lambda Foreach
  • Point Indexing
  • Synchronous and Asynchronous Copies
  • Exchange
  • Scatter/Gather

Extended/Experimental

  • Bounds Checking
  • Stridedness Specializations
  • Padding
  • Vector Broadcast
  • Storage/Base Pointer
  • Chained Indexing
  • Function-Call Indexing

Deprecated

  • NBI Copy
  • Macro Indexing
  • Foreach Specializations
  • POINT, RECTDOMAIN, and ARRAY macros

Comments (2)

  1. BrianS

    while all interesting, I think we are now working in a smaller set of core features with a smaller API.

  2. Dan Bonachea

    This issue mostly applied to v0.1.

    Spec 1.0 draft 2 serves as both specification and feature list, including some features that have yet to be fully specified.

  3. Log in to comment