Roman Leshchinskiy [Mon, 7 Jun 2010 07:57:14 +0000 (07:57 +0000)]
Make combine2 work with selectors
Roman Leshchinskiy [Mon, 7 Jun 2010 05:27:07 +0000 (05:27 +0000)]
Move selectors to the backend where they belong
Roman Leshchinskiy [Mon, 7 Jun 2010 04:10:40 +0000 (04:10 +0000)]
Fiddle with enum*Each functions
benl@ouroborus.net [Wed, 9 Jun 2010 07:18:54 +0000 (07:18 +0000)]
Needs the -rtsopts
benl@ouroborus.net [Wed, 9 Jun 2010 07:16:55 +0000 (07:16 +0000)]
Add vector version of quickhull to Makefile
benl@ouroborus.net [Wed, 9 Jun 2010 06:45:46 +0000 (06:45 +0000)]
Add parallel vector version of quickhull
benl@ouroborus.net [Tue, 8 Jun 2010 08:42:48 +0000 (08:42 +0000)]
Don't measure time to create input vector in quickhull vector version (duh)
Manuel M T Chakravarty [Mon, 7 Jun 2010 11:05:33 +0000 (11:05 +0000)]
Added Data.Seq version to QuickHull.hs benchmark
Roman Leshchinskiy [Mon, 7 Jun 2010 03:03:27 +0000 (03:03 +0000)]
More delaunay optimisations
Roman Leshchinskiy [Mon, 7 Jun 2010 01:25:42 +0000 (01:25 +0000)]
Optimise delaunay a bit
Roman Leshchinskiy [Mon, 7 Jun 2010 01:12:28 +0000 (01:12 +0000)]
Remove repeatc*
Roman Leshchinskiy [Mon, 7 Jun 2010 01:04:13 +0000 (01:04 +0000)]
Optimise vectorised versions of not, (||) and (&&)
Roman Leshchinskiy [Fri, 4 Jun 2010 08:28:49 +0000 (08:28 +0000)]
Add indexedP and friends
Roman Leshchinskiy [Fri, 4 Jun 2010 08:28:33 +0000 (08:28 +0000)]
Add inline pragmas
Manuel M T Chakravarty [Mon, 7 Jun 2010 01:59:43 +0000 (01:59 +0000)]
Parallel list version using 'par'
benl@ouroborus.net [Fri, 4 Jun 2010 08:02:44 +0000 (08:02 +0000)]
Start on Vector version of quickhull
Roman Leshchinskiy [Fri, 4 Jun 2010 04:54:14 +0000 (04:54 +0000)]
Add benchmarking version of delaunay
Roman Leshchinskiy [Fri, 4 Jun 2010 04:48:50 +0000 (04:48 +0000)]
Fix bug in delaunay
Roman Leshchinskiy [Fri, 4 Jun 2010 02:04:13 +0000 (02:04 +0000)]
Add missing files and svg generation to list delaunay
Roman Leshchinskiy [Fri, 4 Jun 2010 00:59:57 +0000 (00:59 +0000)]
First attempt at Delaunay triangulation (doesn't work correctly yet)
Roman Leshchinskiy [Fri, 4 Jun 2010 00:56:42 +0000 (00:56 +0000)]
Add updateP and bpermuteP to the prelude
Roman Leshchinskiy [Fri, 4 Jun 2010 00:56:32 +0000 (00:56 +0000)]
Add updatePA and bpermutePA
Roman Leshchinskiy [Fri, 4 Jun 2010 00:56:13 +0000 (00:56 +0000)]
Add updatePR and friends
Roman Leshchinskiy [Fri, 4 Jun 2010 00:55:49 +0000 (00:55 +0000)]
Optimise bpermutePR<PArray a> slightly
Roman Leshchinskiy [Fri, 4 Jun 2010 00:54:35 +0000 (00:54 +0000)]
Fix strictness bug in replicateUP
Roman Leshchinskiy [Fri, 4 Jun 2010 00:54:05 +0000 (00:54 +0000)]
Add traces
Roman Leshchinskiy [Fri, 4 Jun 2010 00:53:18 +0000 (00:53 +0000)]
Implement slicePA_l
Roman Leshchinskiy [Fri, 4 Jun 2010 00:48:42 +0000 (00:48 +0000)]
Fix bad bug in replicatePA_l
Roman Leshchinskiy [Fri, 4 Jun 2010 00:46:47 +0000 (00:46 +0000)]
Add interleave{U|UP}
Roman Leshchinskiy [Fri, 4 Jun 2010 00:46:33 +0000 (00:46 +0000)]
Fiddle with tracing functions
benl@ouroborus.net [Thu, 3 Jun 2010 08:16:58 +0000 (08:16 +0000)]
Wibbles to C quickhull for Solaris
benl@ouroborus.net [Thu, 3 Jun 2010 06:45:30 +0000 (06:45 +0000)]
Add C version of quickhull
Roman Leshchinskiy [Tue, 1 Jun 2010 04:08:24 +0000 (04:08 +0000)]
Add some optimisation rules
Roman Leshchinskiy [Tue, 1 Jun 2010 04:07:37 +0000 (04:07 +0000)]
Add seq rules
Roman Leshchinskiy [Mon, 31 May 2010 10:28:23 +0000 (10:28 +0000)]
Add support for loading data from file to SVG QH
Roman Leshchinskiy [Mon, 31 May 2010 10:27:59 +0000 (10:27 +0000)]
Fix test data generation for QH
Roman Leshchinskiy [Mon, 31 May 2010 10:27:30 +0000 (10:27 +0000)]
Add tracing support to TH generators
Roman Leshchinskiy [Mon, 31 May 2010 10:27:13 +0000 (10:27 +0000)]
Add a couple of traceFn
Roman Leshchinskiy [Mon, 31 May 2010 10:27:07 +0000 (10:27 +0000)]
Remove dead code
Roman Leshchinskiy [Mon, 31 May 2010 10:26:50 +0000 (10:26 +0000)]
Fix applPR<PArray a>
Roman Leshchinskiy [Mon, 31 May 2010 10:21:58 +0000 (10:21 +0000)]
Add plusSegd
Roman Leshchinskiy [Mon, 31 May 2010 10:20:58 +0000 (10:20 +0000)]
Fix bug in bpermutePR<PArray a>
Roman Leshchinskiy [Mon, 31 May 2010 10:19:12 +0000 (10:19 +0000)]
Add import
Roman Leshchinskiy [Mon, 31 May 2010 10:18:53 +0000 (10:18 +0000)]
Derive Show for EitherS and MaybeS
Roman Leshchinskiy [Mon, 31 May 2010 03:04:22 +0000 (03:04 +0000)]
Test data generator for Quickhull
Roman Leshchinskiy [Thu, 27 May 2010 12:50:17 +0000 (12:50 +0000)]
Slight optimisation in Quickhull
Roman Leshchinskiy [Thu, 27 May 2010 11:39:06 +0000 (11:39 +0000)]
Add rule for zipWith/replicate
Roman Leshchinskiy [Thu, 27 May 2010 09:05:00 +0000 (09:05 +0000)]
Use -rtsopts when building test cases
Roman Leshchinskiy [Thu, 27 May 2010 09:04:49 +0000 (09:04 +0000)]
Add a seq/sum rule
Roman Leshchinskiy [Thu, 27 May 2010 09:04:25 +0000 (09:04 +0000)]
Fix strictness of various Lifted combinators
Roman Leshchinskiy [Thu, 27 May 2010 09:03:48 +0000 (09:03 +0000)]
Remove unneeded parameters from indices_s
Roman Leshchinskiy [Thu, 27 May 2010 09:03:08 +0000 (09:03 +0000)]
lengthsToSegd is no longer special
Roman Leshchinskiy [Thu, 27 May 2010 09:00:40 +0000 (09:00 +0000)]
Sanitise zipU and unzipU
* unzipU now return a lazy pair instead of a strict one
* There is an unzipU/zipU rule
* zip3, zipWith3 and unzip3 are defined in DPH_Interface
Roman Leshchinskiy [Thu, 27 May 2010 01:33:43 +0000 (01:33 +0000)]
Make packPA_l strict
Roman Leshchinskiy [Wed, 26 May 2010 14:25:34 +0000 (14:25 +0000)]
Fix load balancing issue with indices_s
Roman Leshchinskiy [Wed, 26 May 2010 04:57:32 +0000 (04:57 +0000)]
Fix load balancing bug in segmented sums
Roman Leshchinskiy [Wed, 26 May 2010 04:57:30 +0000 (04:57 +0000)]
Add exports
Roman Leshchinskiy [Wed, 26 May 2010 04:52:41 +0000 (04:52 +0000)]
Add debugging function
Roman Leshchinskiy [Thu, 20 May 2010 03:33:11 +0000 (03:33 +0000)]
Rewrite test data generation in quickhull
Roman Leshchinskiy [Thu, 20 May 2010 03:32:12 +0000 (03:32 +0000)]
Add a seq rule for scanlU (+) 0
This occurs quite frequently when calculating segment descriptors.
Nevertheless, it is a hack.
Roman Leshchinskiy [Thu, 20 May 2010 03:31:09 +0000 (03:31 +0000)]
Implement parallel lifted append
This requires append_s and friends to take the segment descriptor of the
result as an additional parameter. This change is also propagated to the
Lifted stuff.
Roman Leshchinskiy [Thu, 20 May 2010 03:30:07 +0000 (03:30 +0000)]
Implement fold1SUP
Roman Leshchinskiy [Thu, 20 May 2010 03:28:55 +0000 (03:28 +0000)]
Make replicateSUP produce evenly distributed arrays
Roman Leshchinskiy [Thu, 20 May 2010 03:27:36 +0000 (03:27 +0000)]
Make enumFromStepLenUP more efficient
Roman Leshchinskiy [Thu, 20 May 2010 03:25:04 +0000 (03:25 +0000)]
Make foldUP more efficient at the cost of a slight change in semantics
We now make no guarantees about how often the neutral element will be used. It
really has to be neutral.
Roman Leshchinskiy [Thu, 20 May 2010 03:23:32 +0000 (03:23 +0000)]
Fix implementation of repeat_c
Roman Leshchinskiy [Thu, 20 May 2010 03:22:31 +0000 (03:22 +0000)]
Add a function for splitting a segment descriptor such that the data array will be evenly distributed
Roman Leshchinskiy [Thu, 20 May 2010 03:22:16 +0000 (03:22 +0000)]
Add export
Roman Leshchinskiy [Thu, 20 May 2010 03:20:36 +0000 (03:20 +0000)]
Change various functions to use generateD/imapD
Roman Leshchinskiy [Thu, 20 May 2010 03:19:41 +0000 (03:19 +0000)]
Delay inlining unitD
Roman Leshchinskiy [Thu, 20 May 2010 03:18:57 +0000 (03:18 +0000)]
Only inline zipD in phase 0 to give some rules a chance to match in phase 1
Roman Leshchinskiy [Thu, 20 May 2010 03:18:20 +0000 (03:18 +0000)]
New combinators in DistST
Roman Leshchinskiy [Thu, 20 May 2010 03:16:27 +0000 (03:16 +0000)]
Add RULES for zipU/joinD and zipU/splitJoinD
Roman Leshchinskiy [Thu, 20 May 2010 03:12:29 +0000 (03:12 +0000)]
Completely change how mapD and friends are implemented
The basic combinators are now
generateD :: DT a => Gang -> (Int -> a) -> Dist a
imapD :: (DT a, DT b) => Gang -> (Int -> a -> b) -> Dist a -> Dist b
The Int argument is the index of the current thread. There is also
generateD_cheap :: DT a => Gang -> (Int -> a) -> Dist a
which is equivalent to generateD but just runs the computation sequentially.
Roman Leshchinskiy [Thu, 20 May 2010 03:11:56 +0000 (03:11 +0000)]
Don't inline scanD
Roman Leshchinskiy [Thu, 20 May 2010 03:10:29 +0000 (03:10 +0000)]
Make joinD CONLIKE
Roman Leshchinskiy [Thu, 20 May 2010 03:09:10 +0000 (03:09 +0000)]
Manually eta-expand mapUP
Roman Leshchinskiy [Thu, 20 May 2010 03:08:05 +0000 (03:08 +0000)]
Fix and use enumFromToEachUP
Roman Leshchinskiy [Thu, 20 May 2010 03:06:41 +0000 (03:06 +0000)]
Export more stuff
Roman Leshchinskiy [Thu, 20 May 2010 03:06:17 +0000 (03:06 +0000)]
Add dependency
Roman Leshchinskiy [Thu, 20 May 2010 03:05:22 +0000 (03:05 +0000)]
Tracing for gangs
Roman Leshchinskiy [Thu, 20 May 2010 03:04:20 +0000 (03:04 +0000)]
Add tracing facilities to Dist
Roman Leshchinskiy [Thu, 20 May 2010 03:01:18 +0000 (03:01 +0000)]
Use divInt, modInt etc.
Roman Leshchinskiy [Thu, 6 May 2010 10:13:16 +0000 (10:13 +0000)]
Refactoring to avoid making splitJoinD a loop breaker
Roman Leshchinskiy [Thu, 6 May 2010 10:11:12 +0000 (10:11 +0000)]
Add bangs
Roman Leshchinskiy [Mon, 29 Mar 2010 09:11:03 +0000 (09:11 +0000)]
Remove sequential gangs
Ian Lynagh [Sat, 8 May 2010 19:04:42 +0000 (19:04 +0000)]
Build system: Fix use of "rm" variables
benl@ouroborus.net [Thu, 1 Apr 2010 11:43:24 +0000 (11:43 +0000)]
Add fftS to harness
benl@ouroborus.net [Thu, 1 Apr 2010 11:18:46 +0000 (11:18 +0000)]
Fix bugs in FFT benchmark
You can also now say
seq/fft check
and it will do a 1d transform of a step function,
with both the FFT kernel and a DFT.
benl@ouroborus.net [Thu, 1 Apr 2010 05:47:01 +0000 (05:47 +0000)]
Print checksums of resulting matrices in mmult examples
benl@ouroborus.net [Thu, 1 Apr 2010 04:19:10 +0000 (04:19 +0000)]
Add to mmult C harness
You can generate random matrices with -random, then save them
to file with -ddumpinput. Load them back up with the Haskell
version and check the output is the same.
benl@ouroborus.net [Thu, 1 Apr 2010 02:35:01 +0000 (02:35 +0000)]
Hacks to C mmult
benl@ouroborus.net [Thu, 1 Apr 2010 02:06:01 +0000 (02:06 +0000)]
Faster generation of random matrices for mmult
benl@ouroborus.net [Thu, 1 Apr 2010 02:01:17 +0000 (02:01 +0000)]
Start on C ver of mmult
benl@ouroborus.net [Thu, 1 Apr 2010 01:21:35 +0000 (01:21 +0000)]
Split useful stuff out of C version of Laplace, and add to Makefile
benl@ouroborus.net [Thu, 1 Apr 2010 01:02:09 +0000 (01:02 +0000)]
Add DArray versions of mmult
benl@ouroborus.net [Thu, 1 Apr 2010 00:43:14 +0000 (00:43 +0000)]
Add version of mmMult using traverse
benl@ouroborus.net [Thu, 1 Apr 2010 00:31:02 +0000 (00:31 +0000)]
Add to mmult harness
Roman Leshchinskiy [Wed, 31 Mar 2010 11:50:20 +0000 (11:50 +0000)]
More fft
keller@cse.unsw.edu.au [Wed, 31 Mar 2010 11:43:58 +0000 (11:43 +0000)]
Added Any, test for fft