Clojurecuda 0.18.0
Released under the Eclipse Public License
ClojureCUDA is a Clojure library for parallel computations with Nvidia's CUDA.
Installation
To install, add the following dependency to your project or build file:
[uncomplicate/clojurecuda "0.18.0"]
Namespaces
uncomplicate.clojurecuda.core
Core ClojureCUDA functions for CUDA host programming. The kernels should be provided as strings (that may be stored and read from files) or binaries, written in CUDA C/C++.
+Generated by Codox with RDash UI theme
Clojurecuda 0.19.0
Clojurecuda 0.19.0
Released under the Eclipse Public License
ClojureCUDA is a Clojure library for parallel computations with Nvidia's CUDA.
Installation
To install, add the following dependency to your project or build file:
[uncomplicate/clojurecuda "0.19.0"]
Namespaces
uncomplicate.clojurecuda.core
Core ClojureCUDA functions for CUDA host programming. The kernels should be provided as strings (that may be stored and read from files) or binaries, written in CUDA C/C++.
Public variables and functions:
- add-host-fn!
- attach-mem!
- can-access-peer
- compile!
- context
- cuda-free!
- cuda-malloc
- current-context
- current-context!
- default-stream
- device
- device-count
- disable-peer-access!
- elapsed-time!
- enable-peer-access!
- event
- function
- global
- grid-1d
- grid-2d
- grid-3d
- in-context
- init
- launch!
- link
- link-complete!
- listen!
- load!
- mem-alloc-driver
- mem-alloc-mapped
- mem-alloc-pinned
- mem-alloc-runtime
- mem-register-pinned!
- mem-sub-region
- memcpy!
- memcpy-host!
- memcpy-to-device!
- memcpy-to-host!
- memset!
- module
- p2p-attribute
- parameters
- pop-context!
- program
- program-log
- ptx
- push-context!
- ready?
- record!
- set-parameter!
- stream
- synchronize!
- wait-event!
- with-context
- with-default
uncomplicate.clojurecuda.info
Info functions for all CUDA objects (devices, etc…).
Public variables and functions:
- api-version
- async-engine-count
- binary-version
- cache-config
- cache-config!
- cache-config*
- can-map-host-memory
- clock-rate
- compute-capability-major
- compute-capability-minor
- compute-mode
- concurrent-kernels
- concurrent-managed-access
- const-size
- ctx-device
- device-name
- driver-version
- ecc-enabled
- global-L1-cache-supported
- global-memory-bus-width
- integrated
- kernel-exec-timeout
- L2-cache-size
- limit
- limit!
- limit*
- local-L1-cache-supported
- local-size
- managed-memory
- max-block-dim-x
- max-block-dim-y
- max-block-dim-z
- max-grid-dim-x
- max-grid-dim-y
- max-grid-dim-z
- max-pitch
- max-registers-per-block
- max-registers-per-multiprocessor
- max-shared-memory-per-block
- max-shared-memory-per-multiprocessor
- max-threads-per-block
- max-threads-per-block-fn
- max-threads-per-multiprocessor
- maximum-surface1d-layered-layers
- maximum-surface1d-layered-width
- maximum-surface1d-width
- maximum-surface2d-height
- maximum-surface2d-layered-height
- maximum-surface2d-layered-layers
- maximum-surface2d-layered-width
- maximum-surface2d-width
- maximum-surface3d-depth
- maximum-surface3d-height
- maximum-surface3d-width
- maximum-surfacecubemap-layered-layers
- maximum-surfacecubemap-layered-width
- maximum-surfacecubemap-width
- maximum-texture1d-layered-layers
- maximum-texture1d-layered-width
- maximum-texture1d-linear-width
- maximum-texture1d-mipmapped-width
- maximum-texture1d-width
- maximum-texture2d-height
- maximum-texture2d-layered-height
- maximum-texture2d-layered-layers
- maximum-texture2d-linear-height
- maximum-texture2d-linear-pitch
- maximum-texture2d-linear-width
- maximum-texture2d-mipmapped-height
- maximum-texture2d-mipmapped-width
- maximum-texture2d-width
- maximum-texture3d-depth
- maximum-texture3d-depth-alternate
- maximum-texture3d-height
- maximum-texture3d-height-alternate
- maximum-texture3d-width
- maximum-texture3d-width-alternate
- maximum-texturecubemap-layered-layers
- maximum-texturecubemap-layered-width
- maximum-texturecubemap-width
- memory-clock-rate
- multi-gpu-board
- multi-gpu-board-group-id
- multiprocessor-count
- num-regs
- pci-bus-id
- pci-bus-id-string
- pci-device-id
- pci-domain-id
- ptx-version
- shared-config
- shared-config!
- shared-config*
- shared-size
- stream-flag
- stream-priorities-supported
- stream-priority
- stream-priority-range
- surface-alignment
- tcc-driver
- texture-alignment
- texture-pitch-alignment
- total-constant-memory
- total-mem
- unified-addressing
- warp-size
uncomplicate.clojurecuda.internal.constants
Defines constants and mappings from/to CUDA constants.
Public variables and functions:
uncomplicate.clojurecuda.toolbox
Various helpers that are not needed by ClojureCUDA itself, but may be very helpful in applications. See Neanderthal and Bayadera libraries for the examples of how to use them.
diff --git a/codox/uncomplicate.clojurecuda.core.html b/codox/uncomplicate.clojurecuda.core.html index d83b85b..3f98471 100644 --- a/codox/uncomplicate.clojurecuda.core.html +++ b/codox/uncomplicate.clojurecuda.core.html @@ -1,6 +1,6 @@ -Generated by Codox with RDash UI theme
Clojurecuda 0.18.0
uncomplicate.clojurecuda.core
Core ClojureCUDA functions for CUDA host programming. The kernels should be provided as strings (that may be stored and read from files) or binaries, written in CUDA C/C++.
+Generated by Codox with RDash UI theme
Clojurecuda 0.19.0
uncomplicate.clojurecuda.core
Core ClojureCUDA functions for CUDA host programming. The kernels should be provided as strings (that may be stored and read from files) or binaries, written in CUDA C/C++.
Many examples are available in ClojureCUDA core test. You can see how to write CUDA kernels here and here and examples of how to load them here.
For more advanced examples, please read the source code of the CUDA engine of Neanderthal linear algebra library (mainly general CUDA and cuBLAS are used there), and the Deep Diamond tensor and linear algebra library (for extensive use of cuDNN).
Here’s a categorized map of core functions. Most functions throw ExceptionInfo
in case of errors thrown by the CUDA driver.
Generated by Codox with RDash UI theme
Clojurecuda 0.18.0
uncomplicate.clojurecuda.info
Info functions for all CUDA objects (devices, etc…).
+Generated by Codox with RDash UI theme
Clojurecuda 0.19.0
uncomplicate.clojurecuda.info
Info functions for all CUDA objects (devices, etc…).
cache-config
(cache-config)
Returns the preferred cache configuration for the current context.
diff --git a/codox/uncomplicate.clojurecuda.internal.constants.html b/codox/uncomplicate.clojurecuda.internal.constants.html index 7633bc7..3fc40a7 100644 --- a/codox/uncomplicate.clojurecuda.internal.constants.html +++ b/codox/uncomplicate.clojurecuda.internal.constants.html @@ -1,6 +1,6 @@ -Generated by Codox with RDash UI theme
Clojurecuda 0.18.0
uncomplicate.clojurecuda.internal.constants
Defines constants and mappings from/to CUDA constants.
+Generated by Codox with RDash UI theme
Clojurecuda 0.19.0
uncomplicate.clojurecuda.internal.constants
Defines constants and mappings from/to CUDA constants.
cu-result-codes
CUDA Error messages as defined in CUresult.
diff --git a/codox/uncomplicate.clojurecuda.toolbox.html b/codox/uncomplicate.clojurecuda.toolbox.html index 1bee1d0..9ff99b6 100644 --- a/codox/uncomplicate.clojurecuda.toolbox.html +++ b/codox/uncomplicate.clojurecuda.toolbox.html @@ -1,4 +1,4 @@ -Generated by Codox with RDash UI theme
Clojurecuda 0.18.0
uncomplicate.clojurecuda.toolbox
Various helpers that are not needed by ClojureCUDA itself, but may be very helpful in applications. See Neanderthal and Bayadera libraries for the examples of how to use them.
+Generated by Codox with RDash UI theme
Clojurecuda 0.19.0
uncomplicate.clojurecuda.toolbox
Various helpers that are not needed by ClojureCUDA itself, but may be very helpful in applications. See Neanderthal and Bayadera libraries for the examples of how to use them.
launch-reduce!
(launch-reduce! hstream main-kernel reduction-kernel main-params reduction-params n local-n)
(launch-reduce! hstream main-kernel reduction-kernel main-params reduction-params m n local-m local-n)