             [ grid-dim launch-function-grid ]
             [ launch-function ] if*
         ]
-    } 2cleave ;
+    } 2cleave ; inline
 
 <PRIVATE
 : make-param-buffer ( function size -- buffer size )

    grid boa ; inline

<PRIVATE
: block-dim ( block -- x y z )
    dup sequence? [ 3 1 pad-tail first3 ] [ 1 1 ] if ; inline
: grid-dim ( block -- x y )
    dup sequence? [ 2 1 pad-tail first2 ] [ 1 ] if ; inline
PRIVATE>

: load-module ( path -- module )

    cuFuncSetSharedSize cuda-error ; inline

TUPLE: grid
    { dim-grid read-only }
    { dim-block read-only }
    { shared-size read-only initial: 0 }
    { stream read-only } ;

: <grid> ( dim-grid dim-block -- grid )
    0 f grid boa ; inline
