Liking cljdoc? Tell your friends :D

tech.compute.tvm


->moduleclj

(->module driver
          sched-data-seq
          &
          {:keys [build-config target-host]
           :or {build-config tvm-api/default-build-config target-host :llvm}
           :as opts})

Given a sequence of schedule-data, return a map of name to clojure callable function. A module is created and added to the resource context transparently. Schedule data: {:name :fn-name :arglist arguments :schedule schedule :bind-map (optional) bind-map } returns: {:module module :fn-map map of name->IFn (clojure callable function.)

Given a sequence of schedule-data, return a map of name to clojure
callable function.
A module is created and added to the resource context transparently.
Schedule data:
{:name :fn-name
 :arglist arguments
 :schedule schedule
 :bind-map (optional) bind-map
}
returns:
{:module module
 :fn-map map of name->IFn (clojure callable function.)
raw docstring

as-cpu-tensorclj

(as-cpu-tensor data & {:keys [shape datatype]})

call-functionclj

(call-function stream fn & args)

Call a tvm function on this stream with these arguments.

Call a tvm function on this stream with these arguments.
raw docstring

cpu?clj

(cpu? item)

deviceclj

(device device-type & [device-id])

device-idclj

(device-id item)

Generically get the tvm device id from a thing.

Generically get the tvm device id from a thing.
raw docstring

device-id->deviceclj

(device-id->device driver device-id)

device-typeclj

(device-type item)

Generically get the tvm device type from a thing

Generically get the tvm device type from a thing
raw docstring

driverclj

(driver device-type)

enable-cpu-driver!clj

(enable-cpu-driver!)

enable-gpu-drivers!clj

(enable-gpu-drivers!)

enable-tensor-math!clj

(enable-tensor-math!)

enumerate-device-idsclj

(enumerate-device-ids device-type)

gpu-scheduling?clj

(gpu-scheduling? item)

has-byte-offset?clj

(has-byte-offset? buffer)

Used for code generation, because some tvm driver buffer types do not support pointer offsetting, you pass in a pointer + byte offset when doing' code generation.

Used for code generation, because some tvm driver buffer types do not
support pointer offsetting, you pass in a pointer + byte offset when doing'
code generation.
raw docstring

make-cpu-device-bufferclj

(make-cpu-device-buffer datatype elem-count)

Make a cpu device buffer. These are used as host buffers for all devices and device buffers for the cpu device.

Make a cpu device buffer.  These are used as host buffers for all devices and device
buffers for the cpu device.
raw docstring

scalar-datatype->device-datatypeclj

(scalar-datatype->device-datatype driver scalar-datatype)

schedule->fnclj

(schedule->fn driver
              {:keys [schedule name arglist bind-map] :as schedule-data}
              &
              args)

schedule-injective!clj

(schedule-injective! driver schedule compute-op-or-vec options)

A large class of functions are injective, meaning that they are result-element by result-element parallelizeable. Thus fusing all axis and then running things in parallel works at least passably well.

A large class of functions are injective, meaning that they are result-element
by result-element parallelizeable.  Thus fusing all axis and then running things
in parallel works at least passably well.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close