enthought / enthought/distarray
O-9: distarray global API -- array expressions with partially overlapping arrays (optional)
- Lingua principale
- Python
- Stelle
- 5
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Objective: The goal of this sub-task is to define the semantics for distributed array expressions with arrays that are not identically distributed.
Relevance: Supporting array expressions when the component arrays are not identically distributed will allow ODIN to more closely align with NumPy’s functionality, will improve overall usability, and will more closely conform to what is expected for users coming from a NumPy background (i.e. the principle of least surprise).
Description: When partially overlapping distributed arrays are combined in an expression whose result is another distributed array, certain ambiguities arise: how should the result array be distributed? What nodes are responsible for the computation? In which circumstances is communication more costly than computation, and what heuristics can be devised to help guide these decisions at runtime?
Given these ambiguities, allowing end-user control in some form is a possible option to pursue, whether it be via decorators, context managers, or other mechanisms provided by Python control flow structures.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Iniziare chiarendo la semantica delle espressioni che combinano array distribuiti parzialmente sovrapposti, inclusa la distribuzione del risultato e quali nodi eseguono il calcolo. Confrontare il comportamento desiderato con le funzionalità di NumPy, quindi valutare i compromessi tra comunicazione e calcolo, nonché i possibili controlli a disposizione degli utenti, come decoratori o gestori di contesto. Il lavoro è completato quando le ambiguità sono state risolte e è stata definita una direzione per l'implementazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- distributed-systems
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 20/100