Commit Graph

69 Commits (3467ef76a99404f04ca26fc5026785fce25164b6)

Author SHA1 Message Date
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
Doug Coleman 095763bcee Move cuda.devices word out of cuda.utils 2010-04-23 18:27:13 -05:00
Doug Coleman 8323332838 Compile the .cu file with a relative pathname instead of absolute 2010-04-23 15:06:43 -05:00
Doug Coleman b8c10dc2cd Add using 2010-04-23 14:43:48 -05:00
Doug Coleman b34c75a6a3 move cuda.utils library words to cuda.libraries 2010-04-23 14:43:13 -05:00
Doug Coleman 8ae600124c remove init-cuda from a combinator because it's a startup-hook now 2010-04-23 14:29:24 -05:00
Doug Coleman 656f8987a1 Run hello-world on each CUDA device. fix a bug with returning the hello world string. add with-each-cuda-device combinator to run a program on each device. add an init-hook for cuda-init 2010-04-23 14:29:24 -05:00
Doug Coleman d6036b6d5b make host>device only take one parameter, add 2<<< for calling cuda functions where shared-memory is 0, simplify hello-world example 2010-04-23 14:29:23 -05:00