]> gitweb.factorcode.org Git - factor.git/commitdiff
Sprinkle init-cuda everywhere you could conceivably need it!
authorDoug Coleman <doug.coleman@gmail.com>
Sat, 24 Apr 2010 04:17:47 +0000 (23:17 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sat, 24 Apr 2010 04:17:47 +0000 (23:17 -0500)
extra/cuda/cuda.factor
extra/cuda/devices/devices.factor
extra/cuda/ffi/ffi.factor

index 837d13c1c05a5eea014f5d0b254be607e4ea3d47..2c09fd176fa6663be572ff78e60aae818c90b6bf 100644 (file)
@@ -34,6 +34,7 @@ dim-block dim-grid shared-size stream ;
     '[ cuda-context set _ call ] with-cuda-context ; inline
 
 : with-cuda ( launcher quot -- )
+    init-cuda
     [ H{ } clone cuda-memory-hashtable ] 2dip '[
         _ 
         [ cuda-launcher set ]
@@ -84,5 +85,3 @@ MACRO: cuda-arguments ( c-types -- quot: ( args... function -- ) )
     ]
     [ 2nip \ function-launcher suffix a:void function-effect ]
     3bi define-declared ;
-
-[ init-cuda ] "cuda-init" add-startup-hook
index de36f702803a98a9e3b0b28984a9b6750e0e99dd..c9117bd00c75a0b4afe6b744a2cbab868df8c6c1 100644 (file)
@@ -7,9 +7,11 @@ sequences ;
 IN: cuda.devices
 
 : #cuda-devices ( -- n )
+    init-cuda
     int <c-object> [ cuDeviceGetCount cuda-error ] keep *int ;
 
 : n>cuda-device ( n -- device )
+    init-cuda
     [ CUdevice <c-object> ] dip [ cuDeviceGet cuda-error ] 2keep drop *int ;
 
 : enumerate-cuda-devices ( -- devices )
@@ -27,16 +29,19 @@ IN: cuda.devices
     enumerate-cuda-devices [ dup cuda-device-properties ] { } map>assoc ;
 
 : cuda-device-name ( n -- string )
+    init-cuda
     [ 256 [ <byte-array> ] keep ] dip
     [ cuDeviceGetName cuda-error ]
     [ 2drop utf8 alien>string ] 3bi ;
 
 : cuda-device-capability ( n -- pair )
+    init-cuda
     [ int <c-object> int <c-object> ] dip
     [ cuDeviceComputeCapability cuda-error ]
     [ drop [ *int ] bi@ ] 3bi 2array ;
 
 : cuda-device-memory ( n -- bytes )
+    init-cuda
     [ uint <c-object> ] dip
     [ cuDeviceTotalMem cuda-error ]
     [ drop *uint ] 2bi ;
@@ -47,6 +52,7 @@ IN: cuda.devices
     [ 2drop *int ] 3bi ;
 
 : cuda-device. ( n -- )
+    init-cuda
     {
         [ "Device: " write number>string print ]
         [ "Name: " write cuda-device-name print ]
@@ -64,6 +70,7 @@ IN: cuda.devices
     } cleave ;
 
 : cuda. ( -- )
+    init-cuda
     "CUDA Version: " write cuda-version number>string print nl
     #cuda-devices iota [ nl ] [ cuda-device. ] interleave ;
 
index 3da76698c645180de1e26e8aaadba66875c6bec9..bcbb1ff60a48edf82d97f358fcabe8dd9860b293 100644 (file)
@@ -460,4 +460,3 @@ FUNCTION: CUresult cuGraphicsMapResources ( uint count, CUgraphicsResource* reso
 FUNCTION: CUresult cuGraphicsUnmapResources ( uint count, CUgraphicsResource* resources, CUstream hStream ) ;
 
 FUNCTION: CUresult cuGetExportTable ( void** ppExportTable, CUuuid* pExportTableId ) ;
-