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
Copy file name to clipboardExpand all lines: README.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@ Pkg.add("VectorizedReduction")
10
10
## Usage
11
11
12
12
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`
15
15
3.`findmin`, `findmin`, `argmin`, `argmax`
16
16
4.`logsumexp`, `softmax`, `logsoftmax`
17
17
@@ -69,4 +69,11 @@ julia> p.(.01, 10 .^ (1:4))
69
69
0.004594582648473011
70
70
0.0004604109969121861
71
71
```
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