pristine:0000001057-614ae5ee5bb238e7dd32a96ebb276f9b5101a53a1ceefc911c33405fcbc3396e Starting with inventory: 0000034933-4bce2000154c3f08a5846bf65b070efe685c9ab89faa41b4073c8efd762ce62b [TAG 0.8.1.0 Manuel M T Chakravarty **20101013041649 Ignore-this: ce01096272dc99d11c6e334f62c250fc ] hash: 0000025448-8a6802fd21cfc87b25c67eee749edfdfb5c7c3441a5d91e4aee9b8425e0be70b [Version bumped to 0.8.2.0 Manuel M T Chakravarty **20101013042554 Ignore-this: c0ad3aa93f98b2e9b1b3646da13ffefd ] hash: 0000000229-8fd29536cf0ed8c60a45d9aa4de10656d4202d952975e76503692711f2a8b415 [smvm test for MatrixMarket files Trevor L. McDonell **20101014002703 Ignore-this: 69061525c2ed85a8839ebde0259d8602 - includes one small random matrix, and a link to the matrices used in the paper - uses a custom parser, which is faster but less complete than the one on Hackage ] hash: 0000258953-ab336d69548386134d3fc9377580f1c4d5a0d4c2bb0784a86006f451c055823b [black scholes example Trevor L. McDonell **20101015040913 Ignore-this: 5a1b0ef8e9b7359d56503580283cf68d - includes hand-modified version of the generated code, although these are not actively used, as well as the code from the SDK (with license file) ] hash: 0000045352-80fe7ce62e51f64884c285756c771b6af3ea46178ca38d352be35c66229be032 [precomile array programs Trevor L. McDonell **20101020024609 Ignore-this: cf84ce0e8a750457aead6937fb5607a9 - would like to be able to pass 'undefined' for unused array arguments, since they are not copied and we only require the types, but this falls over in D.A.A.Array.Sugar.arrayType ] hash: 0000007746-94de14292956f8e0ccf61fe4e9fb934e253df1421b60f342dcb274eafd9e653b [add streaming operation Trevor L. McDonell **20101020032432 Ignore-this: 1fd0e4657a73e5fb0af4124c16a98a22 - only a very basic implementation: needs to avoid re-analysing the array code in the frontend, as well as overlap transfers with computation. ] hash: 0000001235-33df3e51a4e11944ca41bb150a58d3623e6e178dcfe49586ad4a6873e3de6a09 [clean up run/stream a bit Trevor L. McDonell **20101020082347 Ignore-this: eef86fb176e9cf5ce8f75fb889355844 ] hash: 0000001416-4714c4888b2a63a3e97b13329ebe38770c2b2607baa9d6e3f3ca1b8a87a05c64 [code generation for scalar expression 'shape' Trevor L. McDonell **20101022051455 Ignore-this: 2fa6cf3d3b3ab84a78dea2509e9cc481 - inserts global declarations '__constant__ DIMn shape[0..]' ] hash: 0000026369-45592283440ba90f9a78154ad01e85dd575a3feeabdab0e5167ad87dfefe43ae [use Control.Monad.State.Strict Trevor L. McDonell **20101024060818 Ignore-this: 584fc44d3e092e2bc6b8229fb721b7cc ] hash: 0000000408-8576c06e3137fe38a624a8bbe351d9b1b84e9afeb6f3c7f2defbe17b69f5ab5f [refactor CUDA execution module Trevor L. McDonell **20101025041227 Ignore-this: 2fd4f3675d016d08f1ff16d14c2f723f - support for 'shape' in array computations - many other incidental wibbles ] hash: 0000051036-9062cf36b3390fcd602d8920185f9cdf6f677aaccec5dc828b19a375d6f66ad1 [indexing (!) for multidimensional arrays Trevor L. McDonell **20101025062841 Ignore-this: c66abe08aa8cb9361a9925c60e2b7b41 ] hash: 0000007876-a14ef72227cc3efff823af846b7965b1826b0ab4e568f235f12f8c9600939f8d [fixes for array lifting / binding Trevor L. McDonell **20101025224421 Ignore-this: 4825feb3383c5501ed2bebdd4b52036e ] hash: 0000004319-903d9bca5c53d38ed945405b346cf538c033e453e3eef235d2fdcd70c217a624 [Frontend support for recovering of sharing in array computations Manuel M T Chakravarty **20101025063428 Ignore-this: 5b83a3a31bc3e5cf80099b82c8fdb6af ] hash: 0000048186-35ca16c4d80a2c335537aa7d5cb1e3d0e82b051fbde1a79f33bbbf629c4cc517 [CUDA backend changes for array sharing Manuel M T Chakravarty **20101026041210 Ignore-this: d27ba92eb1c89a9f1dffb59b94500be6 ] hash: 0000013467-fc71d8802cf98ec5a000bdd50f409a49046149fb41dcd77df8aa40d468ca55da [kill 'precompile' Trevor L. McDonell **20101026042624 Ignore-this: d948586c8383b741a69bb62c8bbbb6d ] hash: 0000002429-f6c5450258e900e7d8c295a59d4110ac0775f9e002e92a6e85c40957355edb8f [bug fix for slice and replicate Trevor L. McDonell **20101026073219 Ignore-this: 7e65f5383656786512677a372ca793b9 ] hash: 0000002419-3697eaaea2c3b68ea5ec920dd328d08e27b39af6fa9f3e01810ccf8bf389da83 [comprehensive list of required extensions in .cabal Trevor L. McDonell **20101026074326 Ignore-this: 1d3aee9ca13ff3fbb2b50aece9b88b5f ] hash: 0000001247-9ace39c7729df77e11afc31f19e7d264212f7385fd92fd82eab075eebcfab98d [export Arrays type from D.A.A.CUDA Trevor L. McDonell **20101026075721 Ignore-this: b314171e42c3ea0275d0aa2a7f8f2831 ] hash: 0000000225-538d74409e75a405092c39107f5298933aa4b4e6c4c4da86e36a7d8460d9fcb3 [wibbles to stop haddock complaining Trevor L. McDonell **20101026075743 Ignore-this: 9d992645e1103063a0ef8e96644c60e7 ] hash: 0000000486-c9ff81d08efa49d8935518de98334d5c9039f162982a854e392bec805e1fe3ae [fix scanr execution Trevor L. McDonell **20101027221209 Ignore-this: d51b1e525acd90521f751377d4992f68 ] hash: 0000002483-5a963c747c2c7ab5c5e18514667acf77504c7bd7b900ac91880517d1f992ca39 [Add helper files to use the CUDA backend in GHCi Manuel M T Chakravarty **20101029014440 Ignore-this: 5e164d7a5e249553b9e359664e2c1e63 ] hash: 0000000841-c20c22427e5d3fd788064dc9cf2013e5069bd4698c4b5e87b9fa00a10fe87fee [add Arrays constraint to body of let bindings Trevor L. McDonell **20101030045423 Ignore-this: 7e133946245e072e21d891fe3fc983e ] hash: 0000001006-32f3799b9710367b439004386a820a7fdac73588d9f847bd1723bcf54068af89 [CUDA backend changes for array sharing Trevor L. McDonell **20101030050134 Ignore-this: 1aa4db269a65ca76a15780f57d7b8451 ] hash: 0000033845-f7bfa7ba6a246bc40d651c6706826012e0edf5fb57eee120a1e1f48deaa44319 [add lookup table from Acc node stable names to gpu object code Trevor L. McDonell **20101101011202 Ignore-this: f8a787aa9416a96fb00eed4cf7aa5da8 - intended for later use by streaming applications, where the AST does not change and we want to avoid long string-based key generation. ] hash: 0000007947-305eb8883f5b18f2d8daee57137f358e08792444a8534a34a5b283017a724452 [Add inclusive and segmented versions of scan. ben.lever@nicta.com.au**20101028225923 Ignore-this: 435a5ec2a2f207ee589c699410fec57b Add to the Language front-end, inclusive (post-) versions of scanl and scanr. Implement these in the Interpreter backend and also provide an alias for the existing exclusive (pre-) scan primitives for consistency. In addition, add to the Language front-end segmented versions for all scan primitives. Implement the segmented scan primitives solely at the Language level without introducing new nodes into the AST. (Specific AST nodes can be added at a later date). The final list of scan primitives is as follows: - prescanl (alias of scanl) - prescanr (alias of scanr) - postscanl - postscanr - prescanlSeg - prescanrSeg - postscanlSeg - postscanrSeg ] hash: 0000012003-44d092d329f5ecd39e000d74e1d926df24e18610d826d2e0b7a2aec46a76230c [Revised API for scan operations Manuel M T Chakravarty **20101101031650 Ignore-this: 654319fd2fbd8fd9407bb61270c2ae72 - We follow the naming scheme for scan functions adopted by Data.Vector, with the exception that scan' functions refer to the original Accelerate versions that return a pair of a prescan and the final reduction value. - We also have segmented versions of scan operations, identified by the suffix "Seg". ] hash: 0000038667-7306f786da984da55cc3554e871cd50046c48774931fce298808b9dc1ee2e296 [fixes for scan name changes Trevor L. McDonell **20101102024207 Ignore-this: ef1a452f97f2e8c77af7e9ad2716451 ] hash: 0000001963-ee6dd7615c16c81339c07e9f1531992329598774198c35fe5749259d51ccd2b1 [improve handling of segmented reduction Trevor L. McDonell **20101102032413 Ignore-this: 420f8ac790fcb82efd63efdf76251ed3 - code generation and execution implicitly add a scan of the segment descriptor, but the AST itself is not altered. ] hash: 0000006992-58e074c3b224c390046f804047fae228d6af244bf324f7afb665283df1641b29 [expand acc key generation to all current primitives Trevor L. McDonell **20101103033129 Ignore-this: 1534d66912ef39e4af2a5feff8e40450 ] hash: 0000003779-dc65e9d4ddc8199b3c55e3b08c038e34983c1827e927db6935ef2a4b6a3dbc6f [examples/simple: module ScanSeg is missing Manuel M T Chakravarty **20101102050823 Ignore-this: 3c4fd111c551aa7dce199c2909b39644 ] hash: 0000000534-19de6732f07ac00ae4e71f23d659383352c9a0b251c15883e76f8efae0ac898e [when marshalling Int and Word, match the device bit-width of these types Trevor L. McDonell **20101103042420 Ignore-this: 2d7f4f920a8f1dbd75f0cb0eec2a0719 ] hash: 0000000801-7b00cf3ef9f0c342c5a0a809c4ca7976c2666c174270446611440a4512a2c1b5 [fix broken scan Trevor L. McDonell **20101103064526 Ignore-this: 98f28813be14c45f335f0c6ff93f7f49 ] hash: 0000000472-8ff16b0baea4ec32f37eead0756ea8eb374f12d04c62cb9f69edf62df7912e80 [examples/simple ScanSeg Trevor L. McDonell **20101104020329 Ignore-this: 21cf96d3aeaeb7db94c42ac9f86437f - disabled, pending support for scanl1 in the CUDA backend ] hash: 0000002493-519716596948df9f708dd199aa1134f36babc8aacefb71485d54d52957811900 [disable the second-level module cache for now Trevor L. McDonell **20101108043646 Ignore-this: 72aa55604017e8a93ec781b864597a89 ] hash: 0000000659-83f4281c52c5596f3a0f2a3f17b2ade133128db485f215d10be860f28b7b98e2 [Implement CUDA backend for scan and scan1. Ben Lever **20101109035229 Ignore-this: e3261ea889c596c9f4633c47707c928f Add the CUDA backend implementation for the scanl, scanr, scanl1 and scanr1 primitives. ] hash: 0000010445-19d4910a3409403cf2ba8e09249e99f21663e24d96b024242201965547c329c4 [Add an example of computing an integral image. Ben Lever **20101109035531 Ignore-this: ad97ec6c8a55aaab54d563d80c3feeaa Add an example of computing an integral image (summed-table) that demonstrates the use of segmented inclusive scans (scanl1Seg). ] hash: 0000002437-d7115ff8dff1d59a31704fca0dcd01db6e4c24c0c6ed1319e4717741fa64c670 [Use replicate for creating "constant" arrays. Ben Lever **20101109035700 Ignore-this: 66f78aaf6fff5d816414704874b30d14 Use replciate, rather than backpermute, for creating a vector of zeros or ones. Replicate is easier to read and has a higher chance of being exploited for optimisations such as fusion. ] hash: 0000001100-5148c9c882555752d84e8b7a57c36f45c38d2a97594046a76f26bfe791a7b7b1 [Remove unnecessary uses of 'constant'. Ben Lever **20101109035812 Ignore-this: b9cfa5810ec345b6ba01051030e9a638 As literal numbers no longer require the explicit use of 'constant' to lift them into an 'Exp' type, remove redundant uses. ] hash: 0000002205-9ed6fd6efa8141c1fa7cee324768c08f768be0fb9548c364177b21d0d05c3d64 [Reword comment. Ben Lever **20101109035934 Ignore-this: bb726752e466a5ace95831a0f32a71f Reword comment due to change in API naming for scans. ] hash: 0000000659-e3173e34702226e6448b508613a326db31fa36be01fd36975d19cd9b823d7970 [Implement segmented versions of scanl and scanr. Ben Lever **20101109040010 Ignore-this: deb76ac01e9735524b574f280e843e31 At the Prelude-level, implement segmented versions of scanl and scanr: scanlSeg and scanrSeg, respectively. Use exisiting Accelerate AST primitives only. ] hash: 0000002315-92ee7f2ae6fb886e873864d4d046ecfb7c69e107854f8edeae6abf759f805ae5 [Add support for non-identity elements for scans. Ben Lever **20101109040103 Ignore-this: 68a7c874e92d4f27966fad778c05223e Implement support for scan operations to permit an identity element that is not neutral. For example, all scanl+ to permit a non-zero identity element. Of course, this is addition is only applicable to those scan variants that require an identity be specified. ] hash: 0000006861-c512154126a881dce794c49c3b02305a3ec1e4eea8c5bbfec42f9a81d9f94333 [scan variant wibbles Trevor L. McDonell **20101110070212 Ignore-this: bbcd33bbbacca77aa106abc9aaa7840d - split inclusive and exclusive variants, to avoid generation of suspect identity function in the former case. - introduce #define macros to control left/right and scan/scan' variants ] hash: 0000025031-fee5d98a2ec99dc772b7a0d6d7d6b92fe9e44bb4b10de9ddf561cf9288312c24 [simplify foldSeg implementation with use of Scanl for segment descriptor Trevor L. McDonell **20101110073524 Ignore-this: c7a6c722cb0a59d4e253374e5d909583 ] hash: 0000002230-302aa88183bf1cebb15c9e22ede23075c6982953a529bd4142231ec10ac8d0ba [Use Repa-style indices Manuel M T Chakravarty **20101112004916 Ignore-this: 4c076185336a027f695cb192b70394fd - Repa-style indexing with 'Z' and '(:.)' to support rank polymorphism - New 'size' expression form yields the number of elements of an array - fold & fold1 reduce along the innermost dimension of an array of arbitrary rank - foldAll & fold1All defined in the D.A.A.Preludee - 'index', 'unindex', 'index0', 'index1', and 'ilift1' to write index manipulations as Accelerate expressions - New convenience function 'the' projecting from a singleton array - I made the CUDA backend compile, but it now has quite a number of important, but unimplemented operations - The interpreter tracks all changes ] hash: 0000076709-210b35a18c5a866a073da4d823f40750dad5a1694183b068269e414481392cf9 [haddock wibbles Trevor L. McDonell **20101115005742 Ignore-this: 1c0465445bedad9ee9e9c5be686fc558 ] hash: 0000000665-f522b1139dbcb929fb3a6dea56c91fc67c2c9c6269c1ba589059d932c71da771 [CUDA backend scan fixes for Repa-style indices Trevor L. McDonell **20101115011017 Ignore-this: eb676c382723e3536cd14b83c0fe1587 - does not implement any of the new functionality ] hash: 0000008573-8466bee5991be5db9d49793b1a9ef23d9b3e809f836e603b0cc815eac3431601 [Add 'generate' primitive. Ben Lever **20101115034540 Ignore-this: 2a4c46e954d3d492d9100c230a7a2eca Add to the Language front-end a 'generate' primitive that supports the construction of new arrays by applying a function to each index. Implement the primitive in the Interpreter and CUDA backends. ] hash: 0000005048-5548de0ef840a327128a382c89cc63588e8ec75ab91fbd1a748f0f8ea348b9e1 [Wibbles Manuel M T Chakravarty **20101115034600 Ignore-this: b14ef46f0b16032ad9d28e5c2594222 ] hash: 0000000954-870994aef5ae0c4338aefc87ac7b1312b0b74b0d000cc96ba7ea8106de98b503 [Correct boundary handling for Mirror and Wrap. Ben Lever **20101125042158 Ignore-this: e9721f29b9bc57df87955bfd05981620 Correct the calculation of the array index value to use in 'Mirror' and 'Wrap' conditions when indexing a negative array element in a stencil operation. ] hash: 0000000713-7a19b646b89dab0d042aa4a8ac856577bdb5b20f0ee1853857ab143e5662931f [fix to/fromIArray for change to repa-style indices Trevor L. McDonell **20101129010022 Ignore-this: 68d83601576ce417862076b3cfc09c1b ] hash: 0000001376-d0c6f6840d59e4e6fb633f49939f94d765c0640f7a12e0e3c20a62cdc1abfb3c [changes to example programs for repa-style indices Trevor L. McDonell **20101129040752 Ignore-this: 8e823de869ee1f43355b077b2bb49105 ] hash: 0000004238-984fe6ad06b32eb42c1072b4dfcf31c64f946e308a6dac3eeaec48aa552d841a [code generation for index nil/cons Trevor L. McDonell **20101129044627 Ignore-this: 2c523799441e20055f7c670a385968f3 ] hash: 0000015685-e803f2d17a08e76849c1df88b993574910a2a8f16d1608fd6b7d13319ebf476a [wibble Manuel M T Chakravarty **20101129035252 Ignore-this: 2827782057fc3340fc62ae363f9fc097 ] hash: 0000000287-36bbd1f530b7a0094864381d83e5ac5f0f6252cd8a1c3a2d7343ebbfda180ed0 [More adaptation to Repa naming convention Manuel M T Chakravarty **20101129110746 Ignore-this: 20d8ec9675a353e1bf4b5b0601b83e1c - 'Elem' -> 'Elt' - 'Ix' -> 'Shape' - 'SliceIx' -> 'Slice' - 'Slice' -> 'SliceShape' - 'SliceDim' -> 'SliceShape' - 'CoSlice' -> 'CoSliceShape' ] hash: 0000143562-86f485edf8201357d8b099cc2340937accee34be37e4ff7bb909f3811d13ad68 [wobble Trevor L. McDonell **20101130091559 Ignore-this: 79cbd0c0bb05745f17dccb3cd095edc2 ] hash: 0000000212-003c743819c57549bf7a16722c65106f6d5a80c416044aa93bc942a0358f888d [fold and fold1 for vectors, supporting non-neutral elements Trevor L. McDonell **20101130092605 Ignore-this: c567b2d4cd7a3e32c4738cc06cd2aeb9 ] hash: 0000011584-95d753babae8342ba4da8274769b8fbec8ed680c0bb596c5ad073ec249719d84 [wibble Trevor L. McDonell **20101130092823 Ignore-this: a7986713598bff4296bcf90186aaa676 ] hash: 0000000195-1e7140b120787fde23b80219ef733e1c731d85738b26902fc1ad574da20849d7 [Added Smart.convertAccFun1 Manuel M T Chakravarty **20101201123749 Ignore-this: ceced4b9bab0248690be372f1afd8f53 ] hash: 0000004096-6c30cf9b79eee2b4d934a6c13d914317ab8f589af5df8a01ffdc37ef3ed4c6bf [rank-polymorphic fold[1] Trevor L. McDonell **20101203024853 Ignore-this: ad71872abee0be0f4b9b41f0a4b0debe - one block of threads per projection along an innermost dimension (warp?) - may be able to optimise by incrementing the array indexes directly rather than conversion to/from multidimensional form ] hash: 0000011796-05b6348d30a1dfd9f0e22c6b3d937412aa9c1a4dd957efd0083b22f04961a329 [Stencil class instances need to start from DIM1 Manuel M T Chakravarty **20101202124822 Ignore-this: f601acd24b764a7d7a65ea4f2625293b ] hash: 0000014288-cbfd0c0ad68da1c682620cb9fdfe555b65bec2e7f4199664e9f9c31187e9ae9d [fix foldAll for small arrays Trevor L. McDonell **20101203060922 Ignore-this: 3889a10b286245bcac278916edf1cf6c ] hash: 0000000309-8cac1f9bbc87649fc15073aeceb95d26cda7d044757c4532a0d94444fe2df8a5 [improve reductions of empty arrays Trevor L. McDonell **20101203073615 Ignore-this: e854e8544e1edf52a2edc3acce24107e ] hash: 0000001808-9317c19b03522342d2587f876b3b753fc1bd619860b6e2f4261b066c240bbd36 [segmented reduction (vector) Trevor L. McDonell **20101206041325 Ignore-this: 3034d666b1fbb018f6a7b4105ca85336 - warps should now be coalesced _and_ aligned ] hash: 0000013936-7153cc51cc5a4b0894feb9b2c1bba77d8446e33d259401761ddb5b31d77ab6a1 [extra code gen case for indexHead/Tail refering to Shape Trevor L. McDonell **20101208080146 Ignore-this: 19d37c2db8386a412e2b7a692dbc38f0 ] hash: 0000000792-60412c59049135be370cf81ceb85579edd3a786fd5d379687a2e33f6d5342389 [move warp reduction into common reduce.inl Trevor L. McDonell **20101208085956 Ignore-this: 14bdc9d91f54044aebc5b5e1947d704c ] hash: 0000001935-66968ecf5543d58843d30dd9ec57ced42997b5af40ff05c7e25bb230bc1c32dc [Introduced the Lift and Unlift classes Manuel M T Chakravarty **20101209045330 Ignore-this: e666505767443e6f30bc82f829839190 - 'Lift' and 'Unlist' provide 'lift' and 'unlift' that replace the previous tuple/untuple and index/unindex functions. - The new functions are more flexible as they can lift from vanilla Haskell types as well as from constructors around scalar Accelerate expressions (unlift naturally only works for the latter). - For the moment tuple/untuple and index/unindex are still available, though deprecated and as aliases for lift/unlift ] hash: 0000019504-651393a245f20bc2e7c79449b94304daa4a843492a00f9651472709c99838604 [add volatile qualifier to output array types Trevor L. McDonell **20101209050449 Ignore-this: 5a1ae103145d7403eb2d5db065a1bec4 - specifically, we need arrays to be declared volatile to inhibit certain memory optimisations and ensure results are actually written to [shared] memory. This was previously only apparent on Fermi architectures (Trac:27) but the CUDA-3.2 release seems to be more sensitive (or aggressive). - due to the way type synonyms are used for skeletons with associative operators (such as fold) the input arrays in this case are also marked volatile. This shouldn't be too problematic... - alternatively, create a new set of types for use only with shared memory, together with conversion functions. ] hash: 0000004080-d9632e85d8d6444d3cd16a20bc636710fa976bf8be9cf0901f524813b67a1ad4 [launch resource calculations for Fold1Seg Trevor L. McDonell **20101209051947 Ignore-this: cf60ee0fb6dffee14dae6c1da62523fc ] hash: 0000000520-aca5eaef84400676dfb1771ec35faf72ee52ff2d3e4a7f50ffcad515591afe77 [enumerate each AST type in sharedMem calculation to avoid the use of a base case Trevor L. McDonell **20101209054333 Ignore-this: c10719a234096c96349d89e041ae3231 ] hash: 0000003285-67b5721fd35e35f74071686e0637a6328e3a4bdab3818cb038a2962b73960a4d [use row-major indexing Trevor L. McDonell **20101210030018 Ignore-this: 609a2408dd40fee4b8ee436f92450de7 ] hash: 0000000316-8ac83acab50d5539d8b303837e40e323df46ad9e4b463194216f1206ea0bfe2e [convert to row-major storage format Trevor L. McDonell **20101210040528 Ignore-this: 2275f715e3565c7fbc0f32013eb92a5c - use templates so that some methods can be defined inductively ] hash: 0000018040-6e1853deb96017cd1cd9dde350fd3c536b87f89955f9b2736b4e0519c278ef7e [rank-polymorphic fold Trevor L. McDonell **20101210043945 Ignore-this: e509a1335198c6baa77f7ec5212c29a1 - one warp per innermost projection - direct index calculations and aligned memory access ] hash: 0000004623-857ee8c469906d8c7d215cad6ec0416a1976e6c242006bcba85773969a1feb04 [iter and iter1 in row-major order Trevor L. McDonell **20101213025328 Ignore-this: 29b2d124475b5b77f346782d615ecb7d ] hash: 0000001323-46dade2e4c11a240cdf2c38ee42cbcd23faee3de8eef3c1eea24f37a5fa636b5 [rank-polymorphic segmented reduction Trevor L. McDonell **20101213041819 Ignore-this: 74760f23a39a16b52034fb85a3f3f874 ] hash: 0000004300-e5dfb2bf29fd984aaa5d0415c7853174b29e31f2e808145df7eeef76b0cb9256 [Fixed call to prjIdx in convertSharingAcc Sean Seefried **20101208233453 Ignore-this: cca00f4652e9fb37a152b1fe179b3c09 ] hash: 0000000459-e084876f19d0caff30c287ebea0c18896396740ac4cac99920292128154e9e0b [nuke old precompile stuff Trevor L. McDonell **20101213052706 Ignore-this: e82bceb304e437ee24db5eb310b46e44 ] hash: 0000001018-fb9eee50e74e0fba586b7836699c192c94a73b80b3708a9c6c31a42c113d0fc5 [Added support for streamin in CUDA backend. Rami Mukhtar **20101210074424 Ignore-this: ad455cd23033d1f13daf77d58b054e17 ] hash: 0000016084-bd30f03a51aed810dfb56c08eed5908fc892e349a7faa7ebec6308fd86d662f0 [stream implementation for interpreter backend Trevor L. McDonell **20101214061045 Ignore-this: 2b9d383b6b65fa2252b8708499ffed8a ] hash: 0000000744-459cab125f96437535688a796ad1bab489009d3e4b76d28fbae42c6df3f5faf2 [many wibbles; clean up the CUDA stream implementation Trevor L. McDonell **20101214061450 Ignore-this: e7423b432b0016a56687963244abe4cd ] hash: 0000017085-d4cb28ea128ea63c133e96466f2e06a7283fcbfcfd32f5db54479ba18b1df0f5 [suppress a few warnings Trevor L. McDonell **20101214063930 Ignore-this: 56889b2717e95e8d2a0a95157dc27e12 ] hash: 0000003120-f89469ab83ce41f48d6460f953967fbb56eb2a2b639ae8baabfe95e1e9844cf5 [use generate rather than replicate to produce arrays of a constant value Trevor L. McDonell **20101214065211 Ignore-this: 74f8f17299e954e2e3e8ca9f7cc5ccbe ] hash: 0000003149-4b5fc4c2f79e37d102a8e040cd3a19bbb3c8f3357c076ac22913a16235fe0580 [Restructured Pretty printing Sean Seefried **20101214223901 Ignore-this: 1b33d3285fa848e3a633d89a8bbabfbe Moved the HughesPJ style pretty printing functions into D.A.A.Pretty.Print. Show instances are still in D.A.A.Pretty We will be putting other pretty printing modules under D.A.A.Pretty. e.g. for GraphViz. ] hash: 0000024490-f1a97338e1da8ac2ba34954da23934f2d40cca3f40c896deffc806dd0988c01d [Added Graphviz output. Sean Seefried **20101214224035 Ignore-this: 8fd4b7310f7a73c9180a9ff41f69507c The main function is dumpAcc which, given an Acc, tries to write a PS file using the dot command line tool. If the dot tool cannot be found in the path it outputs a DOT file instead. ] hash: 0000013726-a370be59e511aea4281a763ca6a597bdba4eb932617fef892ee714f9a4094666 [Add D.A.A.Pretty.Graphviz to accelerate.cabal Sean Seefried **20101214224110 Ignore-this: ed67c4625c2f724e90eae8f795b66ba8 ] hash: 0000000245-d735e2dff512c21b26ad025fc7864b436c807ff16b90215edf65cbacd1ca290d [Added colour to the dumped Graphviz ASTs Sean Seefried **20101214224133 Ignore-this: 1114be712550a760fefbf1026cc2150 ] hash: 0000012565-724dbc50b736fdf0b925c547b16bec2879bdc2faccd62f7b52e2f7ba02ba0cfe [Added HTML pretty printing. Sean Seefried **20101214224226 Ignore-this: eabbd8085d8c2763ee802324c7242f56 Generalised the traversal of the AST. Next up, converting Graphviz pretty printing to use this generalised traversal. ] hash: 0000017089-b78c2036baa5a68442bfc639fe18289bbb7a08203b1a65aad0bbd451bee7ec33 [Graphviz PP uses generic AST traversal now. Sean Seefried **20101214224340 Ignore-this: 16c81cb7e0dfaf638451e0161719c86a dumpHtmlAST now writes out stylesheet too. ] hash: 0000014129-3748b4493a88df77d1ae2914c250a78a8ee3a7ff79325b805de7863614583b16 [Sharing of array computations descents into expressions Manuel M T Chakravarty **20101220103409 Ignore-this: ca4a8bf538e6a87f15db830e0fddb099 - Array computations embedded in scalar expressions by 'shape', 'size' and '(!)' operations are now also shared. - Also fixed a bug in the previous sharing code that could lead bindings in let cascades being in the wrong order. - The sharing code for functions is a kludge and the whole sharing recover needs to be re-factored and cleaned up. ] hash: 0000070389-be81fdd737d0fc584bfe988bfb7605381fc4277ef283e1b0c3369912dd3eeb48 [Additional type signatures to keep GHC 7 happy Manuel M T Chakravarty **20101221143707 Ignore-this: c19584b83a23bd18c4f50e10b7c81678 - Needed as GADT pattern matches need to be rigid in the result type, too, in the new type checker. ] hash: 0000004468-1db7189a5c58de541fcc0238dd6a0f9956bfadfcde988e5ad09700e20ddf57bd [shape() instance for DIM0, for scalar indexing of singletons Trevor L. McDonell **20101221080317 Ignore-this: a632d730fd781015a46010bd2dd6f6eb ] hash: 0000000283-457085788034329536872149c2402f6bc0538e53d2dabdbf3f2b92347cabb653 [disable html-pp by default Trevor L. McDonell **20101221224623 Ignore-this: 446c47a18aedc756543bf0cf3b902c74 ] hash: 0000000227-a44c23f81593d1a47b18ec0ccfa3a1c38a76da4fe24d50df952d6c10741d31eb [Fix displaced exposed module in cabal file. Ben Lever **20110104235422 Ignore-this: 47c8f840bacd77d37ebdabfd602e19d3 The module Paths_acclerate was displaced from the exposed-modules list when the 'html-cpp' flag and associated modules was introduced. Reinstate Paths_accelerate in the list of exposed-modules. ] hash: 0000000483-874343df734a6d790d041169b612f13d94d52ec0e4e9b0dc6a75ca0eb8988732 [Implement n-Dimensional stencil kernel. Ben Lever **20110104235559 Ignore-this: 5a94d202173139eb8afd17ff5541c8d5 Implement a kernel for the stencil operation that supports arrays of any dimension. The implementation will behave like a 'map' and gathering of stencil elements will be directly from global memory. Generate code for array 'get' and 'set' functions as well as 'gather' and 'apply' which collect the required input array elements for the given focal point and executes the stencil "function", respectivley. Add a method, 'stencil', to the AST.Stencil type class that reifies types to a StencilR GADT. Implement CUDA-specific stencil analyses at the value-level by first reifying Stencil types to StencilR types. CUDA-specific analyses include caclulation of the number of stencil pattern elements and positions (coordinates) of stencil pattern elements relative to the focal point. ] hash: 0000028268-df562aa7370b056e0abc38b0ad5f7fa79ba6f92ceb50bc6fb47bcadd70cfb771 [Fix stencilAccess to not swap rows and columns. Ben Lever **20110104235706 Ignore-this: 758da5a5da425cd3fa46a4a5c715d13f The stenilAccess method recurses on a coordinate (represented as a snoc list, inner-most to outer-most dimension) and a stencil pattern (represented as a nested tuple, outer-most to inner-most dimension). Fix the recursions such that they are both outer-most to inner-most dimension. ] hash: 0000006941-4cd4770147d0107c7e009306352e7612daa7de222fb0602f315a4910d135db48 [Use texture cache for stencil kernel. Ben Lever **20110104235805 Ignore-this: d3424fdae4a5a53aeaa9ff1ba61f87a To improve the performance of the stencil kernel, access the input array via a texture reference. ] hash: 0000006934-73d67b48922649c3c3346befc0d671c8323b582bd497445f6a6e0116702487b4 [Add 'const' qualifier to stencil functions. Ben Lever **20110104235901 Ignore-this: 91152f8d6c12b2d85b132dff1ace2f81 ] hash: 0000003916-8d71eaad89e7baeb9045932a0355824cd0dcb0c41d14f9bf50b5a966ecb51da9 [Combine 'gather' and 'apply' kernel functions. Ben Lever **20110104235936 Ignore-this: 1bc37af8383b77f1fd2a988fe1239c93 To improve the perfomanced of the compiled CUDA code, combine the 'gather' and 'apply' functions that are generated as part of the stencil kenel into a single function - 'gather_and_apply'. Based on profiling results, this will provide approximately a 2x improvement in perfomance to the stencil kernel. ] hash: 0000008190-635af96ceb77280662b2b477cb2bb64a9675a7b169d7c6505fa58fc2fda21ac0 [Implement stencil2 operator for CUDA backend. Ben Lever **20110105000351 Ignore-this: 64bdf89437161a39ce9234740dc73a1c Implement a kernel for the stencil2 operation that supports arrays of any dimension. The implementation will behave like a 'map' and gathering of stencil elements from both input arrays will be via texture references as in the stencil(1) implementation. ] hash: 0000037702-93795f0517392a8b6bb3fdd4751208aa328265a2532904b4b5049db5fdcfd3a2 [Wibble. Ben Lever **20110105000437 Ignore-this: 87334d25e26824e42ff5f36790312c8a For consistency, change "ArrDim*" C type name to simply "Dim*". ] hash: 0000006154-15c5b6d7fa49fe6e02c61ff317fd07ea9384a540c48c89e1e7ac37577627751c [add missing extension pragma Trevor L. McDonell **20110107033827 Ignore-this: 8cd615a6419f9034594a96d8d3375d6f ] hash: 0000000266-1e412fbcf7791c2451eb1a587e4bbbb4ce9921bde574b20338b9320b114e6c81 [add a type signature to keep ghc-7 happy (plus wibbles) Trevor L. McDonell **20110107035554 Ignore-this: e357a14fd78cef031dea962e9103ec3d ] hash: 0000002920-19d3ec0bbdc6c1d5b9e081ee399faa60da6547033026d3a92c3429ad651c6f52 [even more type signatures to appease the ghc-7 gods Trevor L. McDonell **20110109064653 Ignore-this: 4918be7bdc424948cb67733e9a264261 ] hash: 0000005360-33a21cbd16db8d4e5c48d8e49ff0fac1170e93de3bff63bbcca3244e9b28e096 [remove ridiculous use of Maybe type Trevor L. McDonell **20110109225823 Ignore-this: dea41e7c02a1c52e25dc9677ad259c7 ] hash: 0000001078-982ce25ebb1dbd75cc9abc4df70d043c8200751d64fe85c60f7ef0a42fad3eb2 [Add utils/ files to .cabal Manuel M T Chakravarty **20110113051052 Ignore-this: b91b03b70e95b36c0c24edf3a4f09a2c ] hash: 0000000583-62b6290348dc88cf24222fc2e7e132d0dce414ae0188d8dcfc56b679a810ebed [fix for change to canonicalizePath in ghc-7 Trevor L. McDonell **20110114004348 Ignore-this: 2d867511ed3f4b0e1f8730a70c4a6ed7 - as it turns out, this only worked by chance in the previous version - *hat tip* @cartazio ] hash: 0000000595-8b1dc5a9c58af8b712a75f06b83bf0a75ebaf8d02b6d01163764dde781e4b7f4 [fix double free of stencil input arrays Trevor L. McDonell **20110114035218 Ignore-this: 25f73b8b85c09a677cdf9e67825ae142 ] hash: 0000000301-5fb40de2beea0f800c12083a2a423bd44c1ed0231232e78c85140590945496bf [Block Copy interface added. Sean Seefried **20110120051747 Ignore-this: 9964c6bf5abfdf5dfc17edc6196cc5f3 This low-level interface provides a user of the Accelerate library the ability to populate Accelerate arrays using C block memory copies. The input half of the new I/O interface has been completed. We provide two new functions blockCopyToArray (which should be used in the majority of cases) and blockCopyToArrayWithFunctions which allows a user to write functions to copy data to a freshly allocated Accelerate array. ] hash: 0000015500-fe3c8aa993c97220584f1c8970adce4d659a68fc0f4ac6d00ac6048eb4972eac [Updated tests for block copy I/O Sean Seefried **20110120051909 Ignore-this: 821e0bc28e5caa4829e72ea0676dde9 ] hash: 0000000604-9588ad046b1168961f4a6966309f9cde8367ad7e1a938d3b69d41eee81300830 [Improved type(s) of BlockCopyFun and BlockCopyFuns Sean Seefried **20110120052010 Ignore-this: d5f2da5e81d35f74f04f006943dc5530 type BlockCopyFun e = Ptr e -> Int -> IO () not type BlockCopyFun = Ptr () -> Int -> IO () The definitions of BlockCopyFuns have been changed appropriately. ] hash: 0000005021-a7eaf51d54888dc43c11d08e0b001d84228d646f28afdfbe82033d98c8b428d7 [Fixed test-suite for block copy I/O. Sean Seefried **20110120052109 Ignore-this: 1f5859bfc246f077c1da2f34852d0a69 ] hash: 0000000332-ccd6560a48dcde25f2a6ce91b205d51c44aa739f8090b278cd0e2a4d3174d3a8 [I/O from Accelerate arrays to memory blocks Sean Seefried **20110120052139 Ignore-this: e5ea7e29f091e44566eba9d80b4c517f Added two new functions, blockCopyFromArray and blockCopyFromArrayWithFunctions. Wrote more tests. Improved documentation. ] hash: 0000012490-9232275de935bd09b8552c183d90603a56180d645692a7ef3f29db314098c723 [Two new functions for I/O with ByteString`s. Sean Seefried **20110120052212 Ignore-this: bb9d3744ee8fd89b87fe5f05866faee9 The functions are arrayToByteStrings and byteStringsToArray. ] hash: 0000007491-bcec29a263cac269a332af07353840147c2cb3a9e2bf41f6cef710c107c8edef [Set correct package dependencies for I/O funs. Sean Seefried **20110120052252 Ignore-this: 35ae3a13cfdf3b04acf79143657d99fd Introduced the 'io' flag (which is implied by 'cuda' flag). Extra package dependencies exposed only exposed when flag '-fio' or '-fcuda' is passed to 'cabal install'. ] hash: 0000000794-2a83498e5066599c0a9a527f77b65bdb3edcaab90ad15ea460bbac6b28fec816 [Fix package dependencies for pretty printing. Sean Seefried **20110120052340 Ignore-this: 45ea7194a9d699cf1784f15459dc1674 Flag 'html-pp' renamed to 'more-pp' Also, Graphviz is only exposed when flag 'more-pp' is passed. ] hash: 0000001156-be861c6995ae4186aefad0254a50b5e67cedba6f8fd53024992cef5cb47a9986 [Added copyright and license information. Sean Seefried **20110120052432 Ignore-this: cd0151887f4e90c161e4d6c11a3c1ffe ] hash: 0000000646-201b09e9521f68093fe52e7cb262e774d9ba0c3dbc1ba3c9f40b759f574f348a [Warning police Manuel M T Chakravarty **20110120112703 Ignore-this: 9f08f277800fbfc4669e0f10268136e8 ] hash: 0000000517-0c1c2a0227f5f659fccb42219c41a46841fa7c89ffc89ff54132888e8ed16545 [Fix ordering of texture reference bindings. Ben Lever **20110120232944 Ignore-this: 989a3dcece4e9f43d8db62612329111a ] hash: 0000000287-6027d12a3b62d2a50bd55dd2da074b7ed7ce5bd627606222978ce949df381480 [store Acc keys as (deflated) bytestring Trevor L. McDonell **20110111011234 Ignore-this: 7991dbf4cd864f639ef99a88cda409ed ] hash: 0000008072-d81b2cfcc97f5574ecdc895a2f9b63cd38a49a20621aae4c55d51c5c4fbdd2e4 [library build dependency wibbles Trevor L. McDonell **20110117052410 Ignore-this: 2825fdc88c01b432f8d91e14c6f84c6d - monads-fd is deprecated in favour of mtl, and is required together with directory by the Graphviz module ] hash: 0000000591-88996476b2847dca3d020664c0e7c299a072549cbc16c7d99007d106e28bb739 [reference counting for let-bindings Trevor L. McDonell **20110215225530 Ignore-this: c725ac403e7f1534b1b13e8735748f4 - traverses the AST and counts the number of times the result of each array computation is used; allocations are made appropriately - several type class constraints have been made explicit to the AST data constructor forms - the behaviour of pokeArray[Async] has changed; the copy is always performed, no changes to the reference count is made. The old behaviour was intended to handle multiple references to Use nodes, now subsumed. ] hash: 0000077689-1cad7f119e7ee7696351656033b135c470b59c72558fa8ae5805bddfbaaec51c [wibbles Trevor L. McDonell **20110216003221 Ignore-this: 6168139579f14cf058c09a8f0900c5cf ] hash: 0000013596-bf3b9a2d1a576d0b9b9a8ed3bc32eae1a2366a9b04e2c58a5c63851b791768df [extend file header copyright year range; other trivialities Trevor L. McDonell **20110216023414 Ignore-this: 3a0418c8840e0907a6c3183bac49a448 ] hash: 0000022581-7839e5de7493d60d4d17c7b7219136b3e006efc90936347212a84bfdde4ddbec [reference counting fixes Trevor L. McDonell **20110217025827 Ignore-this: 6bb79f606b35df47cbe4e521f9710c0e - plug memory leak in use of `shape' in a scalar expression - update use count in `reshape' ] hash: 0000002524-8da11c0d0fb9c51ab11add427c2f9adb42bef1432b15b7ca58ab1ffd03c878d9 [fix incorrect calculation of array memory sizes Trevor L. McDonell **20110217032341 Ignore-this: c7c050cf8827762ef1ed635806b5f4ef - CUDA driver bindings expect the number of array elements, from which the array size in bytes is calculated, not the number of bytes directly... ] hash: 0000001533-31bc51b0977a2b88aa82e5c92500acaa29d50107ddd632d6452ce12938612855 [improved floating point comparison test Trevor L. McDonell **20110218012740 Ignore-this: 5f251e1cd56a543947a6df3f0413d3b8 - comparison using lexicographically ordered floating-point numbers reinterpreted as twos-complement integers ] hash: 0000005508-a859a067666c06cde898c95b89d0f3414962213ff8d2b82bc60cfdfc4430c275 [retain types in the memory table Trevor L. McDonell **20110218091021 Ignore-this: 57cb558fab00696772101c0c3dd6428d - hide the types of the arrays inside some simple data constructors; requires the use of gcast to unwrap the existential, but should be an improvement over the explicit pointer conversion through int. ] hash: 0000014215-ac6f797720404a462ec1e918a50e67a93cea0eb96ca749ca06e2a03f9e36ad41 [Added pipe operator (>->) to the frontend Manuel M T Chakravarty **20110222021115 Ignore-this: a68c353a1b0855fbce041c7eb82ccf9b - The operator (acc1 >-> acc2) combines two array computations that don't share any subcomputations with each other or the environment. Data exchange is purely by way of arguments and results of the array functions 'acc1' and 'acc2'. - The frontend compiles uses of (>->) into 'Let' bindings and a new 'Apply' construct for array-function application. The latter still needs to be supported in the CUDA backend. (It is already implemented in the interpreter.) ] hash: 0000008558-15591e853ff6e4360da2119459724a34b9811655ff4c2b27c07126113be3497f [Introduce PreOpenAcc to facilitate AST attributes Manuel M T Chakravarty **20110224024458 Ignore-this: 916f8408cbdd73cfaf1c8b898f13db01 ] hash: 0000055034-10de38920310f8b34ce43a8b6c330132bcac56fc3aa83533871d282e0f49c0de [meta-modules re-exporting block copy functionality Trevor L. McDonell **20110216051238 Ignore-this: 4b63ad09898c62787efcf07d8b2860bc ] hash: 0000003846-d5a75e0509b26b8bf6409acd58db3936d05977aefe2b3c684e3302cd8a49d8ea [canonical author name/address Trevor L. McDonell **20110224063623 Ignore-this: 932f0062f5765b0526304a68c0c144f1 ] hash: 0000000347-ce22258b5863693aeaab33ec487a70683066c13fbd261e5d94dc2c720ab583ec [wibbles Trevor L. McDonell **20110224063742 Ignore-this: 84c16caeb7df6c995b4c138f23c45670 ] hash: 0000001132-a9a021c1cfca09bace3f1d44dac23f9fa3cab640744f099e909b38d89903c8f3 [add type signature; non-rigid context for GADT pattern match Trevor L. McDonell **20110225040147 Ignore-this: 973d4b7819564b3799f609af6b9fed98 ] hash: 0000000365-c33d6a81601b5e8211b44586758ef27fc94a25906c610c2cb5a5573d8af2c925 [add an `inplace` configuration option (not intended for general use) Trevor L. McDonell **20110228003041 Ignore-this: 8fbea1882c29ef1c62e97a1bde362fc4 ] hash: 0000001466-740897d3c97777d4583564e63fe1430fb04e3fe35e9631ed8d372ae6d36f423d [A new setup for example accelerate programs Trevor L. McDonell **20110228005008 Ignore-this: 7f388c6ea00b00aee4623c98ee4720f6 - as a test, only includes SAXPY - currently no way to select different backends; we only use CUDA at the moment ] hash: 0000014139-93f88c5f1bd4524a99c9dc23e0bb1ce4e1ea94fcb27a295f26d42d1cd70670f8 [An Accelerate build-bot for automated regression testing Trevor L. McDonell **20110228024126 Ignore-this: 10cec1488d29034cc37cca8631e24c4d - runs the accelerate-examples programs and emails performance results - sends blame emails on failure ] hash: 0000025433-db85a08b47ba183076af8ad38eeb5a0dfa65bf5de24fc8ef315642a2416e72a9 [petty formatting Trevor L. McDonell **20110228045940 Ignore-this: 95a2e75de4612b2577f7d3829f476ae9 ] hash: 0000002816-3748117f999904f6c3a6b669a5ff6f6dd4df5abe690e843ffb0000e5671c7440 [rationalise PreOpenAcc with CUDA backend Trevor L. McDonell **20110228102523 Ignore-this: 9de9379738cab0cd760c436137dd4f05 ] hash: 0000029220-cab70ebd3cc8a811e605b6a067cd96f4179177a5fb62844a9d7d29bb81abad2a [work around ghc-7.0.2 oddness Trevor L. McDonell **20110304002258 Ignore-this: fcdece314a669148c4a29e4a2efa2c0e - Could not deduce (Sugar.EltRepr e ~ Sugar.EltRepr e) ] hash: 0000000601-0cf2d709af156098c5ff1bda2e401fa21ee02b85f63af1e65b065bf2acab14b9 [must link accelerate-examples with -rtsopts with ghc-7 Trevor L. McDonell **20110228235351 Ignore-this: 6c4fee7b098d0197faa824d8a0d08ae5 ] hash: 0000000280-ee299778ce360607c4a681224edf917f7c1a4fc5b629057dc6897c0d6b719f52 [darcs timestamps use leading spaces Trevor L. McDonell **20110301000453 Ignore-this: 2dd5692da347dcbb5c3445281409ec05 ] hash: 0000000337-e2be35c148ef27dd1e93b17b77ed8dc54b6a82da4907e314bebedec6f7e3e78a [send a test email Trevor L. McDonell **20110301021312 Ignore-this: 3a565011abfbd8b1b55456026bf26a28 ] hash: 0000001522-a921160b4bd7b4c71a37d8e1ac951cdb0105ab155a1fb0d3037423a93aeee16c [move and disable bit-rotted quickcheck test-suite Trevor L. McDonell **20110301053256 Ignore-this: 2b3b8973c66da6bbaa6f06101d0329c3 ] hash: 0000000840-7ce2973de80e323a34a81e9877b93939e2e16c64e3bb97dc55b46211bfc61796 [rearrange the io/blockcopy stuff instead of just re-exporting Trevor L. McDonell **20110301060202 Ignore-this: 4dfa0563f0e7b486ab4d284236adc552 ] hash: 0000012458-2946ab89e05279326cabc18d7dea18a18ed116a8b4c193aa96b80b08dc6333f8 [simple examples: square, sum, dotp Trevor L. McDonell **20110301070721 Ignore-this: fa17ee061cad25c8b87b133a4449dce3 ] hash: 0000005903-ef673c67eb51a94ffd2435e9a24a3074d5db51ffbca76f4950d3c707065c0671 [with darcs functionality integrated into buildbox library Trevor L. McDonell **20110301072507 Ignore-this: e768315b01e9c1941248bb5afe2522d3 ] hash: 0000002834-ffee1d77de3637312d31ffc624feb450f72f2d2e3531ebe8b379af4922c3ff72 [yet another floating point comparison test Trevor L. McDonell **20110302221314 Ignore-this: ccd789c2ffcf06231bd73963e8a02581 - seems to work better for numbers very close to zero ] hash: 0000001251-8fde9fd24a4c45bda4baab24969a5c1ad648ea7e91f4af499bf4dcee932407a7 [more example programs Trevor L. McDonell **20110302233738 Ignore-this: e890b86e00b709356d8b81d128dc9068 - dot product, sum of absolute values (SASUM), sparse-matrix vector multiplication, black scholes option pricing. ] hash: 0000021646-ec5fecbb4298ccaf2b9e79356e9223b0584d3a1aaeae2fc9a0ccf57e3423ce9b [add missing BlackScholes and Filter files Trevor L. McDonell **20110304002917 Ignore-this: f2fb60323a49c5ffe76bb43ff374c9b9 ] hash: 0000005393-467289d80790862c4f3ca9c274a448d711233bb9743c7b2d3871be087a9fd3ae [simple one- and two-dimensional reduction tests Trevor L. McDonell **20110304025453 Ignore-this: 87d782a5979047bdb93b4657fca49cf5 ] hash: 0000003931-8bb198ecc0b45518026fce99938cb5a098a76be7685ea58ac77279a840e8b507 [minor cleanups, fix acc-fold name Trevor L. McDonell **20110305050838 Ignore-this: 781bb3dbc8368af4e77a238bebf84029 ] hash: 0000002015-25b30cd148741f92afabd2036e051d30cae026a10c35e2a38fdd0605703ed69f [map and radix sort examples Trevor L. McDonell **20110305051028 Ignore-this: 65a6c9c5cca896a97449c0bbc91ddeaf ] hash: 0000007273-b9c1de9b86dc5f9216228a2ccea4363b740b73c7b39a3cb4663650855c72f5be [move summary comment about block-copy/IO stuff Trevor L. McDonell **20110305093539 Ignore-this: 768651a690bc759137eb8824d7af642a ] hash: 0000001177-abacff3103c283be04d86b27495eb6e46d3da077c18508b12260aabdb566df27 [block-copy haddock wibbles Trevor L. McDonell **20110305113115 Ignore-this: d18b5f5c8c0f7717231a57b67b251ff0 ] hash: 0000009100-0504c029a9519d0e0d96f1cad28d8429802b414aff5f5d6b32fa88826a118ec8 [subsume tests-blockcopy into accelerate-examples Trevor L. McDonell **20110305113204 Ignore-this: f8293581f9c8ab86fee9fff69bd07769 ] hash: 0000006687-ebefc7ec8c637f8c042dcca2d6ab8bd1df887633ad3c6851165c23481d4a3721 [copyright year Trevor L. McDonell **20110306011004 Ignore-this: e788e964d31e894ea97dced2ee22884f ] hash: 0000005016-3158bbe51d8c534717a9224fe3105ea30105151b2568ad68116e508b552529ed [disable some long disused power-of-two utilities Trevor L. McDonell **20110306011245 Ignore-this: 966dcdcc18002ada46e2db37977ea90e ] hash: 0000000265-d80092153d2c08ce250f24cfe38b6619c9c555b9d8343bfa4fa608e81a8d1075 [add fromIntegral to the front-end and interpreter Trevor L. McDonell **20110306040934 Ignore-this: 2c3d00f5b0d07646ae60a1579134d8e8 ] hash: 0000013363-9a325ca7749f3d2486bc2160370f4e2f2636568ed3ee789d01d1c22b63df4f5d [add truncate, round, floor and ceiling, to front-end and interpreter Trevor L. McDonell **20110306045908 Ignore-this: c2824c26f0c60c232e11b6292bd21714 - remove intToFloat, roundFloatToInt and truncateFloatToInt - as an overloaded function as the signature changes from the RealFrac class ] hash: 0000011967-dc1d1e5b51eb23420b4a10ac29f36cbba8680ba01218d84f6871a6edf65815ff [changes for recent addition of more overloaded H98 functions Trevor L. McDonell **20110306084844 Ignore-this: 349e4f4a12e5538113a752ab32c9d504 ] hash: 0000000698-17c979c84ac073bd5bb9658bc3b8d06afb4401c8bff8cec4b87a280e54b96dee [canny edge detection example Trevor L. McDonell **20110306090024 Ignore-this: 7823818acb5c14fd61567205718171aa ] hash: 0000015709-d149cec5c0d0f453367f38c1ce850723d214aa69143db34609537db73d2ab819 [defined but not used warnings Trevor L. McDonell **20110306093157 Ignore-this: 1d3f667935c9b51a04a901751ded75bc ] hash: 0000000490-db731dcb0e2fe3c1f9d62bf166da18c1f9bad44867c3564f443561028ebb3cfc [remove old black-scholes example files (subsumed) Trevor L. McDonell **20110306094703 Ignore-this: 3c99763e56cbc6987155680b230b102b ] hash: 0000045216-b471fb02edeadb4b4ab7164b9d69722ba715c594d0e2279cd90b6d034deae86c [file rasterzie under the broken examples Trevor L. McDonell **20110306100533 Ignore-this: 1fb99a93bfb7962aa77e638de978760d ] hash: 0000000423-9fdc88ef3dd78325150648f7faf12171fbbf50ee522bf867e7ac0ac81da2a6a4 [subsume integral-image example Trevor L. McDonell **20110306100915 Ignore-this: 767f83c0d8c659448972eec0a9f114a6 ] hash: 0000004241-736c6a6adf048a4dfdb06186da598b611c0b0a3092954431ba553d07b915f888 [simple stencil and segmented scan examples Trevor L. McDonell **20110306112352 Ignore-this: c76b388bce4c234901ddf665681ea055 ] hash: 0000005068-d290e7e3e2b9c2a20dc08460b36c053788c4595a11ef8bfa137ec094e04d461b [nuke the old examples tree Trevor L. McDonell **20110306112416 Ignore-this: b114011fb0696a5aab48acdd9e34522f ] hash: 0000014955-bdbd0f47219b14297076afe8c6944695454d998e0771896f98613e6267bb8ac8 [fromIntegral, truncate, round, floor, ceiling; for the CUDA backend Trevor L. McDonell **20110306122707 Ignore-this: bc2cb453f4d4f3de9076d2ac6529b307 - the first implemented via simple type casting ] hash: 0000010068-0b4676a71528fabc28c901006c249919518138d698628cb84e38f8bfa900a075 [add type annotations for all scalar constants and conversions Trevor L. McDonell **20110307004232 Ignore-this: 6ce8b9bfe21b3ca3a2f2b72684c34a2 ] hash: 0000006387-970cfac761b5172cfc2b6ba9f27ab475a7b40034bf0fb4b4325178ea869406a0 [add appropriate -m32/-m64 flag to nvcc Trevor L. McDonell **20110307004402 Ignore-this: afe7aa9ce89260d56b2302843f45d4bb ] hash: 0000000584-4b7b1bb73acb1aae860a759539fc42ada4bd6eeffc1f52bfb4012310634f548a [cabal file cleanups, add versions to all package dependencies Trevor L. McDonell **20110307010421 Ignore-this: 813827a3438290f1c793775c7a09b5dd ] hash: 0000003085-a8b213fe2e71e5e4a0696a2208563630e4eb75d75f2258487f161ea01293f3d9 [fix warnings and disable their suppression from the .cabal file Trevor L. McDonell **20110307021621 Ignore-this: f86cd955183957379785f6922841e3e8 ] hash: 0000007688-30cb80ffa7bf98456d3b47f324936ca005873327facdc50e7cc93d633ec5eff9 [wibbles Trevor L. McDonell **20110307024918 Ignore-this: 57c55dfe2354748fff3eebaa9ed1bc23 ] hash: 0000000594-d438be088bafe1006e235312d096dc3ea98f2a9e96916a6315e2cbddfb99d8e3 [Decoupled frontend from CUDA backend Manuel M T Chakravarty **20110308130830 Ignore-this: b7759c29076b55c7ff47079455d49bd2 ] hash: 0000029125-dde0df9ef2fccffc90a4599f4376ea754dbaeaeb77c383ca6507e4d504322028 [Implement 'Apply' for CUDA backend. Ben Lever **20110310225426 Ignore-this: e3a5e803296b79afa5f75e56127490f2 ] hash: 0000001749-b4cf4cbcbf5482b99971ad504fefc1869bf87dd785538a09ff9971fec35c841a [Draft of more efficient sharing Manuel M T Chakravarty **20110314012404 Ignore-this: 4dcd7e4c48361be60388d402b42f8b14 ] hash: 0000041609-814a2161bc08d3bcf8f2d360cc7c509e4130f9ad2020c9e4d893d5e79c98933c [Improve the complexity of sharing recovery Manuel M T Chakravarty **20110315030709 Ignore-this: 4acb2862d0e9f8e96132b7aff562d7e - This patch improves the time complexity of sharing recovery. It used to be proportional to the size of the *unfolded* tree, but now is proportional to the size of the source tree (i.e., of the tree with sharing). - The second phase of sharing recovery has so far only be provisionally adapted to the new approach, which still leads to some inefficiencies. This will be improved in a subsequent patch. ] hash: 0000004126-712b5b60aaf1ecd893628a4614f8d1fcb55cb716102cb52716ee52e3b065629e [Implement an array-level conditional operator. Ben Lever **20110316051715 Ignore-this: 80832ea64af31074dd70d122de2f75c0 Implement 'cond', an if-then-else construct over array-level computations. The construct will appear as a node in the Acc AST. Provide Interpreter and CUDA backend implementations. ] hash: 0000004853-62da23b7584046e7258a2c63d8967bc65b7f95870ad66153f2850b4ca0f5a699 [Implement language support for pairs of arrays. Ben Lever **20110316051839 Ignore-this: d5e109e1a469ad62b8b2f8de071ccc2f Add to the language front-end the ability to manipulate Acc array pairs. For example, values of the type: Acc (Array sh e, Array sh' e'). Provide language convenience functions for constructing (pairA) and destructing (fstA, sndA) such types. Leverage the existing FstArray and SndArray HOAS data constructors, and add a new constructor, PairArrays, to facilitate creating new pairs. Mirror this constructor in the deBruijn representation as well and provide Interpreter and CUDA backend implementations of PairArrays. ] hash: 0000005481-9ab4ac3f3f03bb6454eaac494d6b5683fa83959acbf344133af8dd62d7f9ef81 [be more specific for things that can become stable Acc names Trevor L. McDonell **20110308214449 Ignore-this: c5bedf320c1577d42525fd3bb9048e54 ] hash: 0000000705-e0e52e95542d3f83d55b2cff6c7b3381f5b07e227d0d929ca0e17b5ce62881cc [add the new accelerate-examples to the test benchmarks Trevor L. McDonell **20110309080538 Ignore-this: 2cb663ffd2bec72dbd98e7bcf44aac5d ] hash: 0000002411-0da6b863dc20be8194afff7c24f3690786bd3fafc68b32dfba5435287998a3de [have example programs exit with failure when printing use help Trevor L. McDonell **20110309080740 Ignore-this: 1ae6b3ea8813c08b3d946674b2b06379 ] hash: 0000009369-0ff6ba841f1298e36bbf5d0560b6c684e3622065fc19787caf9811c079763c84 [wibble Trevor L. McDonell **20110314011639 Ignore-this: 2406d5b05ef656f519b4b082aa2fc516 ] hash: 0000000748-708a49650a42f8b363fa791cb0f0e2918d920ec72bc372135e62c72041b911ae [export 'Arrays' from the front end Trevor L. McDonell **20110320222811 Ignore-this: 81d4971e22b5522484c58154bd8fe04d ] hash: 0000000340-f87261eccdf07d918bff7c3e959de3399834e5021af1c4498499580d131a9cbb [convert to monolithic test suite, support multiple backends Trevor L. McDonell **20110320223312 Ignore-this: f999168cf2777299bddc140f86b60a9b ] hash: 0000047648-34a370ff38f48c1728c10a2408f5a69ad27343d9c33647a0539058f4505335da