Skip to content

Commit d0e0585

Browse files
Add acknowledgments, future work
1 parent a68906c commit d0e0585

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Pkg.add("VectorizedReduction")
1010
## Usage
1111

1212
This library provides "vectorized" (with/without multithreading) versions of the following functions
13-
1. `mapreduce` and common derived functions: `reduce`, `sum`, `prod`, `minimum`, `maximum`, `extrema`, `count`
14-
2. `any`, `all` (listed separately to emphasize theoretical considerations on applicability)
13+
1. `mapreduce` and common derived functions: `reduce`, `sum`, `prod`, `minimum`, `maximum`, `extrema`
14+
2. `count`, `any`, `all`
1515
3. `findmin`, `findmin`, `argmin`, `argmax`
1616
4. `logsumexp`, `softmax`, `logsoftmax`
1717

@@ -69,4 +69,11 @@ julia> p.(.01, 10 .^ (1:4))
6969
0.004594582648473011
7070
0.0004604109969121861
7171
```
72-
However, due to the current implementation details of Base `any`/`all`, early breakout occurs only when the reduction is being carried out across the entire array (i.e. does not occur when reducing over a subset of dimensions). Thus, the current advice is to use `vany`/`vall` unless one is reducing over the entire array, and even then, one should consider the `p` and `n` for one's problem.
72+
However, due to the current implementation details of Base `any`/`all`, early breakout occurs only when the reduction is being carried out across the entire array (i.e. does not occur when reducing over a subset of dimensions). Thus, the current advice is to use `vany`/`vall` unless one is reducing over the entire array, and even then, one should consider the `p` and `n` for one's problem.
73+
74+
## Acknowledgments
75+
The motivation for this package arose from my own experiences, but my initial attempt (visible in the /attic) did not deliver all the performance possible -- this was ony apparent through comparison to C. Elrod's approach to multidimensional forms in VectorizedStatistics. Having fully appreciated the beauty of branching through @generated functions, I decided to take a tour of osme low-hanging fruit -- this package is the result.
76+
77+
## Future work
78+
1. post-reduction operators
79+
2. reductions over index subsets within a dimension.

0 commit comments

Comments
 (0)