cuda.utils: add "sync-context" word

db4
Joe Groff 2010-05-10 15:06:15 -07:00
parent 077cd0397b
commit 6d30ce485c
1 changed files with 22 additions and 19 deletions

View File

@ -21,7 +21,7 @@ ERROR: throw-cuda-error n ;
dup CUDA_SUCCESS = [ drop ] [ throw-cuda-error ] if ; dup CUDA_SUCCESS = [ drop ] [ throw-cuda-error ] if ;
: init-cuda ( -- ) : init-cuda ( -- )
0 cuInit cuda-error ; 0 cuInit cuda-error ; inline
: cuda-version ( -- n ) : cuda-version ( -- n )
int <c-object> [ cuDriverGetVersion cuda-error ] keep *int ; int <c-object> [ cuDriverGetVersion cuda-error ] keep *int ;
@ -40,55 +40,58 @@ ERROR: throw-cuda-error n ;
: create-context ( flags device -- context ) : create-context ( flags device -- context )
[ CUcontext <c-object> ] 2dip [ CUcontext <c-object> ] 2dip
[ cuCtxCreate cuda-error ] 3keep 2drop *void* ; [ cuCtxCreate cuda-error ] 3keep 2drop *void* ; inline
: destroy-context ( context -- ) cuCtxDestroy cuda-error ; : sync-context ( -- )
cuCtxSynchronize cuda-error ; inline
: launch-function* ( function -- ) cuLaunch cuda-error ; : destroy-context ( context -- ) cuCtxDestroy cuda-error ; inline
: launch-function ( -- ) cuda-function get cuLaunch cuda-error ; : launch-function* ( function -- ) cuLaunch cuda-error ; inline
: launch-function ( -- ) cuda-function get cuLaunch cuda-error ; inline
: cuda-int* ( function offset value -- ) : cuda-int* ( function offset value -- )
cuParamSeti cuda-error ; cuParamSeti cuda-error ; inline
: cuda-int ( offset value -- ) : cuda-int ( offset value -- )
[ cuda-function get ] 2dip cuda-int* ; [ cuda-function get ] 2dip cuda-int* ; inline
: cuda-float* ( function offset value -- ) : cuda-float* ( function offset value -- )
cuParamSetf cuda-error ; cuParamSetf cuda-error ; inline
: cuda-float ( offset value -- ) : cuda-float ( offset value -- )
[ cuda-function get ] 2dip cuda-float* ; [ cuda-function get ] 2dip cuda-float* ; inline
: cuda-vector* ( function offset ptr n -- ) : cuda-vector* ( function offset ptr n -- )
cuParamSetv cuda-error ; cuParamSetv cuda-error ; inline
: cuda-vector ( offset ptr n -- ) : cuda-vector ( offset ptr n -- )
[ cuda-function get ] 3dip cuda-vector* ; [ cuda-function get ] 3dip cuda-vector* ; inline
: param-size* ( function n -- ) : param-size* ( function n -- )
cuParamSetSize cuda-error ; cuParamSetSize cuda-error ; inline
: param-size ( n -- ) : param-size ( n -- )
[ cuda-function get ] dip param-size* ; [ cuda-function get ] dip param-size* ; inline
: launch-function-grid* ( function width height -- ) : launch-function-grid* ( function width height -- )
cuLaunchGrid cuda-error ; cuLaunchGrid cuda-error ; inline
: launch-function-grid ( width height -- ) : launch-function-grid ( width height -- )
[ cuda-function get ] 2dip [ cuda-function get ] 2dip
cuLaunchGrid cuda-error ; cuLaunchGrid cuda-error ; inline
: function-block-shape* ( function x y z -- ) : function-block-shape* ( function x y z -- )
cuFuncSetBlockShape cuda-error ; cuFuncSetBlockShape cuda-error ; inline
: function-block-shape ( x y z -- ) : function-block-shape ( x y z -- )
[ cuda-function get ] 3dip [ cuda-function get ] 3dip
cuFuncSetBlockShape cuda-error ; cuFuncSetBlockShape cuda-error ; inline
: function-shared-size* ( function n -- ) : function-shared-size* ( function n -- )
cuFuncSetSharedSize cuda-error ; cuFuncSetSharedSize cuda-error ; inline
: function-shared-size ( n -- ) : function-shared-size ( n -- )
[ cuda-function get ] dip [ cuda-function get ] dip
cuFuncSetSharedSize cuda-error ; cuFuncSetSharedSize cuda-error ; inline