Commit Graph

76 Commits (81a84266d39abdee8516cbf16453409e9090ed3c)

Author SHA1 Message Date
John Benediktsson 49d3338c70 cuda: use ERROR:. 2013-03-24 14:24:21 -07:00
Doug Coleman c8e4fc08e9 cuda: Rename cuda-error. 2013-03-24 10:11:16 -07:00
John Benediktsson e74f770b57 Use bl in more places. 2013-03-14 19:24:00 -07:00
Doug Coleman 3507b9bad7 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman 0d059e0f19 Found a few more places to use lookup-c-type 2011-10-24 15:58:40 -07:00
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Slava Pestov 75560699ea Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object> 2010-12-25 16:55:36 -08:00
Doug Coleman 67c37591ca Remove <uint> *uint and friends. Hopefully remove the last usages of these words 2010-10-25 15:54:42 -05:00
Doug Coleman 4ca9bd0bba Remove usages of <void*> and *void* 2010-10-25 13:22:50 -05:00
Doug Coleman 1f57dc326e Remove many uses of <int> and *int etc 2010-10-25 12:49:12 -05:00
Joe Groff bbe156f3de cuda.gl: with-mapped-cuda-buffer helper word 2010-05-25 00:37:15 -07:00
Joe Groff ee995b4770 cuda.gl: cuda-buffer helper object that pairs a buffer with its attached CUDA resource 2010-05-24 22:57:25 -07:00
Joe Groff 9fccc38994 cuda.contexts, cuda.gl: factor out set-up-cuda-context and clean-up-cuda-context so they can be used by objects that own a cuda context (separate from with-cuda-context) 2010-05-24 22:13:15 -07:00
Joe Groff ff748b5c9f cuda.libraries: make grid tuple read-only, grid-dim/block-dim foldable, and CUDA-FUNCTION: words inline so that kernel call sites can optimize 2010-05-20 18:10:17 -07:00
Joe Groff 2ad382865e cuda.libraries, cuda.syntax: support for both 32- and 64-bit CUDA pointer abis. make CUDA-LIBRARY: read the abi as part of the library definition 2010-05-20 17:56:45 -07:00
Joe Groff 0d04406a41 cuda.libraries: rework parameter passing to fill entire parameter space in one API call 2010-05-20 17:23:47 -07:00
Joe Groff ca1426096a cuda.libraries: scrape out some useless code 2010-05-20 15:57:23 -07:00
Joe Groff efe7e94a07 cuda.libraries, cuda.syntax: factor generated CUDA-FUNCTION: word bodies into a "cuda-invoke" macro; add CUDA-GLOBAL: for referencing global symbols 2010-05-20 15:45:35 -07:00
Joe Groff f0a7f039bd cuda.libraries: rename "function-launcher" to "grid", 2<<< to <grid>, 3<<< to <grid-shared>, 4<<< to <grid-shared-stream> 2010-05-20 14:59:27 -07:00
Joe Groff 1a3fd1dc8c improve cuda library organization 2010-05-20 14:40:26 -07:00
Joe Groff e286a8daef cuda.devices: factor "context-device cuda-device-properties" into a "context-device-properties" word 2010-05-16 17:16:27 -07:00
Joe Groff a0f28d4402 cuda.gl.ffi: add missing LIBRARY: cuda befor ffi function defs 2010-05-15 22:33:03 -07:00
Joe Groff 5f909cf443 cuda.gl: enum>number the flags argument to gl-buffer>resource so that single CUDA flag symbols can be used as arguments 2010-05-15 16:26:49 -07:00
Joe Groff c1dbce85bb cuda: move init-cuda from cuda.utils 2010-05-15 15:28:02 -07:00
Joe Groff 896cd58451 cuda.demos.prefix-sum: add init-cuda 2010-05-15 15:01:32 -07:00
Joe Groff 22e853ecb0 cuda: more API cleanups:
- remove useless with-cuda and with-cuda-program combinators
	- eliminate redundant cuda-device, cuda-context variables
	- rearrange arguments of with-*cuda-context to ( device flags quot -- )
	- don't pass context to with-cuda-context quot
	- add context-device word to ask for current device
2010-05-15 11:47:19 -07:00
Joe Groff e32e0f1423 cuda.gl: add free-resource word to release interop handles 2010-05-14 16:17:03 -07:00
Joe Groff f9a8e90c41 cuda: add "cuda.gl" vocab with words for cuda/opengl/gpu interop 2010-05-14 16:00:27 -07:00
Joe Groff afdced0183 cuda: in with-cuda-context, sync context when cleaning up so that destroying context doesn't fail due to asynchronous errors 2010-05-14 16:00:27 -07:00
Joe Groff 4eb55a5c3b Merge branch 'master' of factorcode.org:/git/factor 2010-05-12 13:49:02 -07:00
Joe Groff 860e871fe6 new cuda.types vocab containing CUDA vector types (int2, float4, etc.) with CUDA alignment 2010-05-12 13:48:44 -07:00
Slava Pestov d1e2554ebf cuda.utils: fix load error 2010-05-10 20:50:28 -04:00
Joe Groff 6d30ce485c cuda.utils: add "sync-context" word 2010-05-10 15:06:15 -07:00
Joe Groff 077cd0397b cuda.devices: fix distribute-jobs to look only at width of maxThreadsDim 2010-05-07 18:15:37 -07:00
Joe Groff 6d41ea32f5 cuda.devices: have distribute-jobs construct a launcher with the calculated grid-dim, block-dim, and shared-size 2010-05-07 18:09:21 -07:00
Joe Groff 5a980b58cb remove cuda.constants; it's better to get those values from device-properties 2010-05-07 18:03:30 -07:00
Joe Groff f26a5836e6 cuda.devices: "distribute-jobs" utility word that determines grid and block size for a job based on per-thread shared memory requirements and max block size 2010-05-07 18:02:42 -07:00
Joe Groff 097100cb12 cuda.utils: foo <c-object> ... foo memory>struct == foo <struct> 2010-05-07 17:18:08 -07:00
Joe Groff a228e575a5 cdua.devices: remove redundant init-cuda calls 2010-05-07 17:16:28 -07:00
Joe Groff fb619ec928 cuda: fix using single integer as grid size 2010-05-05 19:07:39 -07:00
Joe Groff ae37cc730b cuda.memory: dependencies 2010-05-05 17:38:59 -07:00
Joe Groff 1d916246b0 cuda: rearrange function-launcher grid and block dim to be in the right order 2010-05-05 17:38:37 -07:00
Joe Groff 7c89fb2438 add cuda.constants vocab 2010-05-04 19:49:44 -07:00
Joe Groff 76512260b0 cuda.memory, cuda.syntax: inline some more words, add cuda-malloc-type word that allocates n*heap-size bytes of memory 2010-05-04 19:46:53 -07:00
Joe Groff 152da8c93c cuda: streamline memory api 2010-05-03 18:18:10 -07:00
Doug Coleman cc546c3a94 init-cuda in a couple more places... 2010-04-23 23:19:26 -05:00
Doug Coleman 8d76f2e612 Sprinkle init-cuda everywhere you could conceivably need it! 2010-04-23 23:17:47 -05:00