Ticket #1835: dph.patch

File dph.patch, 42.4 KB (added by SamAnklesaria, 3 years ago)

for dph

Line 
11 patch for repository http://darcs.haskell.org/packages/dph:
2
3Fri Aug  6 13:45:42 CDT 2010  amsay@amsay.net
4  * fix for TH's new ClassI
5
6New patches:
7
8[fix for TH's new ClassI
9amsay@amsay.net**20100806184542
10 Ignore-this: 35a5edd57a5f036c316ab75b6c26c92a
11] hunk ./dph-common/Data/Array/Parallel/Lifted/TH/Repr.hs 99
12 genPR_methods :: (Name -> [ArgVal] -> Val -> DecQ) -> Q [Dec]
13 genPR_methods mk_method
14   = do
15-      ClassI (ClassD _ _ _ _ decs) <- reify ''PR
16+      ClassI (ClassD _ _ _ _ decs) _ <- reify ''PR
17       inls <- sequence [inlineD $ mkName $ nameBase name | SigD name _ <- decs]
18       defs <- mapM gen [(name, ty) | SigD name ty <- decs]
19       return $ inls ++ defs
20
21Context:
22
23[Fix bug in last enumFromToUP patch
24Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100724092608
25 Ignore-this: 119cfce68ef3cb068c48069ce430e623
26]
27[Rewrite enumFromToUP to avoid creating join points too early
28Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100724090227
29 Ignore-this: f01189afa600acffd98bf85408b6d8ed
30]
31[Remove bang which got in the way of fusion
32Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100610100954
33 Ignore-this: edd06629d17645124a17266f4208361f
34]
35[Add bang to avoid triggering LiberateCase
36Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100610030902
37 Ignore-this: 635b798cc3d619e69dc38c3f1d33ea
38]
39[Moar inline
40benl@ouroborus.net**20100724074755
41 Ignore-this: 5d5bc5f5d506e16275ef13794277ded
42]
43[Track changes in DPH
44benl@ouroborus.net**20100724053309
45 Ignore-this: becbd12c980cfbd9cab855a6dac4f426
46]
47[Take account of ListT and TupleT in TH.Syntax
48simonpj@microsoft.com**20100721150355
49 Ignore-this: b4f0f2e623a3598510a8fc886a558f42
50]
51[fix a multi-target rule causing failures for 'make -j'
52Simon Marlow <marlowsd@gmail.com>**20100715124926
53 Ignore-this: 6442989fbcc6427b2c1ac295d238b946
54]
55[Remove the -haddock flag from GHC-Options in the Cabal files
56Ian Lynagh <igloo@earth.li>**20100710135950
57 Ignore-this: e453eb49e18a81d8161f94a16bf6cd90
58 We don't know why it was put there before, but can't see a reason for it
59 to be there now
60]
61[Fix median computation in ListDelaunay
62Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100611015014
63 Ignore-this: 8773286d8cf5a66b277423c7c216536e
64]
65[Fix median in delaunay
66Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100611014055
67 Ignore-this: 5804bb076f227ff89a79578a3c8488d1
68]
69[Add fast random number generator for vectors, and wibbles to vector quickhull.
70benl@ouroborus.net**20100610060610
71 Ignore-this: 77459e49683082bd7ad3a299af197299
72]
73[Pack each seg in parallel in vector quickhull
74benl@ouroborus.net**20100610031805
75 Ignore-this: 7e1a4a7e02339c891dccb6f550e373f6
76]
77[Use -msse2 for building benchmarks
78Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609090752
79 Ignore-this: d09a1d75843280351fc1da006eb01815
80]
81[Add support for preallocation to benchmark driver
82Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609090652
83 Ignore-this: 92f8fcd6736a3c2dbb88e4df0a4ea9ca
84]
85[Run the strictness analyser during high-level fusion
86Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609075424
87 Ignore-this: 500eed6ad145229708485641e763aea4
88 
89 This helps a bit with Quickhull and seems to be a good idea in general. There
90 is no way to run the strictness analyser during a phase at the moment, so we
91 add another high-level fusion phase and run the strictness analyser after it.
92]
93[Prune DPH_FLAGS
94Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609075158
95 Ignore-this: d1667492f14f180eed4c2cec1f65f3f8
96 
97 CPR doesn't seem to panic on type families any longer so we don't need
98 -fcpr-off. We always use {-# UNPACK #-} pragmas so -funbox-strict-fields is
99 redundant. I think we needed -funfolding-use-threshold30 for join points but
100 they seem to work ok now.
101]
102[Add a horribly hackish special-case rule for Quickhull
103Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609074857
104 Ignore-this: 9a8ced66852ef23b702d21b613831423
105 
106 This allows us to avoid uselessly filtering the data array of packed in the
107 lifter version of:
108 
109 hsplit :: [:Point:] -> [:Point:]
110 hsplit ... | lengthP packed == 0 = ...
111            | otherwise           = ...
112   where
113     packed = ...
114 
115 This is a very common case so we'll have to think of a nicer and more robust
116 way of doing this.
117]
118[Add a fold_s/replicate -> fold_r rule
119Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609074815
120 Ignore-this: 9ede651a55bfd9213255b300472cd597
121]
122[Replace strict pairs by normal lifted pairs in distributed types
123Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609074417
124 Ignore-this: 376fe76366dff3401e052364f8d1f6cb
125 
126 We use (a,b) instead of (a :*: b) in distributed types now. We will get rid of
127 (a :*: b) altogether once we move to vector so this is a change we'd have to
128 make anyway but happily, it also helps with performance a bit. In particular,
129 it allows us to trigger LiberateCase much less frequently.
130]
131[Implement combineUP in terms of combine2UP
132Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100609074305
133 Ignore-this: 6e9408ec061447985eff1a1da49bce23
134 
135 combineUP isn't actually used anywhere, it's just a legacy function for
136 hand-flattened code. We'll remove it eventually.
137]
138[Introduce a rather baroque caching mechanism for parallel selectors
139Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100608050959
140 Ignore-this: cba4f0754d525177dbbfdc0b842568ff
141]
142[Cache distribution information in parallel selectors
143Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607121911
144 Ignore-this: cd7310c018c346d1cbd4604111028958
145]
146[Add optimisation rules
147Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607085200
148 Ignore-this: ac6515f618b26c031ae994b5a4894a9b
149]
150[Cache distributed segment descriptors
151Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607082614
152 Ignore-this: 9775018aea6e407ce219c43dd00f81df
153]
154[Make combine2 work with selectors
155Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607075714
156 Ignore-this: 46305c36664aff6dbb167607e26addc8
157]
158[Move selectors to the backend where they belong
159Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607052707
160 Ignore-this: baf0b0b4d28af6b2dda90b1e62407dea
161]
162[Fiddle with enum*Each functions
163Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607041040
164 Ignore-this: c57f0f241560fb4f35ac31eb319a297a
165]
166[Needs the -rtsopts
167benl@ouroborus.net**20100609071854
168 Ignore-this: fb21432af40adcd702e962bd706fc29c
169]
170[Add vector version of quickhull to Makefile
171benl@ouroborus.net**20100609071655
172 Ignore-this: a970c5d6a06abbf7f01d923b08f5f94e
173]
174[Add parallel vector version of quickhull
175benl@ouroborus.net**20100609064546
176 Ignore-this: a2914c34074e3a3cbe8b1db98deaa072
177]
178[Don't measure time to create input vector in quickhull vector version (duh)
179benl@ouroborus.net**20100608084248
180 Ignore-this: d0afe59af1605bd7a366ab70b76958b3
181]
182[Added Data.Seq version to QuickHull.hs benchmark
183Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20100607110533
184 Ignore-this: 2ff80d8636535c4c9a82bfbdd0ea692a
185]
186[More delaunay optimisations
187Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607030327
188 Ignore-this: 296cabcc3d59be7ed9435c4e06c160f
189]
190[Optimise delaunay a bit
191Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607012542
192 Ignore-this: e999f9ec0cb021313072ccb583b08652
193]
194[Remove repeatc*
195Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607011228
196 Ignore-this: f2f31e4c667fd7e73fe1529bad19086e
197]
198[Optimise vectorised versions of not, (||) and (&&)
199Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100607010413
200 Ignore-this: 30d39b5c0894db22e7f55dd12d0e98d9
201]
202[Add indexedP and friends
203Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604082849
204 Ignore-this: 916379beab3e42393636b754eaeb33ea
205]
206[Add inline pragmas
207Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604082833
208 Ignore-this: e44096731d2a59092ac7be3b86d52fcd
209]
210[Parallel list version using 'par'
211Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20100607015943
212 Ignore-this: 844de6940859c2d8fbe05510c3ef1cc9
213]
214[Start on Vector version of quickhull
215benl@ouroborus.net**20100604080244
216 Ignore-this: c18e5d0604dc2e4eebb90b88dc007300
217]
218[Add benchmarking version of delaunay
219Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604045414
220 Ignore-this: abb8c2ab312c0c2934cc7535816dcf14
221]
222[Fix bug in delaunay
223Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604044850
224 Ignore-this: b4a3a4352144c9d086ecfc0a09d1f79c
225]
226[Add missing files and svg generation to list delaunay
227Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604020413
228 Ignore-this: 6b8b136a5859887fbbdbc376cac5d3e0
229]
230[First attempt at Delaunay triangulation (doesn't work correctly yet)
231Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005957
232 Ignore-this: 3f293f2b1ec624ebf589d469f518c2a0
233]
234[Add updateP and bpermuteP to the prelude
235Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005642
236 Ignore-this: 774dccbcb8fe9407c5a95a530ed04419
237]
238[Add updatePA and bpermutePA
239Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005632
240 Ignore-this: ce947e6b7fcdea877b0c37d792470d1d
241]
242[Add updatePR and friends
243Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005613
244 Ignore-this: a9fc3831f3b679c694afd8edc5398f47
245]
246[Optimise bpermutePR<PArray a> slightly
247Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005549
248 Ignore-this: 7945acabf55dcd75dbd16c3ce769ff00
249]
250[Fix strictness bug in replicateUP
251Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005435
252 Ignore-this: d230e36d41a37a9309d3b59b0e03407b
253]
254[Add traces
255Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005405
256 Ignore-this: b63a6a3fa39924c61664166ef9b9257
257]
258[Implement slicePA_l
259Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604005318
260 Ignore-this: da7f8a104a89dade3103a90f324ced4b
261]
262[Fix bad bug in replicatePA_l
263Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604004842
264 Ignore-this: cb9afecdd88e372cc28dfd71493bff8a
265]
266[Add interleave{U|UP}
267Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604004647
268 Ignore-this: d59c0898b920ca7568c6ab903a19b80f
269]
270[Fiddle with tracing functions
271Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100604004633
272 Ignore-this: 9356535eb00beb19c8249379b660121
273]
274[Wibbles to C quickhull for Solaris
275benl@ouroborus.net**20100603081658]
276[Add C version of quickhull
277benl@ouroborus.net**20100603064530
278 Ignore-this: a79f4930d69acc37cd6f0a25ab4c4b1f
279]
280[Add some optimisation rules
281Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601040824
282 Ignore-this: 35e119ad0cf4327b145d98e26f2754cf
283]
284[Add seq rules
285Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100601040737
286 Ignore-this: 5eba7dd5cc8ec1d83cbc21b2445ef572
287]
288[Add support for loading data from file to SVG QH
289Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102823
290 Ignore-this: 6ec85062983415f86cc38a77c864d803
291]
292[Fix test data generation for QH
293Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102759
294 Ignore-this: 301137ef4da8e8859cdc19a4b2b0802
295]
296[Add tracing support to TH generators
297Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102730
298 Ignore-this: d6bbbaef3da7ca2e5f3b6b770cf82c66
299]
300[Add a couple of traceFn
301Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102713
302 Ignore-this: 54178ff6f4a7e55af390968e6d573cf7
303]
304[Remove dead code
305Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102707
306 Ignore-this: 938dd9a6a4098fcf8d4befb6c385941e
307]
308[Fix applPR<PArray a>
309Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102650
310 Ignore-this: 5837b3214cdd9b0e4b25bb3dfa3e69c
311]
312[Add plusSegd
313Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102158
314 Ignore-this: c86013c609fed7a36fe9c7b61bf4739b
315]
316[Fix bug in bpermutePR<PArray a>
317Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531102058
318 Ignore-this: ca480eb2274f1821ce2053c33da42f6
319]
320[Add import
321Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531101912
322 Ignore-this: 92d1c2558ee9d130b0cbcd1210f2f6dd
323]
324[Derive Show for EitherS and MaybeS
325Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531101853
326 Ignore-this: 38b1f8a2832290e5c26fea4cf30dd141
327]
328[Test data generator for Quickhull
329Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100531030422
330 Ignore-this: b1d0859102f10f605aaa669fa5a8047c
331]
332[Slight optimisation in Quickhull
333Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527125017
334 Ignore-this: 878607663b66ff6cf4ca4132d957ef66
335]
336[Add rule for zipWith/replicate
337Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527113906
338 Ignore-this: 288797d56cd021aab644321d68a29b93
339]
340[Use -rtsopts when building test cases
341Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090500
342 Ignore-this: 4b12e9cdac3bc68d0a8d5ebd3fbc4957
343]
344[Add a seq/sum rule
345Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090449
346 Ignore-this: 65262e8a3276e85f42e61bfac3904122
347]
348[Fix strictness of various Lifted combinators
349Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090425
350 Ignore-this: b8202211abbf70b5172f1432405169c4
351]
352[Remove unneeded parameters from indices_s
353Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090348
354 Ignore-this: 94c4787875cceec625194f55cbde113f
355]
356[lengthsToSegd is no longer special
357Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090308
358 Ignore-this: ea25a030a950817b9c914da83df8512f
359]
360[Sanitise zipU and unzipU
361Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527090040
362 Ignore-this: 9a2ce34cb5ec4ab8ea7bd733ea754f93
363 
364   * unzipU now return a lazy pair instead of a strict one
365 
366   * There is an unzipU/zipU rule
367 
368   * zip3, zipWith3 and unzip3 are defined in DPH_Interface
369]
370[Make packPA_l strict
371Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100527013343
372 Ignore-this: 936a27213fe2d5a2d78305c5ef4212a
373]
374[Fix load balancing issue with indices_s
375Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100526142534
376 Ignore-this: 14ed7efd6f424bc278b6d394f677307f
377]
378[Fix load balancing bug in segmented sums
379Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100526045732
380 Ignore-this: 3c9a7c5503a6873ad83a3a9b457e5423
381]
382[Add exports
383Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100526045730
384 Ignore-this: 323c60203a8fbaf52838671398800c52
385]
386[Add debugging function
387Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100526045241
388 Ignore-this: d2ba0c5dc44ddaac5ca9a0c7f736d158
389]
390[Rewrite test data generation in quickhull
391Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520033311
392 Ignore-this: 27e4d3550ec5a325b2bcb43e2671c29b
393]
394[Add a seq rule for scanlU (+) 0
395Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520033212
396 Ignore-this: e88e2b5fc5e20e86f6d83104a160dce2
397 
398 This occurs quite frequently when calculating segment descriptors.
399 Nevertheless, it is a hack.
400]
401[Implement parallel lifted append
402Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520033109
403 Ignore-this: 498daad20956c9ced333b5bfb2ee8b7
404 
405 This requires append_s and friends to take the segment descriptor of the
406 result as an additional parameter. This change is also propagated to the
407 Lifted stuff.
408]
409[Implement fold1SUP
410Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520033007
411 Ignore-this: 1756f4381b6150b9b0e10ea805db9045
412]
413[Make replicateSUP produce evenly distributed arrays
414Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032855
415 Ignore-this: b6b59080fad8d2c26f7ea9d0e5481b57
416]
417[Make enumFromStepLenUP more efficient
418Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032736
419 Ignore-this: e2a79caa4610271804a8c188c13d64
420]
421[Make foldUP more efficient at the cost of a slight change in semantics
422Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032504
423 Ignore-this: 28d99d4dc1e3a91dbb947779de83c52
424 
425 We now make no guarantees about how often the neutral element will be used. It
426 really has to be neutral.
427]
428[Fix implementation of repeat_c
429Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032332
430 Ignore-this: 5eb7b3b8478aed749636cef37591c130
431]
432[Add a function for splitting a segment descriptor such that the data array will be evenly distributed
433Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032231
434 Ignore-this: fef8b549c46c64ed37dc79578ab94184
435]
436[Add export
437Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032216
438 Ignore-this: d5cd228f9ba3bc50647b1a8c85710b30
439]
440[Change various functions to use generateD/imapD
441Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520032036
442 Ignore-this: a5d19040c329fd3577443888be08d819
443]
444[Delay inlining unitD
445Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031941
446 Ignore-this: 799c25103f3e947e2684a9c0515b57fe
447]
448[Only inline zipD in phase 0 to give some rules a chance to match in phase 1
449Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031857
450 Ignore-this: 8ef822b396aa22b9a300bd337b401f77
451]
452[New combinators in DistST
453Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031820
454 Ignore-this: b1f96a3bd9d42becf3b908fb325b782c
455]
456[Add RULES for zipU/joinD and zipU/splitJoinD
457Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031627
458 Ignore-this: 288ba16337bba307312fad390f1f593b
459]
460[Completely change how mapD and friends are implemented
461Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031229
462 Ignore-this: a4f65f5b0a89aeda43e43556ea1b6ccf
463 
464 The basic combinators are now
465 
466 generateD :: DT a => Gang -> (Int -> a) -> Dist a
467 imapD :: (DT a, DT b) => Gang -> (Int -> a -> b) -> Dist a -> Dist b
468 
469 The Int argument is the index of the current thread. There is also
470 
471 generateD_cheap :: DT a => Gang -> (Int -> a) -> Dist a
472 
473 which is equivalent to generateD but just runs the computation sequentially.
474]
475[Don't inline scanD
476Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031156
477 Ignore-this: 783981ef0091002230c6f1768904d302
478]
479[Make joinD CONLIKE
480Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520031029
481 Ignore-this: 60b0377193574586a05c6540d6a44867
482]
483[Manually eta-expand mapUP
484Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030910
485 Ignore-this: 1b8dcb9c5574fa8e8629c0a7e68db63c
486]
487[Fix and use enumFromToEachUP
488Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030805
489 Ignore-this: 8e0f34bcbfb94d0be5aab19f0f06ded9
490]
491[Export more stuff
492Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030641
493 Ignore-this: 8f31ba50b3a3fadc280820e575f6e4e1
494]
495[Add dependency
496Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030617
497 Ignore-this: f233a2c849cf4f12598cf798d940ee71
498]
499[Tracing for gangs
500Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030522
501 Ignore-this: fff051a02b1703b961a0406bf5aaec42
502]
503[Add tracing facilities to Dist
504Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030420
505 Ignore-this: 356d1f2d3adbc02e5f53a9e2e7e5fb49
506]
507[Use divInt, modInt etc.
508Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100520030118
509 Ignore-this: 35b1d6929ba08e9489d815c723b944ac
510]
511[Refactoring to avoid making splitJoinD a loop breaker
512Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100506101316
513 Ignore-this: 10a3598c1283fe9b1b0baaaadb817456
514]
515[Add bangs
516Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100506101112
517 Ignore-this: 710e9c655b5d74cf8b8ab2b6ee05e89a
518]
519[Remove sequential gangs
520Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329091103
521 Ignore-this: 4963509259f6e3faf1cfe5bca29174fd
522]
523[Build system: Fix use of "rm" variables
524Ian Lynagh <igloo@earth.li>**20100508190442]
525[Add fftS to harness
526benl@ouroborus.net**20100401114324
527 Ignore-this: d5f4623e2088889830f507ba1a20284
528]
529[Fix bugs in FFT benchmark
530benl@ouroborus.net**20100401111846
531 Ignore-this: c23095e3ebe421fa1830e4a572d90325
532 
533 You can also now say
534    seq/fft check
535 
536   and it will do a 1d transform of a step function,
537   with both the FFT kernel and a DFT.
538]
539[Print checksums of resulting matrices in mmult examples
540benl@ouroborus.net**20100401054701
541 Ignore-this: c5bdd3e2b172c9b5d865e18e685dda54
542]
543[Add to mmult C harness
544benl@ouroborus.net**20100401041910
545 Ignore-this: 4256f3b6e69322314093c5574241bebb
546 You can generate random matrices with -random, then save them
547 to file with -ddumpinput. Load them back up with the Haskell
548 version and check the output is the same.
549]
550[Hacks to C mmult
551benl@ouroborus.net**20100401023501
552 Ignore-this: bb57e9b7743d1bf3bb13f35b86195ac8
553]
554[Faster generation of random matrices for mmult
555benl@ouroborus.net**20100401020601
556 Ignore-this: fedc04ef2cd513c269a42b111ded039e
557]
558[Start on C ver of mmult
559benl@ouroborus.net**20100401020117
560 Ignore-this: 246ab7e37b5f9af789c95b3fd5fe0790
561]
562[Split useful stuff out of C version of Laplace, and add to Makefile
563benl@ouroborus.net**20100401012135
564 Ignore-this: dca4454dc55aac292578d9e0cd5524bf
565]
566[Add DArray versions of mmult
567benl@ouroborus.net**20100401010209
568 Ignore-this: 3920c035c2cd94c3763b45bd052b9471
569]
570[Add version of mmMult using traverse
571benl@ouroborus.net**20100401004314
572 Ignore-this: 8910ad07bd5b8dd1a2381560ae350a7
573]
574[Add to mmult harness
575benl@ouroborus.net**20100401003102
576 Ignore-this: 5c66680f99cc8cbb0215c584a84a0642
577]
578[More fft
579Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331115020
580 Ignore-this: 33708bbfb8cb1ef5e3d476913f6856e6
581]
582[Added Any, test for fft
583keller@cse.unsw.edu.au**20100331114358
584 Ignore-this: 89c55ea6722b1e04ed0c10b0b36f03e5
585]
586[Add to mmult harness, it'll read matrices from file but not write them back yet
587benl@ouroborus.net**20100331105056
588 Ignore-this: f7c7b03c35f25aadef1eea1243403528
589]
590[CArray version of fft
591Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331102615
592 Ignore-this: 426ce80b8aefbf06ac2368ce12d013e3
593]
594[More CArray ops
595Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331102552
596 Ignore-this: fe00b3afa18cabdd3e85e7aaaca40b14
597]
598[Add a couple of CArray ops
599Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331100011
600 Ignore-this: 67270a0d27112f1d33073a7a0d9d6679
601]
602[Start on CArray mmult harness
603benl@ouroborus.net**20100331085817
604 Ignore-this: 1ea3995dbfae8b6774e4834f92937e23
605]
606['port across more stuff from DArray into CArray
607benl@ouroborus.net**20100331085530
608 Ignore-this: b7bc5c68429ca81f4f87d4eb90b42057
609]
610[Add replicateSlice
611benl@ouroborus.net**20100331073634
612 Ignore-this: 4c296dc59ba51973c59a3be162472f41
613]
614[Add transpose and backpermute
615benl@ouroborus.net**20100331073049
616 Ignore-this: 3afc1b5af2f9f63f1fa3851f12678d88
617]
618[Cleanup and nicer version of traverseCArray
619benl@ouroborus.net**20100331072637
620 Ignore-this: 7ab5e747fd4628f3565601a54b9d54c9
621]
622[Fix traverseCArray
623benl@ouroborus.net**20100331063841
624 Ignore-this: bbee180c2dd50459d65e062c85fd9fc4
625]
626[Hacks to SolveCArray (makes it slower, not finished)
627benl@ouroborus.net**20100331062238
628 Ignore-this: 91ded97981c918bbfd47e6564a381536
629]
630[Moving to Slice def of paper
631keller@cse.unsw.edu.au**20100331050927
632 Ignore-this: 31a58e367d4eb91508424e5b5b2a0cba
633]
634[Changing over to Slice type family from Index
635keller@cse.unsw.edu.au**20100331040756
636 Ignore-this: 3a107e50fd1a1ee794712e59c8925095
637]
638[Add benchmarking code to C laplace solver
639Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331034942
640 Ignore-this: bb02f3c49a079d34fbb6344a90e86474
641]
642[Changed DArray, ArrayExamples, DArrayExamples to work with new shape type
643keller@cse.unsw.edu.au**20100331030850
644 Ignore-this: 86765616a16574862cad289b0eca5716
645]
646[Use Int indexing instead of (Int, Int) in IOUArray version of Laplace benchmark
647benl@ouroborus.net**20100331030021
648 Ignore-this: 56637da63ec3b24119edf2f09af01965
649 Makes it go about 2x faster.
650]
651[Output compute time in laplace
652Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331014233
653 Ignore-this: f3335aeedc446875321dfebe55716f13
654]
655[Add deepSeqArray
656Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100331014220
657 Ignore-this: 2f97016b12cf874ad6e63e3610431b49
658]
659[formatting only
660benl@ouroborus.net**20100330093458
661 Ignore-this: 7f9ad629db498ae1a102d499a9804a4f
662]
663[Add first cut version of Laplace solver using IOUArrays
664benl@ouroborus.net**20100330070409
665 Ignore-this: 86689321be2307a7f9a78adae1d81386
666 It's about 3x slower than carrays atm, but I'm still working on it...
667]
668[wibble to traverseCArray
669benl@ouroborus.net**20100330040350
670 Ignore-this: dd9d10f64782192ab1f8f082c2605a36
671]
672[Add traverseCArray and use it in Laplace benchmark
673benl@ouroborus.net**20100330034235
674 Ignore-this: 5e60afd64015d1368bbb70551f616817
675]
676[Add more laplace example data
677benl@ouroborus.net**20100330023410
678 Ignore-this: a54053da470b6b4ff100af1985df661b
679]
680[Refactor C version of Laplace benchmark to allow non-square matrices
681benl@ouroborus.net**20100329233732
682 Ignore-this: 413717d26b68be2d538eb28bc278540f
683]
684[Make Haskell version of Laplace benchmark take PPM file of boundary conditions
685benl@ouroborus.net**20100329075017
686 Ignore-this: c86f8aedcf93ae41bb223565030d0827
687 
688 New cmd line usage is like:
689   laplace carray-stencil 10000 examples/laplace/data/pls-100x100.ppm out.ppm
690 
691 More example data is in regularArrays/examples/laplace/data
692]
693[Refactor laplace solvers slightly
694Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329050620
695 Ignore-this: 79bf60d804a73c62934e976844905183
696]
697[Fix strictness of various functions in CArray
698Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329045057
699 Ignore-this: 66ac2774b5b34dc00e35437cdc08f2c5
700]
701[Save one remInt in fromIndex
702Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329045038
703 Ignore-this: ce4f536d76d3bca3a4cd43a29b99c0be
704]
705[seq/deepSeq stuff when constructing DArrays
706Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329040837
707 Ignore-this: f0d164d6404cde1493f31f15cc252a6c
708]
709[Give deepSeq a fixity
710Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329040823
711 Ignore-this: ec74bc3a12d80e438920aad551ebe2fd
712]
713[Fix typo
714Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329040214
715 Ignore-this: cda74c593820ad124cbf275a00270954
716]
717[Change shapes to use (.:) instead of (:*:)
718Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329031307
719 Ignore-this: 5078841cec86654108161556915eaf2
720]
721[Remove superclass constraints on Shape
722Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329025622
723 Ignore-this: 9ddd70fa7aedb93bd2954d876abb22f7
724]
725[Get rid of range
726Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329025149
727 Ignore-this: c8a077c226dca6113b773f8c4fa355a4
728]
729[Add deepSeq on Ranges
730Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329025137
731 Ignore-this: 5e7c7388e5f19c7187595735489baad4
732]
733[Use quotRemInt instead of divMod
734Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329023646
735 Ignore-this: 4a32242ae06f562e25fd75c3dc5a28f2
736]
737[Use regular folds
738Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100329023600
739 Ignore-this: c5e35008ce3a30b91277eddb2ebc9cde
740]
741[Add replicate_rs/replicate rule
742Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100302125335
743 Ignore-this: c7e43a6b8eb32c549812b76c0172af24
744]
745[Modify and export regular folds
746Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100302125248
747 Ignore-this: d08eb16da95eab86295bfb838b5d330c
748]
749[Add comments to SolveDArray
750benl@ouroborus.net**20100326062422
751 Ignore-this: 1adcd2792d90b9f3e013c1744884ba42
752 Converting back and forth between DArray and Array allows
753 the indexing function that reads the forced data at the start of
754 each iteration to be fused with the stencil function.
755 
756 This achieves the same thing as CArray, but by using two
757 different array types instead of an Either.
758]
759[Cleanup and add more inline pragmas
760benl@ouroborus.net**20100326051908
761 Ignore-this: 111ae593b57d1b186c5095439510005e
762]
763[Add Laplace benchmark to Makefile
764benl@ouroborus.net**20100326043934
765 Ignore-this: a51d3d8a613331977b00dcdfc1b0c443
766]
767[Add version of CArray that uses a flat unboxed DIM type
768benl@ouroborus.net**20100326040408
769 Ignore-this: 837b7ffadda49ef3a3146ca0b15b8445
770]
771[Add support for default to sequential execution if the gang is busy
772Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100325111057
773 Ignore-this: ee508be96783a4e557ed829c4ac29adc
774 
775 To enable, uncomment the #define SEQ_IF_GANG_BUSY line in Gang.hs. Let's see
776 if this works out before making it more convenient.
777]
778[Fix comment
779Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100325110031
780 Ignore-this: 36f3ddf2f7e8089c25b89151542d043
781]
782[Change Gang representation slightly
783Roman Leshchinskiy <rl@cse.unsw.edu.au>**20100325110007
784 Ignore-this: feda29fe618595236648994786207a12
785]
786[Inline forcing function makes CArray about 40% faster than DArray for Laplace benchmark
787benl@ouroborus.net**20100325231409
788 Ignore-this: db682a96080f22544881216205992cf6
789]
790[Start on Cached Array (CArray) version of Laplace example
791benl@ouroborus.net**20100325065819
792 Ignore-this: 9ef78479283cd8507a71f217a33c3cb7
793]
794[Add boundary conditions back to specialised version
795benl@ouroborus.net**20100325043932
796 Ignore-this: ece952d3d0b3190a817cdb5a80f6acae
797]
798[Add a version of Laplace with a specialised solver loop
799benl@ouroborus.net**20100325040116
800 Ignore-this: 39b526c16990e9ca22232d1705d37cbf
801]
802[Formatting only
803benl@ouroborus.net**20100325015116
804 Ignore-this: d9db1353bc1afcdbdbbd956eaaa6c85c
805]
806[Added proper impl of relaxMS
807keller@cse.unsw.edu.au**20100325024252
808 Ignore-this: 750c5985d3bb1d67812787d02531075e
809]
810[Add DArray stencil version of Laplace example
811benl@ouroborus.net**20100325014915
812 Ignore-this: 924c9b200e86c3df460a20868f2d9cb3
813]
814[Fix bugs in existing relaxation fns. ((/) 5) /= (/ 5)
815benl@ouroborus.net**20100325004157
816 Ignore-this: c90603933c822bc9bd8da2b87ab5e1e5
817]
818[Add array-backpermute version to Laplace example
819benl@ouroborus.net**20100325003910
820 Ignore-this: 3a6903677782ffab695d720d2204a385
821]
822[Make C and Haskell versions of Laplace example behave the same way, and give same result.
823benl@ouroborus.net**20100324233224
824 Ignore-this: 46ab573eda54cc7ff347d1437407e97b
825]
826[Cleanup Laplace examples, and make them take the same cmd line args.
827benl@ouroborus.net**20100324231021
828 Ignore-this: cbd5d971e7b84b92162d3d10c229c37
829]
830[Add C version of Laplace benchmark
831benl@ouroborus.net**20100324075353
832 Ignore-this: 485c6560a04f3fdf114b072d529013d6
833]
834[Add DArray version of laplace solver
835benl@ouroborus.net**20100324065749
836 Ignore-this: 5a6f87085148a3c4ef80140510398f2a
837]
838[Split out solver into its own module
839benl@ouroborus.net**20100324062842
840 Ignore-this: 7a08b57be9eea55aca3982b5b593987
841]
842[Make laplace example take cmd line args, and don't use lists in PPM output.
843benl@ouroborus.net**20100324060650
844 Ignore-this: f985a88f31517d6cd7df097064d522b6
845]
846[Add example solver for the Laplace equation
847benl@ouroborus.net**20100324051729
848 Ignore-this: cb782254639e65ba6f22c98d47a02f6f
849]
850[Add words benchmark to Makefile
851benl@ouroborus.net**20100324043403
852 Ignore-this: e35fe4c65bf7a028dddf66286ec0ac06
853]
854[Comment wibble
855benl@ouroborus.net**20100316032138
856 Ignore-this: 8719649c1fb8f1b5764c5e6c7a84db5d
857]
858[Add helpful error messages
859benl@ouroborus.net**20100316031259
860 Ignore-this: 48920b021c6e60f2100bdf9f2daa66c9
861 If fromPArrayP, toPArrayP and fromNestedPArrayP appears in non-vectorised
862 code then say that's not possible, instead of just calling undefined.
863]
864[Add sliceP combinator
865benl@ouroborus.net**20100316031240
866 Ignore-this: 5072fc7fea42e1158028b3034bc2b60b
867]
868[Comments only
869benl@ouroborus.net**20100316031125
870 Ignore-this: 5a2a052fff2397bd4544fd14260833eb
871]
872[Comments only
873benl@ouroborus.net**20100311044326
874 Ignore-this: cf747e29995648e2bb0bdc401402a19e
875]
876[Removed changes to circumvent core lint error (seems fixed in curr comp version)
877keller@cse.unsw.edu.au**20100304015818
878 Ignore-this: a0193f219a316d53c96aad608cb6fe39
879]
880[Cleanup
881keller@cse.unsw.edu.au**20100304012041
882 Ignore-this: 444c456771942affc816d1da82186f88
883]
884[Added snd FFT algorithm
885keller@cse.unsw.edu.au**20100202034424
886 Ignore-this: c83b5320e37064ab1a7102a88965c12f
887]
888[Tested & Imporved examples
889keller@cse.unsw.edu.au**20100201032008
890 Ignore-this: 5d61494e203769ef36b324859d2ece44
891]
892[Cleaned up code for reglib
893keller@cse.unsw.edu.au**20100112012848
894 Ignore-this: 459439da1535a045c454d8b80d2fc960
895]
896[Fix warnings
897benl@ouroborus.net**20100225015725]
898[Add version of quickhull that prints an SVG of the computed hull
899benl@ouroborus.net**20100224063443
900 Ignore-this: 174993a23be813c11f8d13d7551912e
901]
902[Add missing export for 'toList'
903benl@ouroborus.net**20100224052949
904 Ignore-this: 5c128034b1d90f0b11092240d2c528
905]
906[Fix typo in Makefile
907Ben.Lippmeier@anu.edu.au**20100215060948]
908[Add GHC.Exts.traceEvent to delimit benchmark payload
909Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20100215030640
910 Ignore-this: e416f76f0750e14b5797b19c08150e7a
911]
912[add dependencies on the dph-prim GHCi lib for modules with TH/annotations
913Simon Marlow <marlowsd@gmail.com>**20100103231102
914 Ignore-this: 551dd8ff2bec4058120d6b34657229cb
915 fixes failure with make -j
916]
917[Remove packPR and friends
918Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091112070825
919 Ignore-this: c91c8b3437a2f602a7f5bb59659aca3a
920 
921 We use packByTagPR instead
922]
923[Fix a race in the build system
924Ian Lynagh <igloo@earth.li>**20091119001415
925 We could try to build
926     Data/Array/Parallel/Lifted/Repr.dyn_o
927 before
928     Data/Array/Parallel/Lifted/TH/Repr.o
929 is built, leading to a failure when trying to load the latter in order
930 to run a TH splice.
931]
932[Add seq rule for count
933Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110150740
934 Ignore-this: c3a2486033f7a6064cf0a6cb2a5d4caa
935]
936[Move lengthsToSegd to the common interface file
937Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110150715
938 Ignore-this: 92829cacf1fe243b169235310efc74c9
939]
940[Better handling of selectors
941Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110150654
942 Ignore-this: be5666dd6f64ef2449948d7c4c9323fb
943]
944[Delete dead code
945Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110150639
946 Ignore-this: 47cc7893959e7b2799de20016258e644
947]
948[Refactoring
949Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110150345
950 Ignore-this: ec7c2859ac7109b1deed6084038e579b
951]
952[Add appBU
953Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091110145726
954 Ignore-this: a8e291812e6dd27bdecb3b35a9c80a23
955]
956[Use combine2ByTag instead of combine2
957Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109145345
958 Ignore-this: f03031a30926a40cc9a4d1c7d6911edc
959]
960[Add combine2ByTagUP
961Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109145337
962 Ignore-this: d4b842c282dee007a9617e57d2662293
963]
964[Export combine2ByTag from backends
965Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109144119
966 Ignore-this: c816541c3ffc78b0c5a052b28b45f9c5
967]
968[Merge Prim with Scalar
969Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109131705
970 Ignore-this: 7df2708a215e9f35789d9cd1857e85d2
971]
972[Use TH to generate instance PR (Wrap a)
973Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109124422
974 Ignore-this: acc9a1f40a99e6b2a1248669552bfe11
975]
976[Use TH to generate instance PR ()
977Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109121211
978 Ignore-this: 370a6880ef13fd48b3d59b2f53a418b6
979]
980[Use TH to generate instance PR Void
981Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109115501
982 Ignore-this: cd94f49d7d09b93da060ac37a9ee8337
983]
984[Use TH to generate PR instances for tuples and primitive types
985Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109114425
986 Ignore-this: 88f5e0293108126ebe006b8b73d9dd6e
987 
988 We now derive the implementation of every PR method from that method's type.
989]
990[Class of primitive types with conversions PData a <-> UArr a
991Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109114141
992 Ignore-this: 3a4f2faeea5a85e70dcbeef27803b265
993]
994[Use TH to generate PR instances for tuples
995Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091106035255
996 Ignore-this: bd68310e7d0ede9b8c18a35850a00571
997]
998[Another module for Gabi
999Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109025123
1000 Ignore-this: e74e6c32f40accddd5df4554705843ee
1001]
1002[Add hacky module for Gabi
1003Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091109024833
1004 Ignore-this: e7c1e0ece9408b02248a27517245a77e
1005]
1006[REDO: Annotation PData and PArray with NoSpecConstr
1007Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091104115250
1008 Ignore-this: 7350462330f95139b3ab708c124f22e1
1009]
1010[Make sure the build system picks up changes in dph-common.cabal
1011Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091104012417
1012 Ignore-this: ee5d7e59b872472838bbb0f540d35af6
1013]
1014[Don't define certain targets if we are cleaning
1015Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091104005705
1016 Ignore-this: 7921dc27b27ba566bb766bf6f5671fea
1017]
1018[Remove Makefile
1019Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091104004921
1020 Ignore-this: 72beb7c2ab25e692fb571cfdbe9d34b
1021 
1022 This was an old file I forgot to remove, we have GNUMakefile instead.
1023]
1024[Make fromBool and toBool monomorphic
1025Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091102130032
1026 Ignore-this: 6ef4adc98548a2247bcb65dd3fa2fd0a
1027 
1028 They weren't getting inlined otherwise. Big performance ouch: this change
1029 makes sequential Quickhull about 30% faster.
1030]
1031[Fiddle with strictness and reboxing
1032Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091102125823
1033 Ignore-this: 5eaca6eba6d073876c0228afc1d0562
1034 
1035 This speeds up Quickhull by quite a bit
1036]
1037[Move tracing functions from dph-common to dph-base
1038Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091102125709
1039 Ignore-this: d4c14d1bc9744d053683662b107244a0
1040]
1041[UNDO: Annotation PData and PArray with NoSpecConstr
1042Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091030122015
1043 Ignore-this: 387e94c18a74a56767a23bdd8e718641
1044 
1045 I didn't mean to push this.
1046 
1047 rolling back:
1048 
1049 Fri Oct 30 11:13:16 EST 2009  Roman Leshchinskiy <rl@cse.unsw.edu.au>
1050   * Annotation PData and PArray with NoSpecConstr
1051 
1052     M ./dph-common/Data/Array/Parallel/Lifted/PArray.hs +3
1053     M ./dph-common/dph-common.cabal -1 +1
1054]
1055[Annotation PData and PArray with NoSpecConstr
1056Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091030001316
1057 Ignore-this: aab24cb629461b738d30f5328c81824
1058]
1059[Use comprehensions but no new types in Quickhull
1060Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091030014719
1061 Ignore-this: 76a11f5d5aa0c4d1a906fee18db44ce2
1062]
1063[Add combine2ByTagU
1064Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029134950
1065 Ignore-this: c79264cf11711d3f66aa98adfd51a780
1066]
1067[Trace all stream-based loops
1068Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029134356
1069 Ignore-this: a80c372f14b4ef0394aa7629df3d25c8
1070 
1071 We extend the stream data type with an additional String which says how the
1072 stream was produced:
1073 
1074   data Stream a = forall s. Stream ... String
1075 
1076 Now, whenever we create or transform a stream we record the function that did
1077 it:
1078 
1079   replicateS n x = Stream ... (sNoArgs "replicateS")
1080   mapS f (Stream ... c) = Stream ... ("mapS" `sArgs` c)
1081 
1082 Real loops that actually consume streams pass this string to dtrace. The
1083 somewhat funny sNoArgs/sArgs setup is because I want to use ByteStrings
1084 instead of Strings eventually and hope that GHC will be able to just create
1085 big string literals instead of concatenating lots of small ones.
1086]
1087[Add dtrace lib
1088Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029134249
1089 Ignore-this: 23db7d80d1bb4a7c7d8b4fa71689782a
1090]
1091[Add experimental support for dtrace-based profiling
1092Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029132913
1093 Ignore-this: e181d0b68515ae777541818bfcc25167
1094 
1095 This is rather hackish at the moment but here is how it works (on OS X only).
1096 We manually build libdph-trace.dylib, manually edit Extra-Lib-Dirs in
1097 dph-base.cabal to point to it, manually turn on the DTrace flag and rebuild
1098 DPH from scratch (as in rm */dist-install; make stage=2). Then, we build an
1099 example and run it as follows:
1100 
1101   sudo dtrace -c './seq/quickhull 100000' -s loop-profile.d
1102 
1103 This should produce a table which shows how much time is spent in which loops.
1104]
1105[Evaluate tags in interface def
1106Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029001339
1107 Ignore-this: 2264848e7a55024cdf508d48f2a9d662
1108]
1109[More tracing
1110Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091029001254
1111 Ignore-this: b8179fb5c291d2384aa5b4b6472dc327
1112]
1113[Fix bug in enumFromStepLenEachUP
1114Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091028100020
1115 Ignore-this: e2509c652e31db729edf239006beffc8
1116]
1117[Make lengthsToSegd CONLIKE for now
1118Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091021020244
1119 Ignore-this: 3bf3adcfd94f697267960ac8539772f5
1120]
1121[Add imports
1122Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091021020227
1123 Ignore-this: a3390275cd94636fd1dae668e9e16f7
1124]
1125[Add count_s
1126Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091021020144
1127 Ignore-this: d5c06e295bfe5f4b718377230a11d8dd
1128]
1129[Fiddle with inline phases
1130Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091021020115
1131 Ignore-this: 83b85df26b66e457bb79306372d84c39
1132]
1133[Add and use packByTag
1134Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091021015927
1135 Ignore-this: f5b2e5e022fb8a7f38f8800786a987d0
1136]
1137[Add INLINE pragma
1138Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091020124906
1139 Ignore-this: ee7d8f4c569cb1f20a97faa0863ece82
1140]
1141[Small optimisation
1142Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091016025945
1143 Ignore-this: 89c60ec37742613b0946cf2986f709a1
1144]
1145[Add some NOINLINE pragmas
1146Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091016025207
1147 Ignore-this: 26d2fd0d48ec01108ee2bf494f573abf
1148]
1149[Fix nasty bug in selector replication
1150Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091016024510
1151 Ignore-this: fd0a03f7df97f450492bfcc51f8dedb
1152]
1153[Move code and clean up
1154Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091015055456
1155 Ignore-this: c33d837895709ce831b63673d6b7e375
1156]
1157[Make PA and PR type classes instead of records
1158Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091015030407
1159 Ignore-this: c926b32827ef987bf8935634f99d9041
1160 
1161 This is a big change in preparation for Simon's inline patch.
1162]
1163[Use -dcore-lint when building examples
1164Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091015030344
1165 Ignore-this: 73bebf06860cb5600b9e6e5a3933294d
1166]
1167[Added SAC examples
1168keller@cse.unsw.edu.au**20091013092832
1169 Ignore-this: e375b72f3b4528fafdc9bdbfb2524bbe
1170]
1171[Turn off reboxing hack
1172Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821053213
1173 Ignore-this: 2e9beb49d88a713c0465a7c3226503be
1174 
1175 It seems to expose a bug in the new inliner which I have to investigate. I
1176 suspect the hack isn't needed any more since SpecConstr has got significantly
1177 smarter since I implemented it.
1178]
1179[Make sure GHC can figure out strictness of replicateSU
1180Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821053154
1181 Ignore-this: ec85af7db4e44499c2d0e605339dee8b
1182]
1183[Fix bug in reboxing code
1184Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821052958
1185 Ignore-this: 3fde53f83574090c22593cac051fc13e
1186]
1187[Add repeat/enumFromStepLen fusion rule
1188Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821052538
1189 Ignore-this: a881c87ad32aeb09593e6e95bdfe8125
1190]
1191[Fix strictness
1192Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821052509
1193 Ignore-this: 86d636fc7040d6040e99c2c2a461350
1194]
1195[Fix strictness of bpermuteUS
1196Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821051629
1197 Ignore-this: 250b0b8b7aa585bc02d5a42401ad9410
1198]
1199[Add regular segmented replicate
1200Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090821024638
1201 Ignore-this: a1c917d35d7ec838296f779bfd1ece53
1202]
1203[Fix "Cabal check" warnings
1204Ian Lynagh <igloo@earth.li>**20090811215901]
1205[Added dummy module (Foo.hs) to circumvent buildsys problem
1206keller@cse.unsw.edu.au**20090811044615
1207 Ignore-this: 8aa7a31a6c1784db125e431e3180d89a
1208]
1209[Fixed dependencies in makefile
1210keller@cse.unsw.edu.au**20090811044257
1211 Ignore-this: 615aa132febc0c08a29952181640ba58
1212]
1213[Fixed hierarchical matrices
1214keller@cse.unsw.edu.au**20090811043349
1215 Ignore-this: da1d4665e09b5000670cde9baf09fda
1216]
1217[Hierarchical array multiplication
1218keller@cse.unsw.edu.au**20090730031132
1219 Ignore-this: 612778dccfec36abe97626164a3d8012
1220]
1221[Added delayed array evaluation
1222keller@cse.unsw.edu.au**20090730031051
1223 Ignore-this: 5abb7f95e492ffcce84b86ad5293fde
1224]
1225[Generation of test values outside of benchmakr
1226keller@cse.unsw.edu.au**20090721055449
1227 Ignore-this: 909d3525aeac2499c3eed8de54a2c417
1228]
1229[Added missing test file for regular arrays
1230keller@cse.unsw.edu.au**20090721045125
1231 Ignore-this: f13653e8df6cedd790e44ce15fc11c76
1232]
1233[Added regular array operations & examples
1234keller@cse.unsw.edu.au**20090721012005
1235 Ignore-this: 5b7dd122773cf9e2c3a9df1e694f4963
1236]
1237[Fix dotp and smvm
1238Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090720044406
1239 Ignore-this: a949a03d42cdde21b6b21bc00ba880e5
1240]
1241[Added default backpermute
1242keller@cse.unsw.edu.au**20090719112306
1243 Ignore-this: bbb50aef74759425a70135a4eb860d17
1244]
1245[Add missing file
1246Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090713044642
1247 Ignore-this: caf259867a8c209f830bb1e6137bf477
1248]
1249[Separate length from data in array representation
1250Roman Leshchinskiy <rl@cse.unsw.edu.au>**20090713044435
1251 Ignore-this: fedf53fbfbcf9674dc2ccde262eb1579
1252]
1253[TAG 2009-06-25
1254Ian Lynagh <igloo@earth.li>**20090625160239]
1255Patch bundle hash:
12562829a230713e99f0a471df70d276332b3eaf3490