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.
Public variables and functions: