You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
updating official name and public url; use LLVM compile defs (#104)
* updating official name and public url; use LLVM compile defs
* using older conda/build
* adding sysroot to runtime deps
* fixing out-of-bounds access in accumulate
* fixing invalid conditions
Typically, sharpy operations do not get executed immediately. Instead, the function returns a transparent object (a future) only.
101
+
Typically, operations do not get executed immediately. Instead, the function returns a transparent object (a future) only.
102
102
The actual computation gets deferred by creating a promise/deferred object and queuing it for later. This is not visible to users, they can use it as any other numpy-like library.
103
103
104
104
Only when actual data is needed, computation will happen; that is when
@@ -112,17 +112,17 @@ In the background a worker thread handles deferred objects. Until computation is
112
112
113
113
Arrays and operations on them get transparently distributed across multiple processes. Respective functionality is partly handled by this library and partly IMEX dist dialect.
114
114
IMEX relies on a runtime library for complex communication tasks and for inspecting runtime configuration, such as number of processes and process id (MPI rank).
115
-
sharpy provides this library functionality in a separate dynamic library "idtr".
115
+
Sharded Array For Python provides this library functionality in a separate dynamic library "idtr".
116
116
117
117
Right now, data is split in the first dimension (only). Each process knows the partition it owns. For optimization partitions can actually overlap.
118
118
119
-
sharpy currently supports one execution mode: CSP/SPMD/explicitly-distributed execution, meaning all processes execute the same program, execution is replicated on all processes. Data is typically not replicated but distributed among processes. The distribution is handled automatically by sharpy, all operations on sharpy arrays can be viewed as collective operations.
119
+
Sharded Array For Python currently supports one execution mode: CSP/SPMD/explicitly-distributed execution, meaning all processes execute the same program, execution is replicated on all processes. Data is typically not replicated but distributed among processes. The distribution is handled automatically, all operations on Sharded Arrays For Python can be viewed as collective operations.
120
120
121
121
Later, we'll add a Controller-Worker/implicitly-distributed execution mode, meaning only a single process executes the program and it distributes data and work to worker processes.
122
122
123
123
### Array API Coverage
124
124
125
-
Currently only a subset of the Array API is covered by sharpy
125
+
Currently only a subset of the Array API is covered by Sharded Array For Python
126
126
127
127
- elementwise binary operations
128
128
- elementwise unary operations
@@ -135,18 +135,18 @@ Currently only a subset of the Array API is covered by sharpy
135
135
136
136
### Other Functionality
137
137
138
-
-`sharpy.to_numpy` converts a sharpy array into a numpy array.
139
-
-`sharpy.numpy.from_function` allows creating a sharpy array from a function (similar to numpy)
140
-
- In addition to the Array API sharpy also provides functionality facilitating interacting with sharpy arrays in a distributed environment.
138
+
-`sharpy.to_numpy` converts a sharded array into a numpy array.
139
+
-`sharpy.numpy.from_function` allows creating a sharded array from a function (similar to numpy)
140
+
- In addition to the Array API Sharded Array For Python also provides functionality facilitating interacting with sharded arrays in a distributed environment.
141
141
-`sharpy.spmd.gather` gathers the distributed array and forms a single, local and contiguous copy of the data as a numpy array
142
142
-`sharpy.spmd.get_locals` return the local part of the distributed array as a numpy array
143
-
- sharpy allows providing a fallback array implementation. By setting SHARPY_FALLBACK to a python package it will call that package if a given function is not provided by sharpy. It will pass sharpy arrays as (gathered) numpy-arrays.
143
+
- sharpy allows providing a fallback array implementation. By setting SHARPY_FALLBACK to a python package it will call that package if a given function is not provided. It will pass sharded arrays as (gathered) numpy-arrays.
144
144
145
145
## Environment variables
146
146
147
147
### Compile time variables
148
148
149
-
Required to compile `sharpy`:
149
+
Required to compile Sharded Array For Python:
150
150
151
151
-`MLIRROOT`: Set path to MLIR install root.
152
152
-`IMEXROOT`: Set path to Intel MLIR Extensions install root.
0 commit comments