This is the petalisp Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Nov 06 14:32:22 2023 GMT+0.
petalisp/petalisp.asd
petalisp.api/petalisp.api.asd
petalisp.utilities/petalisp.utilities.asd
petalisp.core/petalisp.core.asd
petalisp.ir/petalisp.ir.asd
petalisp.codegen/petalisp.codegen.asd
petalisp.native-backend/petalisp.native-backend.asd
petalisp.test-suite/petalisp.test-suite.asd
petalisp.api/differentiator.lisp
petalisp.api/lazy-broadcast.lisp
petalisp.api/lazy-change-shape.lisp
petalisp.api/lazy-drop-axes.lisp
petalisp.api/lazy-harmonize.lisp
petalisp.api/lazy-index-components.lisp
petalisp.api/lazy.lisp
petalisp.api/lazy-multiple-value.lisp
petalisp.api/lazy-multireduce.lisp
petalisp.api/lazy-overwrite.lisp
petalisp.api/lazy-reduce.lisp
petalisp.api/lazy-reshape.lisp
petalisp.api/lazy-slice.lisp
petalisp.api/lazy-slices.lisp
petalisp.api/lazy-sort.lisp
petalisp.api/lazy-stack.lisp
petalisp.api/network.lisp
petalisp.api/packages.lisp
petalisp.api/reshapers.lisp
petalisp.api/shape-syntax.lisp
petalisp.api/transform.lisp
petalisp.api/with-lazy-arrays.lisp
petalisp.api/with-backend.lisp
petalisp.api/documentation.lisp
petalisp.utilities/packages.lisp
petalisp.utilities/documentation.lisp
petalisp.utilities/cqueue.lisp
petalisp.utilities/extended-euclid.lisp
petalisp.utilities/powers-of-two.lisp
petalisp.utilities/prime-factors.lisp
petalisp.utilities/with-collectors.lisp
petalisp.utilities/number-of-cpus.lisp
petalisp.utilities/graph-coloring.lisp
petalisp.utilities/karmarkar-karp.lisp
petalisp.utilities/scheduling.lisp
petalisp.utilities/with-pinned-objects.lisp
petalisp.core/packages.lisp
petalisp.core/range.lisp
petalisp.core/shape.lisp
petalisp.core/transformation.lisp
petalisp.core/transformation-constructors.lisp
petalisp.core/lazy-array.lisp
petalisp.core/lazy-ref.lisp
petalisp.core/lazy-fuse.lisp
petalisp.core/lazy-map.lisp
petalisp.core/substitute-lazy-arrays.lisp
petalisp.core/backend.lisp
petalisp.core/reference-backend.lisp
petalisp.ir/packages.lisp
petalisp.ir/device.lisp
petalisp.ir/ir.lisp
petalisp.ir/ir-checker.lisp
petalisp.ir/ir-conversion.lisp
petalisp.ir/partitioning.lisp
petalisp.ir/coloring.lisp
petalisp.ir/documentation.lisp
petalisp.codegen/packages.lisp
petalisp.codegen/indexing.lisp
petalisp.codegen/load-foreign-code.lisp
petalisp.codegen/generic-functions.lisp
petalisp.codegen/blueprint.lisp
petalisp.codegen/bpinfo.lisp
petalisp.codegen/compile-cache.lisp
petalisp.codegen/lisp-compiler.lisp
petalisp.codegen/lisp-interpreter.lisp
petalisp.codegen/cpp-from-lisp.lisp
petalisp.codegen/cpp-compiler.lisp
petalisp.codegen/mixins.lisp
petalisp.codegen/ir-backend.lisp
petalisp.native-backend/packages.lisp
petalisp.native-backend/request.lisp
petalisp.native-backend/pin-current-thread.lisp
petalisp.native-backend/worker-pool.lisp
petalisp.native-backend/backend.lisp
petalisp.native-backend/scheduling.lisp
petalisp.native-backend/allocation.lisp
petalisp.native-backend/evaluator.lisp
petalisp.native-backend/compilation.lisp
petalisp.test-suite/packages.lisp
petalisp.test-suite/test-suite.lisp
petalisp.test-suite/testing-backend.lisp
petalisp.test-suite/code-statistics.lisp
petalisp.test-suite/defgenerator.lisp
petalisp.test-suite/generators.lisp
petalisp.test-suite/run-petalisp-test-suite.lisp
petalisp.test-suite/petalisp.core.lisp
petalisp.test-suite/petalisp.api.lisp
petalisp.test-suite/petalisp.examples.lisp
The main system appears first, followed by any subsystem dependency.
petalisp
petalisp.api
petalisp.utilities
petalisp.core
petalisp.ir
petalisp.codegen
petalisp.native-backend
petalisp.test-suite
petalisp
Elegant High Performance Computing
Marco Heisig <marco.heisig@fau.de>
AGPLv3
petalisp.api
(system).
petalisp.test-suite
(system).
petalisp.api
A Convenient API for Petalisp.
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
trivia
(system).
split-sequence
(system).
trivial-macroexpand-all
(system).
petalisp.utilities
(system).
petalisp.core
(system).
petalisp.ir
(system).
petalisp.codegen
(system).
petalisp.native-backend
(system).
differentiator.lisp
(file).
lazy-broadcast.lisp
(file).
lazy-change-shape.lisp
(file).
lazy-drop-axes.lisp
(file).
lazy-harmonize.lisp
(file).
lazy-index-components.lisp
(file).
lazy.lisp
(file).
lazy-multiple-value.lisp
(file).
lazy-multireduce.lisp
(file).
lazy-overwrite.lisp
(file).
lazy-reduce.lisp
(file).
lazy-reshape.lisp
(file).
lazy-slice.lisp
(file).
lazy-slices.lisp
(file).
lazy-sort.lisp
(file).
lazy-stack.lisp
(file).
network.lisp
(file).
packages.lisp
(file).
reshapers.lisp
(file).
shape-syntax.lisp
(file).
transform.lisp
(file).
with-lazy-arrays.lisp
(file).
with-backend.lisp
(file).
documentation.lisp
(file).
petalisp.utilities
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
bordeaux-threads
(system).
queues.priority-queue
(system).
trivia
(system).
trivial-garbage
(system).
packages.lisp
(file).
documentation.lisp
(file).
cqueue.lisp
(file).
extended-euclid.lisp
(file).
powers-of-two.lisp
(file).
prime-factors.lisp
(file).
with-collectors.lisp
(file).
number-of-cpus.lisp
(file).
graph-coloring.lisp
(file).
karmarkar-karp.lisp
(file).
scheduling.lisp
(file).
with-pinned-objects.lisp
(file).
petalisp.core
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
bordeaux-threads
(system).
lparallel
(system).
trivia
(system).
petalisp.utilities
(system).
typo
(system).
packages.lisp
(file).
range.lisp
(file).
shape.lisp
(file).
transformation.lisp
(file).
transformation-constructors.lisp
(file).
lazy-array.lisp
(file).
lazy-ref.lisp
(file).
lazy-fuse.lisp
(file).
lazy-map.lisp
(file).
substitute-lazy-arrays.lisp
(file).
backend.lisp
(file).
reference-backend.lisp
(file).
petalisp.ir
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
ucons
(system).
priority-queue
(system).
split-sequence
(system).
petalisp.utilities
(system).
petalisp.core
(system).
packages.lisp
(file).
device.lisp
(file).
ir.lisp
(file).
ir-checker.lisp
(file).
ir-conversion.lisp
(file).
partitioning.lisp
(file).
coloring.lisp
(file).
documentation.lisp
(file).
petalisp.codegen
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
cffi
(system).
ucons
(system).
petalisp.utilities
(system).
petalisp.core
(system).
petalisp.ir
(system).
trivia
(system).
trivial-macroexpand-all
(system).
packages.lisp
(file).
indexing.lisp
(file).
load-foreign-code.lisp
(file).
generic-functions.lisp
(file).
blueprint.lisp
(file).
bpinfo.lisp
(file).
compile-cache.lisp
(file).
lisp-compiler.lisp
(file).
lisp-interpreter.lisp
(file).
cpp-from-lisp.lisp
(file).
cpp-compiler.lisp
(file).
mixins.lisp
(file).
ir-backend.lisp
(file).
petalisp.native-backend
Marco Heisig <marco.heisig@fau.de>
AGPLv3
alexandria
(system).
bordeaux-threads
(system).
cffi
(system).
lparallel
(system).
trivia
(system).
trivial-garbage
(system).
petalisp.utilities
(system).
petalisp.core
(system).
petalisp.ir
(system).
petalisp.codegen
(system).
static-vectors
(system).
typo
(system).
packages.lisp
(file).
request.lisp
(file).
pin-current-thread.lisp
(file).
worker-pool.lisp
(file).
backend.lisp
(file).
scheduling.lisp
(file).
allocation.lisp
(file).
evaluator.lisp
(file).
compilation.lisp
(file).
petalisp.test-suite
A comprehensive test suite for Petalisp.
Marco Heisig <marco.heisig@fau.de>
AGPLv3
asdf
(system).
bordeaux-threads
(system).
closer-mop
(system).
petalisp.examples
(system).
petalisp.api
(system).
petalisp.native-backend
(system).
packages.lisp
(file).
test-suite.lisp
(file).
testing-backend.lisp
(file).
code-statistics.lisp
(file).
defgenerator.lisp
(file).
generators.lisp
(file).
run-petalisp-test-suite.lisp
(file).
petalisp.core.lisp
(file).
petalisp.api.lisp
(file).
petalisp.examples.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
petalisp/petalisp.asd
petalisp.api/petalisp.api.asd
petalisp.utilities/petalisp.utilities.asd
petalisp.core/petalisp.core.asd
petalisp.ir/petalisp.ir.asd
petalisp.codegen/petalisp.codegen.asd
petalisp.native-backend/petalisp.native-backend.asd
petalisp.test-suite/petalisp.test-suite.asd
petalisp.api/differentiator.lisp
petalisp.api/lazy-broadcast.lisp
petalisp.api/lazy-change-shape.lisp
petalisp.api/lazy-drop-axes.lisp
petalisp.api/lazy-harmonize.lisp
petalisp.api/lazy-index-components.lisp
petalisp.api/lazy.lisp
petalisp.api/lazy-multiple-value.lisp
petalisp.api/lazy-multireduce.lisp
petalisp.api/lazy-overwrite.lisp
petalisp.api/lazy-reduce.lisp
petalisp.api/lazy-reshape.lisp
petalisp.api/lazy-slice.lisp
petalisp.api/lazy-slices.lisp
petalisp.api/lazy-sort.lisp
petalisp.api/lazy-stack.lisp
petalisp.api/network.lisp
petalisp.api/packages.lisp
petalisp.api/reshapers.lisp
petalisp.api/shape-syntax.lisp
petalisp.api/transform.lisp
petalisp.api/with-lazy-arrays.lisp
petalisp.api/with-backend.lisp
petalisp.api/documentation.lisp
petalisp.utilities/packages.lisp
petalisp.utilities/documentation.lisp
petalisp.utilities/cqueue.lisp
petalisp.utilities/extended-euclid.lisp
petalisp.utilities/powers-of-two.lisp
petalisp.utilities/prime-factors.lisp
petalisp.utilities/with-collectors.lisp
petalisp.utilities/number-of-cpus.lisp
petalisp.utilities/graph-coloring.lisp
petalisp.utilities/karmarkar-karp.lisp
petalisp.utilities/scheduling.lisp
petalisp.utilities/with-pinned-objects.lisp
petalisp.core/packages.lisp
petalisp.core/range.lisp
petalisp.core/shape.lisp
petalisp.core/transformation.lisp
petalisp.core/transformation-constructors.lisp
petalisp.core/lazy-array.lisp
petalisp.core/lazy-ref.lisp
petalisp.core/lazy-fuse.lisp
petalisp.core/lazy-map.lisp
petalisp.core/substitute-lazy-arrays.lisp
petalisp.core/backend.lisp
petalisp.core/reference-backend.lisp
petalisp.ir/packages.lisp
petalisp.ir/device.lisp
petalisp.ir/ir.lisp
petalisp.ir/ir-checker.lisp
petalisp.ir/ir-conversion.lisp
petalisp.ir/partitioning.lisp
petalisp.ir/coloring.lisp
petalisp.ir/documentation.lisp
petalisp.codegen/packages.lisp
petalisp.codegen/indexing.lisp
petalisp.codegen/load-foreign-code.lisp
petalisp.codegen/generic-functions.lisp
petalisp.codegen/blueprint.lisp
petalisp.codegen/bpinfo.lisp
petalisp.codegen/compile-cache.lisp
petalisp.codegen/lisp-compiler.lisp
petalisp.codegen/lisp-interpreter.lisp
petalisp.codegen/cpp-from-lisp.lisp
petalisp.codegen/cpp-compiler.lisp
petalisp.codegen/mixins.lisp
petalisp.codegen/ir-backend.lisp
petalisp.native-backend/packages.lisp
petalisp.native-backend/request.lisp
petalisp.native-backend/pin-current-thread.lisp
petalisp.native-backend/worker-pool.lisp
petalisp.native-backend/backend.lisp
petalisp.native-backend/scheduling.lisp
petalisp.native-backend/allocation.lisp
petalisp.native-backend/evaluator.lisp
petalisp.native-backend/compilation.lisp
petalisp.test-suite/packages.lisp
petalisp.test-suite/test-suite.lisp
petalisp.test-suite/testing-backend.lisp
petalisp.test-suite/code-statistics.lisp
petalisp.test-suite/defgenerator.lisp
petalisp.test-suite/generators.lisp
petalisp.test-suite/run-petalisp-test-suite.lisp
petalisp.test-suite/petalisp.core.lisp
petalisp.test-suite/petalisp.api.lisp
petalisp.test-suite/petalisp.examples.lisp
petalisp.utilities/petalisp.utilities.asd
petalisp.utilities
(system).
petalisp.codegen/petalisp.codegen.asd
petalisp.codegen
(system).
petalisp.native-backend/petalisp.native-backend.asd
petalisp.native-backend
(system).
petalisp.test-suite/petalisp.test-suite.asd
petalisp.test-suite
(system).
petalisp.api/differentiator.lisp
lazy-reshape.lisp
(file).
lazy-overwrite.lisp
(file).
lazy.lisp
(file).
lazy-reduce.lisp
(file).
petalisp.api
(system).
differentiator
(function).
move-axis-to-front
(function).
print-object
(method).
ad-record
(structure).
ad-record-alist
(reader).
(setf ad-record-alist)
(writer).
ad-record-input-gradient
(function).
ad-record-input-gradient-cache
(macro).
ad-record-input-gradient-caches
(reader).
(setf ad-record-input-gradient-caches)
(writer).
ad-record-lazy-array
(reader).
ad-record-output-gradient
(function).
ad-record-output-gradient-cache
(reader).
(setf ad-record-output-gradient-cache)
(writer).
coerce-to-ntype
(function).
input-gradient
(generic function).
make-ad-record
(function).
sum-axis
(function).
petalisp.api/lazy-broadcast.lisp
lazy-reshape.lisp
(file).
petalisp.api
(system).
lazy-broadcast
(function).
lazy-broadcast-list-of-arrays
(function).
broadcast-ranges
(function).
make-broadcasting-transformation
(function).
petalisp.api/lazy-change-shape.lisp
shape-syntax.lisp
(file).
petalisp.api
(system).
factorize-shape
(function).
insert-axis-after
(function).
insert-axis-before
(function).
lazy-change-shape
(function).
lazy-change-shape/normalized
(function).
remove-axis-after
(function).
remove-axis-before
(function).
reshape/flatten
(function).
reshape/unflatten
(function).
petalisp.api/lazy-drop-axes.lisp
lazy-reshape.lisp
(file).
petalisp.api
(system).
lazy-drop-axes
(function).
petalisp.api/lazy-harmonize.lisp
lazy.lisp
(file).
lazy-overwrite.lisp
(file).
petalisp.api
(system).
harmonized-element-type
(function).
lazy-fuse-and-harmonize
(function).
lazy-harmonize
(function).
lazy-harmonize-list-of-arrays
(function).
lazy-overwrite-and-harmonize
(function).
petalisp.api/lazy-index-components.lisp
packages.lisp
(file).
petalisp.api
(system).
lazy-index-components
(function).
petalisp.api/lazy.lisp
lazy-broadcast.lisp
(file).
petalisp.api
(system).
lazy
(function).
petalisp.api/lazy-multiple-value.lisp
lazy-broadcast.lisp
(file).
petalisp.api
(system).
lazy-multiple-value
(function).
petalisp.api/lazy-multireduce.lisp
lazy-reduce.lisp
(file).
petalisp.api
(system).
lazy-multireduce
(function).
petalisp.api/lazy-overwrite.lisp
packages.lisp
(file).
petalisp.api
(system).
lazy-overwrite
(function).
petalisp.api/lazy-reduce.lisp
lazy-multiple-value.lisp
(file).
lazy-reshape.lisp
(file).
lazy-drop-axes.lisp
(file).
lazy-stack.lisp
(file).
petalisp.api
(system).
lazy-reduce
(function).
lazy-reduce-aux
(function).
petalisp.api/lazy-reshape.lisp
shape-syntax.lisp
(file).
lazy-change-shape.lisp
(file).
petalisp.api
(system).
lazy-reshape
(function).
lazy-reshape-aux
(function).
lazy-reshape-aux/function
(function).
lazy-reshape-aux/integer
(function).
lazy-reshape-aux/shape
(function).
lazy-reshape-aux/transformation
(function).
petalisp.api/lazy-slice.lisp
packages.lisp
(file).
petalisp.api
(system).
lazy-slice
(function).
petalisp.api/lazy-slices.lisp
packages.lisp
(file).
petalisp.api
(system).
lazy-slices
(function).
petalisp.api/lazy-sort.lisp
lazy-reshape.lisp
(file).
lazy-multiple-value.lisp
(file).
petalisp.api
(system).
lazy-sort
(function).
petalisp.api/lazy-stack.lisp
lazy-overwrite.lisp
(file).
lazy-reshape.lisp
(file).
petalisp.api
(system).
lazy-stack
(function).
petalisp.api/network.lisp
lazy.lisp
(file).
lazy-reshape.lisp
(file).
petalisp.api
(system).
call-network
(function).
make-network
(function).
network
(class).
network-outputs
(reader method).
network-parameters
(reader method).
network-evaluator
(reader method).
petalisp.api/packages.lisp
petalisp.api
(system).
*backend*
(special variable).
petalisp.api/reshapers.lisp
lazy-reshape.lisp
(file).
petalisp.api
(system).
collapsing-reshaper
(function).
flattening-reshaper
(function).
peeling-reshaper
(function).
permuting-reshaper
(function).
petalisp.api/shape-syntax.lisp
packages.lisp
(file).
petalisp.api
(system).
print-object
(method).
~
(constant).
~
(function).
~*
(constant).
~*
(function).
listify-range-for-printing
(function).
listify-shape-for-printing
(function).
parse-shape
(function).
parse-shape-pattern
(function).
shape-syntax-delimiter
(type).
petalisp.api/transform.lisp
packages.lisp
(file).
petalisp.api
(system).
print-object
(method).
transform
(macro).
*alphabet*
(special variable).
*free-variables*
(special variable).
canonicalize-transform-input
(function).
compute-transform-input-mask
(function).
compute-transform-output-functions
(function).
expand-transform
(function).
free-variables
(function).
make-transform-transformation
(function).
parse-transform-inputs
(function).
parse-transform-output
(function).
parse-transform-outputs
(function).
register-free-variable
(function).
transformation-input-symbol
(function).
petalisp.api/with-lazy-arrays.lisp
packages.lisp
(file).
petalisp.api
(system).
with-lazy-arrays
(macro).
petalisp.api/with-backend.lisp
packages.lisp
(file).
petalisp.api
(system).
with-backend
(macro).
petalisp.api/documentation.lisp
differentiator.lisp
(file).
lazy-broadcast.lisp
(file).
lazy-drop-axes.lisp
(file).
lazy-harmonize.lisp
(file).
lazy-index-components.lisp
(file).
lazy.lisp
(file).
lazy-multiple-value.lisp
(file).
lazy-multireduce.lisp
(file).
lazy-overwrite.lisp
(file).
lazy-reduce.lisp
(file).
lazy-reshape.lisp
(file).
reshapers.lisp
(file).
lazy-slice.lisp
(file).
lazy-slices.lisp
(file).
lazy-sort.lisp
(file).
lazy-stack.lisp
(file).
network.lisp
(file).
packages.lisp
(file).
shape-syntax.lisp
(file).
transform.lisp
(file).
with-lazy-arrays.lisp
(file).
with-backend.lisp
(file).
petalisp.api
(system).
petalisp.utilities/packages.lisp
petalisp.utilities
(system).
petalisp.utilities/documentation.lisp
packages.lisp
(file).
petalisp.utilities
(system).
document-compiler-macro
(macro).
document-compiler-macros
(macro).
document-function
(macro).
document-functions
(macro).
document-method-combination
(macro).
document-method-combinations
(macro).
document-setf-expander
(macro).
document-setf-expanders
(macro).
document-structure
(macro).
document-structures
(macro).
document-variable
(macro).
document-variables
(macro).
build-documentation
(function).
document-type
(macro).
document-types
(macro).
ensure-documentation
(function).
expand-documentation
(macro).
petalisp.utilities/cqueue.lisp
documentation.lisp
(file).
petalisp.utilities
(system).
cqueue
(structure).
cqueue-dequeue
(function).
cqueue-enqueue
(function).
cqueuep
(function).
make-cqueue
(function).
cqueue-h-lock
(reader).
(setf cqueue-h-lock)
(writer).
cqueue-head
(reader).
(setf cqueue-head)
(writer).
cqueue-t-lock
(reader).
(setf cqueue-t-lock)
(writer).
cqueue-tail
(reader).
(setf cqueue-tail)
(writer).
petalisp.utilities/extended-euclid.lisp
cqueue.lisp
(file).
petalisp.utilities
(system).
extended-euclid
(function).
small-fixnum
(type).
small-non-negative-fixnum
(type).
petalisp.utilities/powers-of-two.lisp
extended-euclid.lisp
(file).
petalisp.utilities
(system).
clp2-fixnum
(type).
petalisp.utilities/prime-factors.lisp
powers-of-two.lisp
(file).
petalisp.utilities
(system).
prime-factors
(function).
primep
(function).
+table-of-primes+
(constant).
make-table-of-primes
(function).
nth-prime-max-bits
(function).
nth-prime-upper-bound
(function).
petalisp.utilities/with-collectors.lisp
prime-factors.lisp
(file).
petalisp.utilities
(system).
with-collectors
(macro).
with-collector
(macro).
petalisp.utilities/number-of-cpus.lisp
with-collectors.lisp
(file).
petalisp.utilities
(system).
number-of-cpus
(function).
petalisp.utilities/graph-coloring.lisp
number-of-cpus.lisp
(file).
petalisp.utilities
(system).
cgraph-add-conflict
(function).
cgraph-coloring
(function).
cgraph-ensure-cnode
(function).
make-cgraph
(function).
+empty-colorset+
(constant).
cgraph
(structure).
cgraph-p
(function).
cgraph-table
(reader).
(setf cgraph-table)
(writer).
cnode
(structure).
cnode-color
(reader).
(setf cnode-color)
(writer).
cnode-colorset
(reader).
(setf cnode-colorset)
(writer).
cnode-degree
(reader).
(setf cnode-degree)
(writer).
cnode-neighbors
(reader).
(setf cnode-neighbors)
(writer).
cnode-object
(reader).
cnode-p
(function).
cnode-queue-node
(reader).
(setf cnode-queue-node)
(writer).
cnode-saturation
(reader).
(setf cnode-saturation)
(writer).
cnode>
(function).
color
(type).
colorset
(type).
colorset-add
(function).
colorset-contains
(function).
colorset-next-free-color
(function).
colorset-union
(function).
copy-cgraph
(function).
copy-cnode
(function).
make-cnode
(function).
petalisp.utilities/karmarkar-karp.lisp
graph-coloring.lisp
(file).
petalisp.utilities
(system).
karmarkar-karp
(function).
*k*
(special variable).
*weight*
(special variable).
combine-subsets
(function).
combine-tuples
(function).
copy-subset
(function).
copy-tuple
(function).
make-subset
(function).
make-tuple
(function).
subset
(structure).
subset-elements
(reader).
(setf subset-elements)
(writer).
subset-p
(function).
subset-weight
(reader).
(setf subset-weight)
(writer).
tuple
(structure).
tuple-from-object
(function).
tuple-p
(function).
tuple-subset
(function).
tuple-subsets
(reader).
(setf tuple-subsets)
(writer).
tuple-weight
(reader).
(setf tuple-weight)
(writer).
tuple>
(function).
petalisp.utilities/scheduling.lisp
karmarkar-karp.lisp
(file).
petalisp.utilities
(system).
graph
(structure).
graph-add-edge
(function).
graph-ensure-node
(function).
graph-object-nodes
(reader).
(setf graph-object-nodes)
(writer).
graph-parallel-depth-first-schedule
(function).
graphp
(function).
make-graph
(function).
node
(structure).
node-depth
(reader).
(setf node-depth)
(writer).
node-height
(reader).
(setf node-height)
(writer).
node-predecessor-alist
(reader).
(setf node-predecessor-alist)
(writer).
node-successor-alist
(reader).
(setf node-successor-alist)
(writer).
nodep
(function).
print-object
(method).
copy-graph
(function).
copy-node
(function).
copy-node-into
(function).
copy-pdfs-queue
(function).
graph-compute-distances
(function).
graph-compute-node-depth
(function).
graph-compute-node-height
(function).
make-node
(function).
make-pdfs-queue
(function).
node-affinity
(reader).
(setf node-affinity)
(writer).
node-counter
(reader).
(setf node-counter)
(writer).
node-eagerness
(reader).
(setf node-eagerness)
(writer).
node-more-important-p
(function).
node-object
(reader).
(setf node-object)
(writer).
node-position
(reader).
(setf node-position)
(writer).
pdfs-queue
(structure).
pdfs-queue-increase-node-eagerness
(function).
pdfs-queue-p
(function).
pdfs-queue-pop
(function).
pdfs-queue-priority-queue
(reader).
pdfs-queue-push
(function).
pdfs-queue-size
(function).
pdfs-queue-tmpnode
(reader).
(setf pdfs-queue-tmpnode)
(writer).
petalisp.utilities/with-pinned-objects.lisp
scheduling.lisp
(file).
petalisp.utilities
(system).
with-pinned-objects
(macro).
with-pinned-objects*
(macro).
call-with-pinned-objects
(function).
touch
(function).
petalisp.core/range.lisp
packages.lisp
(file).
petalisp.core
(system).
empty-range
(function).
empty-range
(structure).
empty-range-p
(function).
fuse-ranges
(function).
map-range
(function).
non-empty-range
(structure).
non-empty-range-p
(function).
print-object
(method).
print-object
(method).
range
(compiler macro).
range
(function).
range
(structure).
range-contains
(function).
range-difference-list
(function).
range-end
(function).
range-intersection
(function).
range-intersectionp
(function).
range-last
(function).
range-size
(reader).
range-start
(reader).
range-step
(reader).
range=
(function).
rangep
(function).
size-one-range-p
(function).
split-range
(function).
subrangep
(function).
%make-empty-range
(function).
empty-range-size
(function).
make-non-empty-range
(function).
make-range
(function).
range-difference-list--contiguous
(function).
range-difference-list--single
(function).
range-intersection-start-end-step
(function).
petalisp.core/shape.lisp
range.lisp
(file).
petalisp.core
(system).
array-has-shape-p
(function).
array-shape
(function).
axis
(type).
clear-shape-table
(function).
empty-shape-p
(function).
enlarge-shape
(function).
fuse-shapes
(function).
inflate-shape
(function).
make-shape
(function).
make-shape-table
(function).
map-shape
(function).
rank
(type).
remove-shape-table-entry
(function).
shape
(structure).
shape-contains
(function).
shape-designator-shape
(generic function).
shape-difference-list
(function).
shape-dimension
(function).
shape-dimensions
(function).
shape-intersection
(function).
shape-intersectionp
(function).
shape-prefix
(function).
shape-range
(function).
shape-ranges
(reader).
shape-rank
(reader).
shape-size
(reader).
shape-subseq
(function).
shape-suffix
(function).
shape-table
(structure).
shape-table-p
(function).
shape-table-value
(function).
(setf shape-table-value)
(function).
shape<
(function).
shape=
(function).
shapep
(function).
shrink-shape
(function).
split-shape
(function).
subdivide-shapes
(function).
subshapep
(function).
%make-shape
(function).
fragment-difference-list
(function).
fragment-intersections
(function).
shape-table-ht
(reader).
subdivide-fragments
(function).
subtract-fragment-lists
(function).
petalisp.core/transformation.lisp
shape.lisp
(file).
petalisp.core
(system).
compose-transformations
(compiler macro).
compose-transformations
(function).
enlarge-transformation
(generic function).
identity-transformation
(structure).
identity-transformation-p
(function).
inflate-transformation
(generic function).
invert-transformation
(generic function).
map-transformation-inputs
(generic function).
map-transformation-outputs
(generic function).
transform-axis
(generic function).
transform-index
(generic function).
transform-shape
(generic function).
transformation
(structure).
transformation-input-mask
(reader).
transformation-input-rank
(reader).
transformation-invertiblep
(function).
transformation-offsets
(reader).
transformation-output-mask
(reader).
transformation-output-rank
(reader).
transformation-scalings
(reader).
transformation-similar
(generic function).
transformation=
(generic function).
transformationp
(function).
%make-hairy-transformation
(function).
%make-identity-transformation
(function).
compose-two-transformations
(generic function).
hairy-transformation
(structure).
hairy-transformation-input-mask
(function).
hairy-transformation-input-rank
(function).
hairy-transformation-inverse
(function).
(setf hairy-transformation-inverse)
(function).
hairy-transformation-offsets
(function).
hairy-transformation-output-mask
(function).
hairy-transformation-output-rank
(function).
hairy-transformation-p
(function).
hairy-transformation-scalings
(function).
identity-transformation-input-mask
(function).
identity-transformation-input-rank
(function).
identity-transformation-inverse
(function).
(setf identity-transformation-inverse)
(function).
identity-transformation-offsets
(function).
identity-transformation-output-mask
(function).
identity-transformation-output-rank
(function).
identity-transformation-scalings
(function).
transformation-inverse
(reader).
(setf transformation-inverse)
(writer).
petalisp.core/transformation-constructors.lisp
transformation.lisp
(file).
petalisp.core
(system).
collapsing-transformation
(function).
identity-transformation
(function).
make-transformation
(function).
normalizing-transformation
(function).
canonicalize-inputs
(function).
canonicalize-outputs
(function).
from-storage-transformation
(function).
make-identity-transformation
(function).
size-one-range-removing-transformation
(function).
petalisp.core/lazy-array.lisp
transformation-constructors.lisp
(file).
petalisp.core
(system).
*lazy-array-lock*
(special variable).
array-value
(function).
compatible-with-lazy-array-p
(function).
delayed-action
(structure).
delayed-action-inputs
(generic function).
delayed-action-p
(function).
delayed-array
(structure).
delayed-array-p
(function).
delayed-array-storage
(reader).
(setf delayed-array-storage)
(writer).
delayed-failure
(structure).
delayed-failure-condition
(reader).
delayed-failure-p
(function).
delayed-fuse
(structure).
delayed-fuse-inputs
(reader).
(setf delayed-fuse-inputs)
(writer).
delayed-fuse-p
(function).
delayed-map
(structure).
delayed-map-fnrecord
(reader).
(setf delayed-map-fnrecord)
(writer).
delayed-map-inputs
(reader).
(setf delayed-map-inputs)
(writer).
delayed-map-number-of-values
(function).
delayed-map-p
(function).
delayed-multiple-value-map
(structure).
delayed-multiple-value-map-fnrecord
(function).
(setf delayed-multiple-value-map-fnrecord)
(function).
delayed-multiple-value-map-inputs
(function).
(setf delayed-multiple-value-map-inputs)
(function).
delayed-multiple-value-map-p
(function).
delayed-multiple-value-map-refbits
(reader).
(setf delayed-multiple-value-map-refbits)
(writer).
delayed-multiple-value-map-values-ntype
(reader).
delayed-nop
(structure).
delayed-nop-p
(function).
delayed-nth-value
(structure).
delayed-nth-value-input
(reader).
(setf delayed-nth-value-input)
(writer).
delayed-nth-value-number
(reader).
(setf delayed-nth-value-number)
(writer).
delayed-nth-value-p
(function).
delayed-range
(structure).
delayed-range-p
(function).
delayed-reshape
(structure).
delayed-reshape-input
(reader).
(setf delayed-reshape-input)
(writer).
delayed-reshape-p
(function).
delayed-reshape-transformation
(reader).
(setf delayed-reshape-transformation)
(writer).
delayed-unknown
(structure).
delayed-unknown-p
(function).
delayed-wait
(structure).
delayed-wait-delayed-action
(reader).
(setf delayed-wait-delayed-action)
(writer).
delayed-wait-p
(function).
delayed-wait-request
(reader).
empty-lazy-array
(function).
empty-lazy-arrays
(function).
lazy-array
(function).
lazy-array
(structure).
lazy-array-delayed-action
(reader).
(setf lazy-array-delayed-action)
(writer).
lazy-array-depth
(reader).
lazy-array-dimension
(function).
lazy-array-dimensions
(function).
lazy-array-element-type
(function).
lazy-array-from-array
(function).
lazy-array-from-range
(function).
lazy-array-from-scalar
(function).
lazy-array-inputs
(function).
lazy-array-ntype
(reader).
lazy-array-p
(function).
lazy-array-range
(function).
lazy-array-ranges
(function).
lazy-array-rank
(function).
lazy-array-refcount
(reader).
(setf lazy-array-refcount)
(writer).
lazy-array-shape
(reader).
lazy-array-size
(function).
lazy-unknown-p
(function).
lazy-unknowns
(function).
make-delayed-array
(function).
make-rank-zero-array
(function).
make-unknown
(function).
print-object
(method).
shape-designator-shape
(method).
subdivide-arrays
(function).
value-array
(function).
%make-delayed-array
(function).
%make-delayed-fuse
(function).
%make-delayed-map
(function).
%make-delayed-multiple-value-map
(function).
%make-delayed-nth-value
(function).
%make-delayed-reshape
(function).
copy-delayed-array
(function).
copy-delayed-failure
(function).
copy-delayed-fuse
(function).
copy-delayed-map
(function).
copy-delayed-multiple-value-map
(function).
copy-delayed-nop
(function).
copy-delayed-nth-value
(function).
copy-delayed-range
(function).
copy-delayed-reshape
(function).
copy-delayed-unknown
(function).
copy-delayed-wait
(function).
delayed-multiple-value-map-refbits-lock
(reader).
(setf delayed-multiple-value-map-refbits-lock)
(writer).
make-delayed-failure
(function).
make-delayed-fuse
(function).
make-delayed-map
(function).
make-delayed-multiple-value-map
(function).
make-delayed-nop
(function).
make-delayed-nth-value
(function).
make-delayed-range
(function).
make-delayed-reshape
(function).
make-delayed-unknown
(function).
make-delayed-wait
(function).
make-lazy-array
(function).
maxdepth
(function).
simplify-array
(function).
trivial-lazy-array-p
(generic function).
trivial-lazy-array-value
(generic function).
trivial-object-p
(function).
trivial-object-value
(function).
petalisp.core/lazy-ref.lisp
lazy-array.lisp
(file).
petalisp.core
(system).
lazy-ref
(function).
lazy-reshape-using-transformation
(function).
add-transformation-constraints
(function).
petalisp.core/lazy-fuse.lisp
lazy-ref.lisp
(file).
petalisp.core
(system).
lazy-fuse
(function).
petalisp.core/lazy-map.lisp
lazy-fuse.lisp
(file).
petalisp.core
(system).
lazy-map
(function).
lazy-multiple-value-map
(function).
petalisp.core/substitute-lazy-arrays.lisp
lazy-map.lisp
(file).
petalisp.core
(system).
copy-lazy-arrays
(function).
substitute-delayed-action
(generic function).
substitute-lazy-array
(function).
substitute-lazy-arrays
(function).
*substitutions*
(special variable).
petalisp.core/backend.lisp
substitute-lazy-arrays.lisp
(file).
petalisp.core
(system).
backend
(class).
backend-compute
(generic function).
backend-compute-asynchronously
(generic function).
backend-debug-flag
(generic reader).
(setf backend-debug-flag)
(generic writer).
backend-evaluator
(generic function).
backendp
(generic function).
completedp
(function).
compute
(function).
compute-asynchronously
(function).
compute-list-of-arrays
(function).
delete-backend
(generic function).
evaluator
(function).
request
(class).
request-completedp
(generic function).
request-wait
(generic function).
requestp
(generic function).
wait
(function).
with-temporary-backend
(macro).
*backend-compute-recursion*
(special variable).
backend-stats
(class).
completed-request
(class).
deleted-backend
(class).
petalisp.core/reference-backend.lisp
backend.lisp
(file).
petalisp.core
(system).
backend-compute
(method).
make-reference-backend
(function).
*table*
(special variable).
compute-delayed-array
(function).
delayed-action-value
(generic function).
lazy-array-value
(function).
reference-backend
(class).
petalisp.ir/device.lisp
packages.lisp
(file).
petalisp.ir
(system).
core
(class).
core-memory
(generic reader).
core-name
(generic reader).
device
(class).
device-cores
(generic reader).
device-memory
(generic reader).
device-name
(generic reader).
host-device
(function).
memory
(class).
memory-bandwidth
(generic reader).
memory-children
(generic reader).
memory-cores
(generic reader).
memory-granularity
(generic reader).
memory-latency
(generic reader).
memory-name
(generic reader).
memory-parent
(generic reader).
memory-parent-bandwidth
(generic reader).
memory-size
(generic reader).
print-object
(method).
print-object
(method).
print-object
(method).
shared-initialize
(method).
shared-initialize
(method).
*suffix-factors*
(special variable).
fallback-host-device
(function).
linux-host-device
(function).
memory-children-slot
(reader method).
(setf memory-children-slot)
(writer method).
memory-cores-slot
(reader method).
(setf memory-cores-slot)
(writer method).
parse-cache-type
(function).
parse-integer-set
(function).
parse-size
(function).
suffix-factor
(function).
petalisp.ir/ir.lisp
device.lisp
(file).
petalisp.ir
(system).
*stencil-max-radius*
(special variable).
buffer
(structure).
buffer-bits
(function).
buffer-depth
(reader).
(setf buffer-depth)
(writer).
buffer-ntype
(reader).
(setf buffer-ntype)
(writer).
buffer-number
(reader).
(setf buffer-number)
(writer).
buffer-number-of-inputs
(function).
buffer-number-of-loads
(function).
buffer-number-of-outputs
(function).
buffer-number-of-stores
(function).
buffer-program
(function).
buffer-reuse-potential
(function).
buffer-shape
(reader).
(setf buffer-shape)
(writer).
buffer-size
(function).
buffer-storage
(reader).
(setf buffer-storage)
(writer).
buffer-task
(reader).
(setf buffer-task)
(writer).
bufferp
(function).
call-instruction
(structure).
call-instruction-fnrecord
(reader).
(setf call-instruction-fnrecord)
(writer).
call-instruction-function
(function).
call-instruction-inputs
(function).
(setf call-instruction-inputs)
(function).
call-instruction-number-of-values
(reader).
(setf call-instruction-number-of-values)
(writer).
call-instruction-p
(function).
compute-stencil-center
(function).
do-buffer-inputs
(macro).
do-buffer-load-instructions
(macro).
do-buffer-outputs
(macro).
do-buffer-store-instructions
(macro).
do-instruction-inputs
(macro).
do-kernel-inputs
(macro).
do-kernel-instructions
(macro).
do-kernel-load-instructions
(macro).
do-kernel-outputs
(macro).
do-kernel-store-instructions
(macro).
do-program-buffer-groups
(macro).
do-program-buffers
(macro).
do-program-kernels
(macro).
do-program-tasks
(macro).
do-stencil-instructions
(macro).
do-task-defined-buffers
(macro).
do-task-kernels
(macro).
do-task-predecessors
(macro).
do-task-successors
(macro).
ensure-array-buffer-compatibility
(function).
ensure-array-shape-ntype-compatibility
(function).
instruction
(structure).
instruction-inputs
(reader).
(setf instruction-inputs)
(writer).
instruction-number
(reader).
(setf instruction-number)
(writer).
instruction-number-of-values
(generic function).
instruction-transformation
(reader).
(setf instruction-transformation)
(writer).
instructionp
(function).
interior-buffer-p
(function).
iref-instruction
(structure).
iref-instruction-p
(function).
iref-instruction-transformation
(function).
(setf iref-instruction-transformation)
(function).
iterating-instruction
(structure).
iterating-instruction-p
(function).
kernel
(structure).
kernel-cost
(function).
kernel-instruction-vector
(reader).
(setf kernel-instruction-vector)
(writer).
kernel-iteration-space
(reader).
(setf kernel-iteration-space)
(writer).
kernel-load-stencils
(function).
kernel-number
(reader).
(setf kernel-number)
(writer).
kernel-number-of-loads
(function).
kernel-number-of-outputs
(function).
kernel-number-of-stores
(function).
kernel-program
(function).
kernel-reuse-potential
(function).
kernel-sources
(reader).
(setf kernel-sources)
(writer).
kernel-store-stencils
(function).
kernel-targets
(reader).
(setf kernel-targets)
(writer).
kernel-task
(reader).
(setf kernel-task)
(writer).
kernelp
(function).
leaf-buffer-p
(function).
load-instruction
(structure).
load-instruction-buffer
(function).
(setf load-instruction-buffer)
(function).
load-instruction-p
(function).
load-instruction-transformation
(function).
(setf load-instruction-transformation)
(function).
load-or-store-instruction
(structure).
load-or-store-instruction-p
(function).
make-array-from-shape-and-ntype
(function).
make-buffer
(function).
make-buffer-like-array
(function).
make-kernel
(function).
make-program
(function).
make-stencil
(function).
make-task
(function).
map-buffer-inputs
(function).
map-buffer-load-instructions
(function).
map-buffer-outputs
(function).
map-buffer-store-instructions
(function).
map-buffers
(function).
map-buffers-and-kernels
(function).
map-instruction-inputs
(function).
map-kernel-inputs
(function).
map-kernel-instructions
(function).
map-kernel-load-instructions
(function).
map-kernel-outputs
(function).
map-kernel-stencils
(function).
map-kernel-store-instructions
(function).
map-kernels
(function).
map-program-buffer-groups
(function).
map-program-buffers
(function).
map-program-kernels
(function).
map-program-tasks
(function).
map-stencil-instructions
(function).
map-task-defined-buffers
(function).
map-task-kernels
(function).
map-task-predecessors
(function).
map-task-successors
(function).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
program
(structure).
program-buffer
(function).
program-final-task
(reader).
(setf program-final-task)
(writer).
program-initial-task
(reader).
(setf program-initial-task)
(writer).
program-kernel
(function).
program-leaf-alist
(reader).
(setf program-leaf-alist)
(writer).
program-number-of-buffers
(reader).
(setf program-number-of-buffers)
(writer).
program-number-of-kernels
(reader).
(setf program-number-of-kernels)
(writer).
program-number-of-tasks
(function).
program-root-buffers
(reader).
(setf program-root-buffers)
(writer).
program-task-vector
(reader).
(setf program-task-vector)
(writer).
programp
(function).
reuse-optimizing-transformation
(function).
root-buffer-p
(function).
stencil
(structure).
stencil-buffer
(function).
stencil-center
(reader).
(setf stencil-center)
(writer).
stencil-from-instruction
(function).
stencil-input-rank
(function).
stencil-instructions
(reader).
(setf stencil-instructions)
(writer).
stencil-output-mask
(function).
stencil-output-rank
(function).
stencil-scalings
(function).
stencilp
(function).
store-instruction
(structure).
store-instruction-buffer
(function).
(setf store-instruction-buffer)
(function).
store-instruction-input
(function).
store-instruction-p
(function).
store-instruction-transformation
(function).
(setf store-instruction-transformation)
(function).
task
(structure).
task-number
(reader).
(setf task-number)
(writer).
task-program
(reader).
(setf task-program)
(writer).
taskp
(function).
%make-load-instruction
(function).
%make-stencil
(function).
%make-store-instruction
(function).
buffer-readers
(reader).
(setf buffer-readers)
(writer).
buffer-writers
(reader).
(setf buffer-writers)
(writer).
call-instruction-number
(function).
(setf call-instruction-number)
(function).
copy-buffer
(function).
copy-kernel
(function).
copy-program
(function).
copy-task
(function).
count-mapped-elements
(function).
delete-kernel
(function).
differs-exactly-at
(function).
do-kernel-stencils
(macro).
instruction-buffer
(reader).
(setf instruction-buffer)
(writer).
iref-instruction-inputs
(function).
(setf iref-instruction-inputs)
(function).
iref-instruction-number
(function).
(setf iref-instruction-number)
(function).
kernel-data
(reader).
(setf kernel-data)
(writer).
kernel-highest-instruction-number
(function).
kernel-number-of-inputs
(function).
load-instruction-inputs
(function).
(setf load-instruction-inputs)
(function).
load-instruction-number
(function).
(setf load-instruction-number)
(function).
make-call-instruction
(function).
make-iref-instruction
(function).
make-load-instruction
(function).
make-store-instruction
(function).
maybe-add-to-stencil
(function).
simplify-input
(function).
store-instruction-inputs
(function).
(setf store-instruction-inputs)
(function).
store-instruction-number
(function).
(setf store-instruction-number)
(function).
task-defined-buffers
(reader).
(setf task-defined-buffers)
(writer).
task-kernels
(reader).
(setf task-kernels)
(writer).
task-predecessors
(reader).
(setf task-predecessors)
(writer).
task-successors
(reader).
(setf task-successors)
(writer).
transform-buffer
(function).
transform-instruction-input
(generic function).
transform-instruction-output
(generic function).
transform-kernel
(function).
petalisp.ir/ir-checker.lisp
ir.lisp
(file).
petalisp.ir
(system).
check-ir
(function).
*ir-checker-table*
(special variable).
*ir-checker-worklist*
(special variable).
check-ir-node
(generic function).
check-ir-node-eventually
(function).
check-program
(function).
check-reverse-link
(function).
duplicates
(function).
petalisp.ir/ir-conversion.lisp
ir-checker.lisp
(file).
petalisp.ir
(system).
ir-from-lazy-arrays
(function).
program-from-lazy-arrays
(function).
%make-dendrite
(function).
*instruction-table*
(special variable).
*instruction-tables*
(special variable).
*ir-converter*
(special variable).
*prune*
(special variable).
buffer-dendrites
(macro).
clone-reference
(generic function).
cluster
(structure).
cluster-dendrites
(reader).
(setf cluster-dendrites)
(writer).
cluster-lazy-array
(reader).
(setf cluster-lazy-array)
(writer).
cluster-ntype
(function).
cluster-p
(function).
cluster-shape
(function).
collect-prune-buffer-dendrites-alist
(function).
convert-cluster
(generic function).
copy-cluster
(function).
copy-dendrite
(function).
copy-ir-converter
(function).
copy-prune
(function).
copy-stem
(function).
dendrite
(structure).
dendrite-cluster
(function).
dendrite-cons
(reader).
(setf dendrite-cons)
(writer).
dendrite-depth
(reader).
(setf dendrite-depth)
(writer).
dendrite-kernel
(function).
dendrite-p
(function).
dendrite-shape
(reader).
(setf dendrite-shape)
(writer).
dendrite-stem
(reader).
(setf dendrite-stem)
(writer).
dendrite-transformation
(reader).
(setf dendrite-transformation)
(writer).
dendrite-validp
(function).
dendrite-value-n
(function).
ensure-buffer-task
(function).
ensure-cluster
(function).
ensure-instruction-clone
(macro).
ensure-instruction-table
(function).
ensure-tasks
(function).
event-horizon
(function).
finalize-buffer
(function).
finalize-ir
(function).
finalize-kernel
(function).
find-prune
(function).
grow-dendrite
(function).
grow-dendrite-aux
(generic function).
insert-copy-kernel
(function).
ir-converter
(structure).
ir-converter-array-table
(reader).
(setf ir-converter-array-table)
(writer).
ir-converter-buffer-dendrites-table
(reader).
(setf ir-converter-buffer-dendrites-table)
(writer).
ir-converter-cluster-table
(reader).
(setf ir-converter-cluster-table)
(writer).
ir-converter-cons-updates
(reader).
(setf ir-converter-cons-updates)
(writer).
ir-converter-empty-p
(function).
ir-converter-kernel-size-threshold
(reader).
ir-converter-leaf-alist
(reader).
(setf ir-converter-leaf-alist)
(writer).
ir-converter-next-cluster
(function).
ir-converter-p
(function).
ir-converter-potentially-superfluous-buffers
(reader).
(setf ir-converter-potentially-superfluous-buffers)
(writer).
ir-converter-pqueue
(reader).
(setf ir-converter-pqueue)
(writer).
ir-converter-scalar-table
(reader).
(setf ir-converter-scalar-table)
(writer).
ir-converter-unknown-table
(reader).
(setf ir-converter-unknown-table)
(writer).
make-cluster
(function).
make-dendrite
(function).
make-ir-converter
(function).
make-prune
(function).
make-stem
(function).
make-substitute-kernel
(function).
maybe-prune
(function).
mergeable-dendrites-p
(function).
partition-dendrites
(function).
potentially-superfluous-buffer-p
(function).
prune
(structure).
prune-bits
(reader).
prune-buffers
(reader).
prune-p
(function).
prune-superfluous-buffers
(function).
recompute-kernel-instruction-vector
(function).
recompute-program-task-vector
(function).
reference-to-delayed-unknown
(function).
select-masked-elements
(function).
stem
(structure).
stem-buffers
(reader).
(setf stem-buffers)
(writer).
stem-cluster
(reader).
(setf stem-cluster)
(writer).
stem-kernel
(reader).
(setf stem-kernel)
(writer).
stem-p
(function).
stem-validp
(reader).
(setf stem-validp)
(writer).
petalisp.ir/partitioning.lisp
ir-conversion.lisp
(file).
petalisp.ir
(system).
buffer-shard
(structure).
buffer-shard-bits
(function).
buffer-shard-buffer
(reader).
buffer-shard-domain
(reader).
buffer-shard-maxdepth
(function).
buffer-shard-p
(function).
buffer-shard-parent
(reader).
buffer-shard-path
(function).
buffer-shard-primogenitor
(function).
buffer-shard-readers
(reader).
(setf buffer-shard-readers)
(writer).
buffer-shard-shape
(reader).
buffer-shard-split
(reader).
(setf buffer-shard-split)
(writer).
buffer-shard-storage
(reader).
(setf buffer-shard-storage)
(writer).
buffer-shard-writers
(reader).
(setf buffer-shard-writers)
(writer).
compute-buffer-shard-vicinity
(function).
kernel-shard
(structure).
kernel-shard-iteration-space
(reader).
kernel-shard-kernel
(reader).
kernel-shard-more-important-p
(function).
kernel-shard-p
(function).
kernel-shard-sources
(reader).
(setf kernel-shard-sources)
(writer).
kernel-shard-targets
(reader).
(setf kernel-shard-targets)
(writer).
partition-program
(function).
print-object
(method).
print-object
(method).
print-object
(method).
split
(structure).
split-axis
(reader).
split-left-child
(reader).
split-parent
(function).
split-position
(reader).
split-right-child
(reader).
splitp
(function).
storage
(structure).
storage-allocation
(reader).
(setf storage-allocation)
(writer).
storage-ghost-layer-alist
(reader).
(setf storage-ghost-layer-alist)
(writer).
storage-ntype
(reader).
storage-offset
(reader).
storage-rank
(function).
storage-size
(reader).
storage-strides
(reader).
storagep
(function).
vicinity
(structure).
vicinity-left-neighbors
(function).
vicinity-right-neighbors
(function).
vicinityp
(function).
%make-kernel-shard
(function).
*buffer-ghostspec-vector*
(special variable).
*buffer-shard-queue*
(special variable).
*buffer-shard-split-max-imbalance*
(special variable).
*buffer-shard-split-max-redundancy*
(special variable).
*buffer-shard-split-min-priority*
(special variable).
*buffer-shard-split-priority*
(special variable).
*check-shards-buffer-shards*
(special variable).
*check-shards-kernel-shards*
(special variable).
*check-shards-table*
(special variable).
*check-shards-worklist*
(special variable).
*primogenitor-buffer-shard-vector*
(special variable).
*split-queue*
(special variable).
add-child-kernel-shard
(function).
assign-storage
(function).
assign-storage-ghost-layer-alist
(function).
attempt-split
(function).
buffer-ghostspec
(function).
buffer-shard-add-reader
(function).
buffer-shard-add-writer
(function).
buffer-shard-chains
(function).
buffer-shard-guardian
(function).
buffer-shard-infants
(function).
buffer-shard-more-important-p
(function).
buffer-shard-queue-cleanup
(function).
buffer-shard-queue-emptyp
(function).
buffer-shard-queue-maybe-push
(function).
buffer-shard-queue-pop
(function).
buffer-shard-split-priority
(function).
buffer-shard-split-priority-cache
(reader).
(setf buffer-shard-split-priority-cache)
(writer).
check-shard
(generic function).
check-shard-eventually
(function).
check-shards
(function).
compute-buffer-ghostspec
(function).
compute-buffer-shard-shape
(function).
compute-program-primogenitor-buffer-shard-vector
(function).
copy-buffer-shard
(function).
copy-ghostspec
(function).
copy-kernel-shard
(function).
copy-split
(function).
copy-storage
(function).
copy-vicinity
(function).
destructure-transformoid
(function).
find-optimal-buffer-shard-split-axis
(function).
find-optimal-buffer-shard-split-position
(function).
ghostspec
(structure).
ghostspec-buffer
(reader).
ghostspec-left-padding
(function).
ghostspec-left-padding-vec
(reader).
ghostspec-pattern
(reader).
ghostspec-right-padding
(function).
ghostspec-right-padding-vec
(reader).
ghostspecp
(function).
make-buffer-shard
(function).
make-buffer-shard-queue
(function).
make-ghostspec
(function).
make-kernel-shard
(function).
make-split
(function).
make-split-queue
(function).
make-storage
(function).
make-vicinity
(function).
maxf
(macro).
primogenitor-buffer-shard
(function).
propagate-split
(function).
propagate-split/bmap
(function).
propagate-split/kmap
(function).
refine-buffer-shard
(function).
refine-kernel-shard
(function).
refine-source
(function).
refine-target
(function).
relative-position
(function).
reverse-transform-axis-and-position
(function).
shape-strides
(function).
split-more-important-p
(function).
split-queue-emptyp
(function).
split-queue-pop
(function).
split-queue-push
(function).
transform-axis-and-position
(function).
unlink-kernel-shard
(function).
vicinity-left-neighbors-vec
(reader).
vicinity-right-neighbors-vec
(reader).
petalisp.ir/coloring.lisp
partitioning.lisp
(file).
petalisp.ir
(system).
compute-program-buffer-coloring
(function).
petalisp.ir/documentation.lisp
coloring.lisp
(file).
petalisp.ir
(system).
petalisp.codegen/indexing.lisp
packages.lisp
(file).
petalisp.codegen
(system).
*index-ntype*
(special variable).
petalisp.codegen/load-foreign-code.lisp
indexing.lisp
(file).
petalisp.codegen
(system).
load-foreign-code
(function).
petalisp.codegen/generic-functions.lisp
load-foreign-code.lisp
(file).
petalisp.codegen
(system).
compile-blueprint
(generic function).
compile-kernel
(generic function).
load-function
(generic function).
source-function
(generic function).
store-function
(generic function).
target-function
(generic function).
unpack-function
(generic function).
petalisp.codegen/blueprint.lisp
generic-functions.lisp
(file).
petalisp.codegen
(system).
iteration-space-blueprint
(function).
kernel-blueprint
(function).
transformation-blueprint
(function).
*small-kernel-p*
(special variable).
buffer-stencils-alist-blueprint
(function).
fnrecord-blueprint
(function).
instruction-blueprint
(generic function).
instruction-blueprints
(function).
ranges-blueprint
(function).
stencil-instruction-offsets
(function).
stencils-blueprint
(function).
value-blueprint
(function).
petalisp.codegen/bpinfo.lisp
blueprint.lisp
(file).
petalisp.codegen
(system).
*bpinfo-indices*
(special variable).
*bpinfo-instructions*
(special variable).
*bpinfo-ranges*
(special variable).
*bpinfo-reversed-functions*
(special variable).
*bpinfo-reversed-ioffsets*
(special variable).
*bpinfo-reversed-iscalings*
(special variable).
*bpinfo-reversed-levels*
(special variable).
*bpinfo-sources*
(special variable).
*bpinfo-targets*
(special variable).
*bpnames*
(special variable).
*bpvar-counter*
(special variable).
blueprint-bpinfo
(function).
bpcall
(function).
bpcall
(structure).
bpcall-argument
(function).
bpcall-arguments
(reader).
bpcall-function
(reader).
bpcall-level
(function).
bpcall-value
(function).
bpcall-values
(function).
bpcallp
(function).
bpconstant
(structure).
bpconstant-level
(function).
bpconstant-ntype
(function).
bpconstant-value
(reader).
bpconstantp
(function).
bpeval
(function).
bpfunction
(structure).
bpfunction-instruction-number
(function).
bpfunction-level
(function).
bpfunction-name
(function).
bpfunction-ntype
(function).
bpfunctionp
(function).
bpindex*
(function).
bpindex+
(function).
bpinfo
(structure).
bpinfo-functions
(reader).
bpinfo-indices
(reader).
bpinfo-instructions
(reader).
bpinfo-ioffsets
(reader).
bpinfo-iscalings
(reader).
bpinfo-levels
(reader).
(setf bpinfo-levels)
(writer).
bpinfo-ranges
(reader).
bpinfo-rank
(function).
bpinfo-sources
(reader).
bpinfo-targets
(reader).
bpinfop
(function).
bpinstinfo
(function).
bpinstinfo
(structure).
bpinstinfo-instruction-number
(reader).
bpinstinfo-level
(function).
bpinstinfo-name
(function).
bpinstinfo-ntype
(function).
bpinstruction
(structure).
bpinstruction-level
(reader).
bpinstruction-value
(function).
bpinstruction-values
(reader).
bpinstruction-values-ntype
(function).
bpinstructionp
(function).
bpioffset
(structure).
bpioffset-instruction-number
(function).
bpioffset-level
(function).
bpioffset-name
(function).
bpioffset-ntype
(function).
bpioffsetp
(function).
bpiref
(structure).
bpiref-level
(function).
bpiref-offset
(reader).
bpiref-scaling
(reader).
bpiref-values
(function).
bpirefp
(function).
bpiscaling
(structure).
bpiscaling-instruction-number
(function).
bpiscaling-level
(function).
bpiscaling-name
(function).
bpiscaling-ntype
(function).
bpiscalingp
(function).
bpload
(structure).
bpload-index
(reader).
bpload-level
(function).
bpload-source
(reader).
bpload-values
(function).
bploadp
(function).
bpmemref
(structure).
bpmemref-base
(reader).
(setf bpmemref-base)
(writer).
bpmemref-ntype
(reader).
(setf bpmemref-ntype)
(writer).
bpmemref-rank
(reader).
(setf bpmemref-rank)
(writer).
bpmemref-start
(reader).
(setf bpmemref-start)
(writer).
bpmemref-stencil
(function).
bpmemref-stencils
(reader).
(setf bpmemref-stencils)
(writer).
bpmemref-stride
(function).
bpmemref-strides
(reader).
(setf bpmemref-strides)
(writer).
bpmemrefp
(function).
bpname
(function).
bprange
(structure).
bprange-end
(reader).
bprange-start
(reader).
bprange-step
(reader).
bprangep
(function).
bpref
(function).
bpstencil
(structure).
bpstencil-center
(reader).
(setf bpstencil-center)
(writer).
bpstencil-offsets
(reader).
bpstencil-scalings
(reader).
bpstencilp
(function).
bpstore
(structure).
bpstore-index
(reader).
bpstore-level
(function).
bpstore-target
(reader).
bpstore-value
(reader).
bpstore-values
(function).
bpstorep
(function).
bpvalue
(structure).
bpvalue-level
(reader).
bpvalue-ntype
(reader).
bpvalue=
(generic function).
bpvaluep
(function).
bpvariable
(structure).
bpvariable-level
(function).
bpvariable-name
(reader).
bpvariable-ntype
(function).
bpvariablep
(function).
compute-bpinfo-index
(function).
compute-bpinfo-indices
(function).
compute-bpinfo-ranges
(function).
compute-bpmemref
(function).
compute-bpmemrefs
(function).
compute-bprange
(function).
compute-bpstencil
(function).
copy-bpcall
(function).
copy-bpconstant
(function).
copy-bpfunction
(function).
copy-bpinfo
(function).
copy-bpinstinfo
(function).
copy-bpinstruction
(function).
copy-bpioffset
(function).
copy-bpiref
(function).
copy-bpiscaling
(function).
copy-bpload
(function).
copy-bpmemref
(function).
copy-bprange
(function).
copy-bpstencil
(function).
copy-bpstore
(function).
copy-bpvalue
(function).
copy-bpvariable
(function).
make-bpcall
(function).
make-bpconstant
(function).
make-bpfunction
(function).
make-bpinfo
(function).
make-bpinstruction
(function).
make-bpioffset
(function).
make-bpiref
(function).
make-bpiscaling
(function).
make-bpload
(function).
make-bpmemref
(function).
make-bprange
(function).
make-bpstencil
(function).
make-bpstore
(function).
make-bpvalue
(function).
make-bpvariable
(function).
next-bpvar
(function).
petalisp.codegen/compile-cache.lisp
bpinfo.lisp
(file).
petalisp.codegen
(system).
compile-cache
(structure).
compile-cache-p
(function).
compile-cache-table
(reader).
copy-compile-cache
(function).
make-compile-cache
(function).
petalisp.codegen/lisp-compiler.lisp
compile-cache.lisp
(file).
petalisp.codegen
(system).
make-kernel-lambda
(function).
unpack-array
(function).
with-debug-optimization
(macro).
with-unsafe-optimization
(macro).
with-unsafe-optimization*
(macro).
without-compiler-notes
(macro).
bind
(macro).
bpinstruction-form
(generic function).
bpvalue-form
(generic function).
flatten
(function).
lisp-compile-blueprint
(function).
lisp-translate-blueprint
(function).
make-call-form
(function).
mksym
(function).
store-instruction-offsets
(function).
store-instruction-scalings
(function).
petalisp.codegen/lisp-interpreter.lisp
lisp-compiler.lisp
(file).
petalisp.codegen
(system).
interpret-kernel
(function).
petalisp.codegen/cpp-from-lisp.lisp
lisp-interpreter.lisp
(file).
petalisp.codegen
(system).
*function-cpp-info-table*
(special variable).
blueprint-cpp-translatable-p
(function).
function-cpp-info
(function).
function-cpp-translatable-p
(function).
ntype-cpp-info
(function).
ntype-cpp-translatable-p
(function).
petalisp.codegen/cpp-compiler.lisp
cpp-from-lisp.lisp
(file).
petalisp.codegen
(system).
bpinfo-cpp-arguments
(function).
bpvalue-cffi-type
(function).
bpvalue-cpp-string
(function).
bpvalue-cpp-type
(function).
cpp-compile-blueprint
(function).
cpp-translate-argument
(function).
cpp-translate-blueprint
(function).
cpp-write-defun
(function).
cpp-write-instructions
(function).
cpp-write-loop
(function).
petalisp.codegen/mixins.lisp
cpp-compiler.lisp
(file).
petalisp.codegen
(system).
compile-blueprint
(method).
compile-blueprint
(method).
compile-blueprint
(method).
compile-blueprint
(method).
compile-blueprint
(method).
compile-blueprint
(method).
compile-cache-mixin
(class).
cpp-compiler-mixin
(class).
cuda-compiler-mixin
(class).
lisp-compiler-mixin
(class).
lisp-interpreter-mixin
(class).
lisp-plus-cpp-compiler-mixin
(class).
compile-cache
(reader method).
petalisp.codegen/ir-backend.lisp
mixins.lisp
(file).
petalisp.codegen
(system).
backend-compute
(method).
load-function
(method).
make-ir-backend
(function).
source-function
(method).
store-function
(method).
target-function
(method).
unpack-function
(method).
*chunks*
(special variable).
*nodes*
(special variable).
*worklist*
(special variable).
copy-node
(function).
ensure-node
(function).
execute-node
(function).
ir-backend
(class).
ir-backend-array
(function).
ir-backend-compile-cache
(reader method).
ir-backend-mode
(reader method).
make-node
(function).
node
(structure).
node-dependencies
(reader).
(setf node-dependencies)
(writer).
node-fn
(reader).
(setf node-fn)
(writer).
node-kernel
(reader).
(setf node-kernel)
(writer).
node-p
(function).
node-users
(reader).
(setf node-users)
(writer).
petalisp.native-backend/packages.lisp
petalisp.native-backend
(system).
petalisp.native-backend/request.lisp
packages.lisp
(file).
petalisp.native-backend
(system).
request-completedp
(method).
request-wait
(method).
requestp
(method).
%requestp
(function).
make-request
(function).
request
(structure).
request-cvar
(reader).
request-done
(reader).
(setf request-done)
(writer).
request-lock
(reader).
petalisp.native-backend/pin-current-thread.lisp
request.lisp
(file).
petalisp.native-backend
(system).
*pin-current-thread-code*
(special variable).
*pin-current-thread-library*
(special variable).
pin-current-thread
(function).
petalisp.native-backend/worker-pool.lisp
pin-current-thread.lisp
(file).
petalisp.native-backend
(system).
print-object
(method).
%make-worker
(function).
%make-worker-pool
(function).
*worker*
(special variable).
barrier
(function).
make-worker-pool
(function).
message
(function).
start-worker
(function).
worker
(structure).
worker-barrier-sense
(reader).
(setf worker-barrier-sense)
(writer).
worker-enqueue
(function).
worker-id
(reader).
worker-id
(type).
worker-loop
(function).
worker-pool
(structure).
worker-pool-active
(function).
worker-pool-barrier-countdown
(reader).
(setf worker-pool-barrier-countdown)
(writer).
worker-pool-barrier-sense
(reader).
(setf worker-pool-barrier-sense)
(writer).
worker-pool-join
(function).
worker-pool-liveness
(reader).
(setf worker-pool-liveness)
(writer).
worker-pool-p
(function).
worker-pool-size
(function).
worker-pool-worker
(function).
worker-pool-workers
(reader).
worker-queue
(reader).
(setf worker-queue)
(writer).
worker-serious-conditions
(reader).
(setf worker-serious-conditions)
(writer).
worker-thread
(reader).
(setf worker-thread)
(writer).
worker-worker-pool
(reader).
workerp
(function).
petalisp.native-backend/backend.lisp
worker-pool.lisp
(file).
petalisp.native-backend
(system).
delete-backend
(method).
initialize-instance
(method).
make-native-backend
(function).
backend
(class).
backend-worker-pool
(generic reader).
petalisp.native-backend/scheduling.lisp
backend.lisp
(file).
petalisp.native-backend
(system).
*storage-action-table*
(special variable).
action
(structure).
action-copy-invocations
(reader).
(setf action-copy-invocations)
(writer).
action-work-invocations
(reader).
(setf action-work-invocations)
(writer).
actionp
(function).
compute-schedule
(function).
copy-action
(function).
copy-invocation
(function).
ensure-actions
(function).
ensure-kernel-shard-invocation
(function).
invocation
(structure).
invocation-iteration-space
(reader).
invocation-kernel
(reader).
invocation-kfn
(reader).
invocation-sources
(reader).
(setf invocation-sources)
(writer).
invocation-targets
(reader).
(setf invocation-targets)
(writer).
invocationp
(function).
make-action
(function).
make-copy-invocation
(function).
make-invocation
(function).
make-work-invocation
(function).
merge-actions
(function).
storage-action
(function).
petalisp.native-backend/allocation.lisp
scheduling.lisp
(file).
petalisp.native-backend
(system).
+argument-allocation-category+
(constant).
+constant-allocation-category+
(constant).
+result-allocation-category+
(constant).
+worker-allocation-category-offset+
(constant).
allocate-memory
(function).
allocation
(structure).
allocation-category
(reader).
(setf allocation-category)
(writer).
allocation-color
(reader).
allocation-size-in-bytes
(reader).
allocation-unboxed
(reader).
(setf allocation-unboxed)
(writer).
allocationp
(function).
array-size-in-bytes
(function).
buffer-shard-bind
(function).
buffer-size-in-bytes
(function).
bytes-from-bits
(function).
compute-allocations
(function).
copy-allocation
(function).
free-memory
(function).
lazy-array-size-in-bytes
(function).
make-allocation
(function).
ntype-bits-per-element
(function).
ntype-unboxed-p
(function).
storage-bind
(function).
storage-size-in-bytes
(function).
petalisp.native-backend/evaluator.lisp
allocation.lisp
(file).
petalisp.native-backend
(system).
backend-evaluator
(method).
%make-cenv
(function).
%make-denv
(function).
*simulator-step*
(special variable).
argument-variables
(function).
array-storage-pointer
(function).
array-storage-vector
(function).
bind-argument
(function).
bind-result
(function).
cenv
(structure).
cenv-allocations
(reader).
cenv-argument-ntypes
(reader).
cenv-argument-shapes
(reader).
cenv-backend
(reader).
cenv-constant-arrays
(reader).
cenv-constant-storage-vectors
(reader).
cenv-result-ntypes
(reader).
cenv-result-shapes
(reader).
cenv-schedule
(reader).
cenvp
(function).
check-cenv
(function).
copy-cenv
(function).
copy-denv
(function).
copy-simulated-memory
(function).
denv
(structure).
denv-cenv
(reader).
denv-pointers
(reader).
denv-request
(reader).
(setf denv-request)
(writer).
denv-result-arrays
(reader).
denv-serious-condition-lock
(reader).
(setf denv-serious-condition-lock)
(writer).
denv-serious-conditions
(reader).
(setf denv-serious-conditions)
(writer).
denvp
(function).
ensure-result
(function).
evaluate
(function).
evaluation-failure
(condition).
evaluator-template
(function).
get-result
(function).
make-cenv
(function).
make-denv
(function).
make-simulated-memory
(function).
result-variables
(function).
serious-conditions
(reader method).
simulate-cenv-evaluation
(function).
simulate-storage-reference
(function).
simulated-memory
(structure).
simulated-memory-allocation
(reader).
simulated-memory-generation
(reader).
(setf simulated-memory-generation)
(writer).
simulated-memory-mode
(reader).
(setf simulated-memory-mode)
(writer).
simulated-memory-p
(function).
simulated-memory-read-index
(function).
simulated-memory-read-shape
(function).
simulated-memory-table
(reader).
(setf simulated-memory-table)
(writer).
simulated-memory-write-index
(function).
simulated-memory-write-shape
(function).
worker-evaluate
(function).
worker-synchronize-and-invoke
(function).
petalisp.native-backend/compilation.lisp
evaluator.lisp
(file).
petalisp.native-backend
(system).
load-function
(method).
source-function
(method).
store-function
(method).
target-function
(method).
unpack-function
(method).
base-char-memref
(function).
(setf base-char-memref)
(function).
c128-memref
(function).
(setf c128-memref)
(function).
c64-memref
(function).
(setf c64-memref)
(function).
character-memref
(function).
(setf character-memref)
(function).
f32-memref
(function).
(setf f32-memref)
(function).
f64-memref
(function).
(setf f64-memref)
(function).
native-backend-unpack
(function).
s16-memref
(function).
(setf s16-memref)
(function).
s32-memref
(function).
(setf s32-memref)
(function).
s64-memref
(function).
(setf s64-memref)
(function).
s8-memref
(function).
(setf s8-memref)
(function).
u1-memref
(function).
(setf u1-memref)
(function).
u16-memref
(function).
(setf u16-memref)
(function).
u2-memref
(function).
(setf u2-memref)
(function).
u32-memref
(function).
(setf u32-memref)
(function).
u4-memref
(function).
(setf u4-memref)
(function).
u64-memref
(function).
(setf u64-memref)
(function).
u8-memref
(function).
(setf u8-memref)
(function).
petalisp.test-suite/packages.lisp
petalisp.test-suite
(system).
petalisp.test-suite/test-suite.lisp
packages.lisp
(file).
petalisp.test-suite
(system).
all-tests
(function).
check-package
(function).
define-test
(macro).
is
(macro).
signals
(macro).
*check-count*
(special variable).
*failed-random-state*
(special variable).
*pass-count*
(special variable).
*test-count*
(special variable).
*tests*
(special variable).
call-with-random-state
(function).
call-with-test-harness
(function).
enter-test
(function).
expect-condition
(function).
pass
(function).
report
(function).
symbol-defined-p
(function).
type-specifier-p
(function).
with-random-state
(macro).
with-test-harness
(macro).
petalisp.test-suite/testing-backend.lisp
test-suite.lisp
(file).
petalisp.test-suite
(system).
backend-compute
(method).
delete-backend
(method).
make-testing-backend
(function).
approximately-equal
(generic function).
call-with-testing-backend
(function).
compare-solutions
(function).
ir-backend-compiled
(reader method).
ir-backend-interpreted
(reader method).
native-backend
(reader method).
reference-backend
(reader method).
testing-backend
(class).
with-testing-backend
(macro).
petalisp.test-suite/code-statistics.lisp
testing-backend.lisp
(file).
petalisp.test-suite
(system).
class-name-p
(function).
defgeneric-name-p
(function).
defun-name-p
(function).
macro-name-p
(function).
print-package-statistics
(function).
print-platform-information
(function).
print-system-statistics
(function).
symbol-methods
(function).
system-git-revision
(function).
system-source-file-pathnames
(function).
petalisp.test-suite/defgenerator.lisp
code-statistics.lisp
(file).
petalisp.test-suite
(system).
defgenerator
(macro).
defwrapper
(macro).
parse-defwrapper-lambda-list
(function).
petalisp.test-suite/generators.lisp
defgenerator.lisp
(file).
petalisp.test-suite
(system).
define-float-generator
(macro).
generate-double-float
(function).
generate-integer
(function).
generate-lazy-array
(function).
generate-long-float
(function).
generate-matrix
(function).
generate-range
(function).
generate-shape
(function).
generate-short-float
(function).
generate-single-float
(function).
make-double-float-generator
(function).
make-integer-generator
(function).
make-lazy-array-generator
(function).
make-long-float-generator
(function).
make-matrix-generator
(function).
make-range-generator
(function).
make-shape-generator
(function).
make-short-float-generator
(function).
make-single-float-generator
(function).
ndarray
(function).
reshape-randomly
(function).
petalisp.test-suite/run-petalisp-test-suite.lisp
generators.lisp
(file).
petalisp.test-suite
(system).
run-petalisp-test-suite
(function).
run-tests
(function).
petalisp.test-suite/petalisp.core.lisp
run-petalisp-test-suite.lisp
(file).
petalisp.test-suite
(system).
array-element-test
(function).
fusion-test
(function).
indices-test
(function).
lazy-map-test
(function).
multiple-arguments
(function).
network-test
(function).
range-test
(function).
reduction-of-fusions
(function).
reduction-test
(function).
reshape-test
(function).
sum-of-pairs
(function).
petalisp.test-suite/petalisp.api.lisp
petalisp.core.lisp
(file).
petalisp.test-suite
(system).
lazy-sort-test
(function).
petalisp.test-suite/petalisp.examples.lisp
petalisp.api.lisp
(file).
petalisp.test-suite
(system).
jacobi-test
(function).
linear-algebra-test
(function).
rbgs-test
(function).
v-cycle-test
(function).
Packages are listed by definition order.
petalisp.core
petalisp.cqueue
petalisp.native-backend
petalisp.ir
petalisp-user
petalisp.api
petalisp.scheduling
petalisp.utilities
petalisp.codegen
petalisp.test-suite
petalisp.karmarkar-karp
petalisp.core
common-lisp
.
*backend*
(special variable).
*lazy-array-lock*
(special variable).
array-has-shape-p
(function).
array-shape
(function).
array-value
(function).
axis
(type).
axis
(slot).
backend
(class).
backend-compute
(generic function).
backend-compute-asynchronously
(generic function).
backend-debug-flag
(generic reader).
(setf backend-debug-flag)
(generic writer).
backend-evaluator
(generic function).
backendp
(generic function).
clear-shape-table
(function).
collapsing-transformation
(function).
compatible-with-lazy-array-p
(function).
completedp
(function).
compose-transformations
(compiler macro).
compose-transformations
(function).
compute
(function).
compute-asynchronously
(function).
compute-list-of-arrays
(function).
copy-lazy-arrays
(function).
delayed-action
(structure).
delayed-action-inputs
(generic function).
delayed-action-p
(function).
delayed-array
(structure).
delayed-array-p
(function).
delayed-array-storage
(reader).
(setf delayed-array-storage)
(writer).
delayed-failure
(structure).
delayed-failure-condition
(reader).
delayed-failure-p
(function).
delayed-fuse
(structure).
delayed-fuse-inputs
(reader).
(setf delayed-fuse-inputs)
(writer).
delayed-fuse-p
(function).
delayed-map
(structure).
delayed-map-fnrecord
(reader).
(setf delayed-map-fnrecord)
(writer).
delayed-map-inputs
(reader).
(setf delayed-map-inputs)
(writer).
delayed-map-number-of-values
(function).
delayed-map-p
(function).
delayed-multiple-value-map
(structure).
delayed-multiple-value-map-fnrecord
(function).
(setf delayed-multiple-value-map-fnrecord)
(function).
delayed-multiple-value-map-inputs
(function).
(setf delayed-multiple-value-map-inputs)
(function).
delayed-multiple-value-map-p
(function).
delayed-multiple-value-map-refbits
(reader).
(setf delayed-multiple-value-map-refbits)
(writer).
delayed-multiple-value-map-values-ntype
(reader).
delayed-nop
(structure).
delayed-nop-p
(function).
delayed-nth-value
(structure).
delayed-nth-value-input
(reader).
(setf delayed-nth-value-input)
(writer).
delayed-nth-value-number
(reader).
(setf delayed-nth-value-number)
(writer).
delayed-nth-value-p
(function).
delayed-range
(structure).
delayed-range-p
(function).
delayed-reshape
(structure).
delayed-reshape-input
(reader).
(setf delayed-reshape-input)
(writer).
delayed-reshape-p
(function).
delayed-reshape-transformation
(reader).
(setf delayed-reshape-transformation)
(writer).
delayed-unknown
(structure).
delayed-unknown-p
(function).
delayed-wait
(structure).
delayed-wait-delayed-action
(reader).
(setf delayed-wait-delayed-action)
(writer).
delayed-wait-p
(function).
delayed-wait-request
(reader).
delete-backend
(generic function).
empty-lazy-array
(function).
empty-lazy-arrays
(function).
empty-range
(function).
empty-range
(structure).
empty-range-p
(function).
empty-shape-p
(function).
enlarge-shape
(function).
enlarge-transformation
(generic function).
evaluator
(function).
fuse-ranges
(function).
fuse-shapes
(function).
identity-transformation
(function).
identity-transformation
(structure).
identity-transformation-p
(function).
inflate-shape
(function).
inflate-transformation
(generic function).
invert-transformation
(generic function).
lazy-array
(function).
lazy-array
(structure).
lazy-array
(slot).
lazy-array
(slot).
lazy-array-delayed-action
(reader).
(setf lazy-array-delayed-action)
(writer).
lazy-array-depth
(reader).
lazy-array-dimension
(function).
lazy-array-dimensions
(function).
lazy-array-element-type
(function).
lazy-array-from-array
(function).
lazy-array-from-range
(function).
lazy-array-from-scalar
(function).
lazy-array-inputs
(function).
lazy-array-ntype
(reader).
lazy-array-p
(function).
lazy-array-range
(function).
lazy-array-ranges
(function).
lazy-array-rank
(function).
lazy-array-refcount
(reader).
(setf lazy-array-refcount)
(writer).
lazy-array-shape
(reader).
lazy-array-size
(function).
lazy-fuse
(function).
lazy-map
(function).
lazy-multiple-value-map
(function).
lazy-ref
(function).
lazy-reshape
(function).
lazy-reshape-using-transformation
(function).
lazy-unknown-p
(function).
lazy-unknowns
(function).
make-delayed-array
(function).
make-rank-zero-array
(function).
make-reference-backend
(function).
make-shape
(function).
make-shape-table
(function).
make-transformation
(function).
make-unknown
(function).
map-range
(function).
map-shape
(function).
map-transformation-inputs
(generic function).
map-transformation-outputs
(generic function).
move-axis-to-front
(function).
non-empty-range
(structure).
non-empty-range-p
(function).
normalizing-transformation
(function).
range
(compiler macro).
range
(function).
range
(structure).
range-contains
(function).
range-difference-list
(function).
range-end
(function).
range-intersection
(function).
range-intersectionp
(function).
range-last
(function).
range-size
(reader).
range-start
(reader).
range-step
(reader).
range=
(function).
rangep
(function).
rank
(type).
rank
(slot).
remove-shape-table-entry
(function).
request
(class).
request-completedp
(generic function).
request-wait
(generic function).
requestp
(generic function).
shape
(structure).
shape
(slot).
shape
(slot).
shape
(slot).
shape-contains
(function).
shape-designator-shape
(generic function).
shape-difference-list
(function).
shape-dimension
(function).
shape-dimensions
(function).
shape-intersection
(function).
shape-intersectionp
(function).
shape-prefix
(function).
shape-range
(function).
shape-ranges
(reader).
shape-rank
(reader).
shape-size
(reader).
shape-subseq
(function).
shape-suffix
(function).
shape-table
(structure).
shape-table-p
(function).
shape-table-value
(function).
(setf shape-table-value)
(function).
shape<
(function).
shape=
(function).
shapep
(function).
shrink-shape
(function).
size-one-range-p
(function).
split-range
(function).
split-shape
(function).
subdivide-arrays
(function).
subdivide-shapes
(function).
subrangep
(function).
subshapep
(function).
substitute-delayed-action
(generic function).
substitute-lazy-array
(function).
substitute-lazy-arrays
(function).
transform-axis
(generic function).
transform-index
(generic function).
transform-shape
(generic function).
transformation
(structure).
transformation
(slot).
transformation
(slot).
transformation-input-mask
(reader).
transformation-input-rank
(reader).
transformation-invertiblep
(function).
transformation-offsets
(reader).
transformation-output-mask
(reader).
transformation-output-rank
(reader).
transformation-scalings
(reader).
transformation-similar
(generic function).
transformation=
(generic function).
transformationp
(function).
value-array
(function).
wait
(function).
with-temporary-backend
(macro).
%make-delayed-array
(function).
%make-delayed-fuse
(function).
%make-delayed-map
(function).
%make-delayed-multiple-value-map
(function).
%make-delayed-nth-value
(function).
%make-delayed-reshape
(function).
%make-empty-range
(function).
%make-hairy-transformation
(function).
%make-identity-transformation
(function).
%make-shape
(function).
*backend-compute-recursion*
(special variable).
*substitutions*
(special variable).
*table*
(special variable).
add-transformation-constraints
(function).
backend-stats
(class).
canonicalize-inputs
(function).
canonicalize-outputs
(function).
completed-request
(class).
compose-two-transformations
(generic function).
compute-delayed-array
(function).
copy-delayed-array
(function).
copy-delayed-failure
(function).
copy-delayed-fuse
(function).
copy-delayed-map
(function).
copy-delayed-multiple-value-map
(function).
copy-delayed-nop
(function).
copy-delayed-nth-value
(function).
copy-delayed-range
(function).
copy-delayed-reshape
(function).
copy-delayed-unknown
(function).
copy-delayed-wait
(function).
delayed-action-value
(generic function).
delayed-multiple-value-map-refbits-lock
(reader).
(setf delayed-multiple-value-map-refbits-lock)
(writer).
deleted-backend
(class).
empty-range-size
(function).
fragment-difference-list
(function).
fragment-intersections
(function).
from-storage-transformation
(function).
hairy-transformation
(structure).
hairy-transformation-input-mask
(function).
hairy-transformation-input-rank
(function).
hairy-transformation-inverse
(function).
(setf hairy-transformation-inverse)
(function).
hairy-transformation-offsets
(function).
hairy-transformation-output-mask
(function).
hairy-transformation-output-rank
(function).
hairy-transformation-p
(function).
hairy-transformation-scalings
(function).
identity-transformation-input-mask
(function).
identity-transformation-input-rank
(function).
identity-transformation-inverse
(function).
(setf identity-transformation-inverse)
(function).
identity-transformation-offsets
(function).
identity-transformation-output-mask
(function).
identity-transformation-output-rank
(function).
identity-transformation-scalings
(function).
lazy-array-value
(function).
make-delayed-failure
(function).
make-delayed-fuse
(function).
make-delayed-map
(function).
make-delayed-multiple-value-map
(function).
make-delayed-nop
(function).
make-delayed-nth-value
(function).
make-delayed-range
(function).
make-delayed-reshape
(function).
make-delayed-unknown
(function).
make-delayed-wait
(function).
make-identity-transformation
(function).
make-lazy-array
(function).
make-non-empty-range
(function).
make-range
(function).
maxdepth
(function).
range-difference-list--contiguous
(function).
range-difference-list--single
(function).
range-intersection-start-end-step
(function).
reference-backend
(class).
shape-table-ht
(reader).
simplify-array
(function).
size-one-range-removing-transformation
(function).
subdivide-fragments
(function).
subtract-fragment-lists
(function).
transformation-inverse
(reader).
(setf transformation-inverse)
(writer).
trivial-lazy-array-p
(generic function).
trivial-lazy-array-value
(generic function).
trivial-object-p
(function).
trivial-object-value
(function).
petalisp.cqueue
common-lisp
.
cqueue
(structure).
cqueue-dequeue
(function).
cqueue-enqueue
(function).
cqueuep
(function).
make-cqueue
(function).
cqueue-h-lock
(reader).
(setf cqueue-h-lock)
(writer).
cqueue-head
(reader).
(setf cqueue-head)
(writer).
cqueue-t-lock
(reader).
(setf cqueue-t-lock)
(writer).
cqueue-tail
(reader).
(setf cqueue-tail)
(writer).
petalisp.native-backend
common-lisp
.
petalisp.codegen
.
petalisp.core
.
petalisp.ir
.
make-native-backend
(function).
%make-cenv
(function).
%make-denv
(function).
%make-worker
(function).
%make-worker-pool
(function).
%requestp
(function).
*pin-current-thread-code*
(special variable).
*pin-current-thread-library*
(special variable).
*simulator-step*
(special variable).
*storage-action-table*
(special variable).
*worker*
(special variable).
+argument-allocation-category+
(constant).
+constant-allocation-category+
(constant).
+result-allocation-category+
(constant).
+worker-allocation-category-offset+
(constant).
action
(structure).
action-copy-invocations
(reader).
(setf action-copy-invocations)
(writer).
action-work-invocations
(reader).
(setf action-work-invocations)
(writer).
actionp
(function).
allocate-memory
(function).
allocation
(structure).
allocation-category
(reader).
(setf allocation-category)
(writer).
allocation-color
(reader).
allocation-size-in-bytes
(reader).
allocation-unboxed
(reader).
(setf allocation-unboxed)
(writer).
allocationp
(function).
argument-variables
(function).
array-size-in-bytes
(function).
array-storage-pointer
(function).
array-storage-vector
(function).
backend
(class).
backend-worker-pool
(generic reader).
barrier
(function).
base-char-memref
(function).
(setf base-char-memref)
(function).
bind-argument
(function).
bind-result
(function).
buffer-shard-bind
(function).
buffer-size-in-bytes
(function).
bytes-from-bits
(function).
c128-memref
(function).
(setf c128-memref)
(function).
c64-memref
(function).
(setf c64-memref)
(function).
cenv
(structure).
cenv-allocations
(reader).
cenv-argument-ntypes
(reader).
cenv-argument-shapes
(reader).
cenv-backend
(reader).
cenv-constant-arrays
(reader).
cenv-constant-storage-vectors
(reader).
cenv-result-ntypes
(reader).
cenv-result-shapes
(reader).
cenv-schedule
(reader).
cenvp
(function).
character-memref
(function).
(setf character-memref)
(function).
check-cenv
(function).
compute-allocations
(function).
compute-schedule
(function).
copy-action
(function).
copy-allocation
(function).
copy-cenv
(function).
copy-denv
(function).
copy-invocation
(function).
copy-simulated-memory
(function).
denv
(structure).
denv-cenv
(reader).
denv-pointers
(reader).
denv-request
(reader).
(setf denv-request)
(writer).
denv-result-arrays
(reader).
denv-serious-condition-lock
(reader).
(setf denv-serious-condition-lock)
(writer).
denv-serious-conditions
(reader).
(setf denv-serious-conditions)
(writer).
denvp
(function).
ensure-actions
(function).
ensure-kernel-shard-invocation
(function).
ensure-result
(function).
evaluate
(function).
evaluation-failure
(condition).
evaluator-template
(function).
f32-memref
(function).
(setf f32-memref)
(function).
f64-memref
(function).
(setf f64-memref)
(function).
free-memory
(function).
get-result
(function).
invocation
(structure).
invocation-iteration-space
(reader).
invocation-kernel
(reader).
invocation-kfn
(reader).
invocation-sources
(reader).
(setf invocation-sources)
(writer).
invocation-targets
(reader).
(setf invocation-targets)
(writer).
invocationp
(function).
lazy-array-size-in-bytes
(function).
make-action
(function).
make-allocation
(function).
make-cenv
(function).
make-copy-invocation
(function).
make-denv
(function).
make-invocation
(function).
make-request
(function).
make-simulated-memory
(function).
make-work-invocation
(function).
make-worker-pool
(function).
merge-actions
(function).
message
(function).
native-backend-unpack
(function).
ntype-bits-per-element
(function).
ntype-unboxed-p
(function).
pin-current-thread
(function).
request
(structure).
request-cvar
(reader).
request-done
(reader).
(setf request-done)
(writer).
request-lock
(reader).
result-variables
(function).
s16-memref
(function).
(setf s16-memref)
(function).
s32-memref
(function).
(setf s32-memref)
(function).
s64-memref
(function).
(setf s64-memref)
(function).
s8-memref
(function).
(setf s8-memref)
(function).
serious-conditions
(generic reader).
simulate-cenv-evaluation
(function).
simulate-storage-reference
(function).
simulated-memory
(structure).
simulated-memory-allocation
(reader).
simulated-memory-generation
(reader).
(setf simulated-memory-generation)
(writer).
simulated-memory-mode
(reader).
(setf simulated-memory-mode)
(writer).
simulated-memory-p
(function).
simulated-memory-read-index
(function).
simulated-memory-read-shape
(function).
simulated-memory-table
(reader).
(setf simulated-memory-table)
(writer).
simulated-memory-write-index
(function).
simulated-memory-write-shape
(function).
start-worker
(function).
storage-action
(function).
storage-bind
(function).
storage-size-in-bytes
(function).
u1-memref
(function).
(setf u1-memref)
(function).
u16-memref
(function).
(setf u16-memref)
(function).
u2-memref
(function).
(setf u2-memref)
(function).
u32-memref
(function).
(setf u32-memref)
(function).
u4-memref
(function).
(setf u4-memref)
(function).
u64-memref
(function).
(setf u64-memref)
(function).
u8-memref
(function).
(setf u8-memref)
(function).
worker
(structure).
worker-barrier-sense
(reader).
(setf worker-barrier-sense)
(writer).
worker-enqueue
(function).
worker-evaluate
(function).
worker-id
(reader).
worker-id
(type).
worker-loop
(function).
worker-pool
(structure).
worker-pool-active
(function).
worker-pool-barrier-countdown
(reader).
(setf worker-pool-barrier-countdown)
(writer).
worker-pool-barrier-sense
(reader).
(setf worker-pool-barrier-sense)
(writer).
worker-pool-join
(function).
worker-pool-liveness
(reader).
(setf worker-pool-liveness)
(writer).
worker-pool-p
(function).
worker-pool-size
(function).
worker-pool-worker
(function).
worker-pool-workers
(reader).
worker-queue
(reader).
(setf worker-queue)
(writer).
worker-serious-conditions
(reader).
(setf worker-serious-conditions)
(writer).
worker-synchronize-and-invoke
(function).
worker-thread
(reader).
(setf worker-thread)
(writer).
worker-worker-pool
(reader).
workerp
(function).
petalisp.ir
common-lisp
.
petalisp.core
.
*stencil-max-radius*
(special variable).
buffer
(structure).
buffer-bits
(function).
buffer-depth
(reader).
(setf buffer-depth)
(writer).
buffer-ntype
(reader).
(setf buffer-ntype)
(writer).
buffer-number
(reader).
(setf buffer-number)
(writer).
buffer-number-of-inputs
(function).
buffer-number-of-loads
(function).
buffer-number-of-outputs
(function).
buffer-number-of-stores
(function).
buffer-program
(function).
buffer-reuse-potential
(function).
buffer-shape
(reader).
(setf buffer-shape)
(writer).
buffer-shard
(structure).
buffer-shard-bits
(function).
buffer-shard-buffer
(reader).
buffer-shard-domain
(reader).
buffer-shard-maxdepth
(function).
buffer-shard-p
(function).
buffer-shard-parent
(reader).
buffer-shard-path
(function).
buffer-shard-primogenitor
(function).
buffer-shard-readers
(reader).
(setf buffer-shard-readers)
(writer).
buffer-shard-shape
(reader).
buffer-shard-split
(reader).
(setf buffer-shard-split)
(writer).
buffer-shard-storage
(reader).
(setf buffer-shard-storage)
(writer).
buffer-shard-writers
(reader).
(setf buffer-shard-writers)
(writer).
buffer-size
(function).
buffer-storage
(reader).
(setf buffer-storage)
(writer).
buffer-task
(reader).
(setf buffer-task)
(writer).
bufferp
(function).
call-instruction
(structure).
call-instruction-fnrecord
(reader).
(setf call-instruction-fnrecord)
(writer).
call-instruction-function
(function).
call-instruction-inputs
(function).
(setf call-instruction-inputs)
(function).
call-instruction-number-of-values
(reader).
(setf call-instruction-number-of-values)
(writer).
call-instruction-p
(function).
check-ir
(function).
compute-buffer-shard-vicinity
(function).
compute-program-buffer-coloring
(function).
compute-stencil-center
(function).
core
(class).
core-memory
(generic reader).
core-name
(generic reader).
device
(class).
device-cores
(generic reader).
device-memory
(generic reader).
device-name
(generic reader).
do-buffer-inputs
(macro).
do-buffer-load-instructions
(macro).
do-buffer-outputs
(macro).
do-buffer-store-instructions
(macro).
do-instruction-inputs
(macro).
do-kernel-inputs
(macro).
do-kernel-instructions
(macro).
do-kernel-load-instructions
(macro).
do-kernel-outputs
(macro).
do-kernel-store-instructions
(macro).
do-program-buffer-groups
(macro).
do-program-buffers
(macro).
do-program-kernels
(macro).
do-program-tasks
(macro).
do-stencil-instructions
(macro).
do-task-defined-buffers
(macro).
do-task-kernels
(macro).
do-task-predecessors
(macro).
do-task-successors
(macro).
ensure-array-buffer-compatibility
(function).
ensure-array-shape-ntype-compatibility
(function).
host-device
(function).
instruction
(structure).
instruction-inputs
(reader).
(setf instruction-inputs)
(writer).
instruction-number
(reader).
(setf instruction-number)
(writer).
instruction-number
(slot).
instruction-number-of-values
(generic function).
instruction-transformation
(reader).
(setf instruction-transformation)
(writer).
instructionp
(function).
interior-buffer-p
(function).
ir-from-lazy-arrays
(function).
iref-instruction
(structure).
iref-instruction-p
(function).
iref-instruction-transformation
(function).
(setf iref-instruction-transformation)
(function).
iterating-instruction
(structure).
iterating-instruction-p
(function).
kernel
(slot).
kernel
(structure).
kernel
(slot).
kernel-cost
(function).
kernel-instruction-vector
(reader).
(setf kernel-instruction-vector)
(writer).
kernel-iteration-space
(reader).
(setf kernel-iteration-space)
(writer).
kernel-load-stencils
(function).
kernel-number
(reader).
(setf kernel-number)
(writer).
kernel-number-of-loads
(function).
kernel-number-of-outputs
(function).
kernel-number-of-stores
(function).
kernel-program
(function).
kernel-reuse-potential
(function).
kernel-shard
(structure).
kernel-shard-iteration-space
(reader).
kernel-shard-kernel
(reader).
kernel-shard-more-important-p
(function).
kernel-shard-p
(function).
kernel-shard-sources
(reader).
(setf kernel-shard-sources)
(writer).
kernel-shard-targets
(reader).
(setf kernel-shard-targets)
(writer).
kernel-sources
(reader).
(setf kernel-sources)
(writer).
kernel-store-stencils
(function).
kernel-targets
(reader).
(setf kernel-targets)
(writer).
kernel-task
(reader).
(setf kernel-task)
(writer).
kernelp
(function).
leaf-buffer-p
(function).
load-instruction
(structure).
load-instruction-buffer
(function).
(setf load-instruction-buffer)
(function).
load-instruction-p
(function).
load-instruction-transformation
(function).
(setf load-instruction-transformation)
(function).
load-or-store-instruction
(structure).
load-or-store-instruction-p
(function).
make-array-from-shape-and-ntype
(function).
make-buffer
(function).
make-buffer-like-array
(function).
make-kernel
(function).
make-program
(function).
make-stencil
(function).
make-task
(function).
map-buffer-inputs
(function).
map-buffer-load-instructions
(function).
map-buffer-outputs
(function).
map-buffer-store-instructions
(function).
map-buffers
(function).
map-buffers-and-kernels
(function).
map-instruction-inputs
(function).
map-kernel-inputs
(function).
map-kernel-instructions
(function).
map-kernel-load-instructions
(function).
map-kernel-outputs
(function).
map-kernel-stencils
(function).
map-kernel-store-instructions
(function).
map-kernels
(function).
map-program-buffer-groups
(function).
map-program-buffers
(function).
map-program-kernels
(function).
map-program-tasks
(function).
map-stencil-instructions
(function).
map-task-defined-buffers
(function).
map-task-kernels
(function).
map-task-predecessors
(function).
map-task-successors
(function).
memory
(class).
memory-bandwidth
(generic reader).
memory-children
(generic reader).
memory-cores
(generic reader).
memory-granularity
(generic reader).
memory-latency
(generic reader).
memory-name
(generic reader).
memory-parent
(generic reader).
memory-parent-bandwidth
(generic reader).
memory-size
(generic reader).
partition-program
(function).
program
(structure).
program-buffer
(function).
program-final-task
(reader).
(setf program-final-task)
(writer).
program-from-lazy-arrays
(function).
program-initial-task
(reader).
(setf program-initial-task)
(writer).
program-kernel
(function).
program-leaf-alist
(reader).
(setf program-leaf-alist)
(writer).
program-number-of-buffers
(reader).
(setf program-number-of-buffers)
(writer).
program-number-of-kernels
(reader).
(setf program-number-of-kernels)
(writer).
program-number-of-tasks
(function).
program-root-buffers
(reader).
(setf program-root-buffers)
(writer).
program-task-vector
(reader).
(setf program-task-vector)
(writer).
programp
(function).
reuse-optimizing-transformation
(function).
root-buffer-p
(function).
split
(structure).
split-axis
(reader).
split-left-child
(reader).
split-parent
(function).
split-position
(reader).
split-right-child
(reader).
splitp
(function).
stencil
(structure).
stencil-buffer
(function).
stencil-center
(reader).
(setf stencil-center)
(writer).
stencil-from-instruction
(function).
stencil-input-rank
(function).
stencil-instructions
(reader).
(setf stencil-instructions)
(writer).
stencil-output-mask
(function).
stencil-output-rank
(function).
stencil-scalings
(function).
stencilp
(function).
storage
(structure).
storage-allocation
(reader).
(setf storage-allocation)
(writer).
storage-ghost-layer-alist
(reader).
(setf storage-ghost-layer-alist)
(writer).
storage-ntype
(reader).
storage-offset
(reader).
storage-rank
(function).
storage-size
(reader).
storage-strides
(reader).
storagep
(function).
store-instruction
(structure).
store-instruction-buffer
(function).
(setf store-instruction-buffer)
(function).
store-instruction-input
(function).
store-instruction-p
(function).
store-instruction-transformation
(function).
(setf store-instruction-transformation)
(function).
task
(structure).
task-number
(reader).
(setf task-number)
(writer).
task-program
(reader).
(setf task-program)
(writer).
taskp
(function).
vicinity
(structure).
vicinity-left-neighbors
(function).
vicinity-right-neighbors
(function).
vicinityp
(function).
%make-dendrite
(function).
%make-kernel-shard
(function).
%make-load-instruction
(function).
%make-stencil
(function).
%make-store-instruction
(function).
*buffer-ghostspec-vector*
(special variable).
*buffer-shard-queue*
(special variable).
*buffer-shard-split-max-imbalance*
(special variable).
*buffer-shard-split-max-redundancy*
(special variable).
*buffer-shard-split-min-priority*
(special variable).
*buffer-shard-split-priority*
(special variable).
*check-shards-buffer-shards*
(special variable).
*check-shards-kernel-shards*
(special variable).
*check-shards-table*
(special variable).
*check-shards-worklist*
(special variable).
*instruction-table*
(special variable).
*instruction-tables*
(special variable).
*ir-checker-table*
(special variable).
*ir-checker-worklist*
(special variable).
*ir-converter*
(special variable).
*primogenitor-buffer-shard-vector*
(special variable).
*prune*
(special variable).
*split-queue*
(special variable).
*suffix-factors*
(special variable).
add-child-kernel-shard
(function).
assign-storage
(function).
assign-storage-ghost-layer-alist
(function).
attempt-split
(function).
buffer-dendrites
(macro).
buffer-ghostspec
(function).
buffer-readers
(reader).
(setf buffer-readers)
(writer).
buffer-shard-add-reader
(function).
buffer-shard-add-writer
(function).
buffer-shard-chains
(function).
buffer-shard-guardian
(function).
buffer-shard-infants
(function).
buffer-shard-more-important-p
(function).
buffer-shard-queue-cleanup
(function).
buffer-shard-queue-emptyp
(function).
buffer-shard-queue-maybe-push
(function).
buffer-shard-queue-pop
(function).
buffer-shard-split-priority
(function).
buffer-shard-split-priority-cache
(reader).
(setf buffer-shard-split-priority-cache)
(writer).
buffer-writers
(reader).
(setf buffer-writers)
(writer).
call-instruction-number
(function).
(setf call-instruction-number)
(function).
check-ir-node
(generic function).
check-ir-node-eventually
(function).
check-program
(function).
check-reverse-link
(function).
check-shard
(generic function).
check-shard-eventually
(function).
check-shards
(function).
clone-reference
(generic function).
cluster
(structure).
cluster-dendrites
(reader).
(setf cluster-dendrites)
(writer).
cluster-lazy-array
(reader).
(setf cluster-lazy-array)
(writer).
cluster-ntype
(function).
cluster-p
(function).
cluster-shape
(function).
collect-prune-buffer-dendrites-alist
(function).
compute-buffer-ghostspec
(function).
compute-buffer-shard-shape
(function).
compute-program-primogenitor-buffer-shard-vector
(function).
convert-cluster
(generic function).
copy-buffer
(function).
copy-buffer-shard
(function).
copy-cluster
(function).
copy-dendrite
(function).
copy-ghostspec
(function).
copy-ir-converter
(function).
copy-kernel
(function).
copy-kernel-shard
(function).
copy-program
(function).
copy-prune
(function).
copy-split
(function).
copy-stem
(function).
copy-storage
(function).
copy-task
(function).
copy-vicinity
(function).
count-mapped-elements
(function).
delete-kernel
(function).
dendrite
(structure).
dendrite-cluster
(function).
dendrite-cons
(reader).
(setf dendrite-cons)
(writer).
dendrite-depth
(reader).
(setf dendrite-depth)
(writer).
dendrite-kernel
(function).
dendrite-p
(function).
dendrite-shape
(reader).
(setf dendrite-shape)
(writer).
dendrite-stem
(reader).
(setf dendrite-stem)
(writer).
dendrite-transformation
(reader).
(setf dendrite-transformation)
(writer).
dendrite-validp
(function).
dendrite-value-n
(function).
destructure-transformoid
(function).
differs-exactly-at
(function).
do-kernel-stencils
(macro).
duplicates
(function).
ensure-buffer-task
(function).
ensure-cluster
(function).
ensure-instruction-clone
(macro).
ensure-instruction-table
(function).
ensure-tasks
(function).
event-horizon
(function).
fallback-host-device
(function).
finalize-buffer
(function).
finalize-ir
(function).
finalize-kernel
(function).
find-optimal-buffer-shard-split-axis
(function).
find-optimal-buffer-shard-split-position
(function).
find-prune
(function).
ghostspec
(structure).
ghostspec-buffer
(reader).
ghostspec-left-padding
(function).
ghostspec-left-padding-vec
(reader).
ghostspec-pattern
(reader).
ghostspec-right-padding
(function).
ghostspec-right-padding-vec
(reader).
ghostspecp
(function).
grow-dendrite
(function).
grow-dendrite-aux
(generic function).
insert-copy-kernel
(function).
instruction-buffer
(reader).
(setf instruction-buffer)
(writer).
ir-converter
(structure).
ir-converter-array-table
(reader).
(setf ir-converter-array-table)
(writer).
ir-converter-buffer-dendrites-table
(reader).
(setf ir-converter-buffer-dendrites-table)
(writer).
ir-converter-cluster-table
(reader).
(setf ir-converter-cluster-table)
(writer).
ir-converter-cons-updates
(reader).
(setf ir-converter-cons-updates)
(writer).
ir-converter-empty-p
(function).
ir-converter-kernel-size-threshold
(reader).
ir-converter-leaf-alist
(reader).
(setf ir-converter-leaf-alist)
(writer).
ir-converter-next-cluster
(function).
ir-converter-p
(function).
ir-converter-potentially-superfluous-buffers
(reader).
(setf ir-converter-potentially-superfluous-buffers)
(writer).
ir-converter-pqueue
(reader).
(setf ir-converter-pqueue)
(writer).
ir-converter-scalar-table
(reader).
(setf ir-converter-scalar-table)
(writer).
ir-converter-unknown-table
(reader).
(setf ir-converter-unknown-table)
(writer).
iref-instruction-inputs
(function).
(setf iref-instruction-inputs)
(function).
iref-instruction-number
(function).
(setf iref-instruction-number)
(function).
kernel-data
(reader).
(setf kernel-data)
(writer).
kernel-highest-instruction-number
(function).
kernel-number-of-inputs
(function).
linux-host-device
(function).
load-instruction-inputs
(function).
(setf load-instruction-inputs)
(function).
load-instruction-number
(function).
(setf load-instruction-number)
(function).
make-buffer-shard
(function).
make-buffer-shard-queue
(function).
make-call-instruction
(function).
make-cluster
(function).
make-dendrite
(function).
make-ghostspec
(function).
make-ir-converter
(function).
make-iref-instruction
(function).
make-kernel-shard
(function).
make-load-instruction
(function).
make-prune
(function).
make-split
(function).
make-split-queue
(function).
make-stem
(function).
make-storage
(function).
make-store-instruction
(function).
make-substitute-kernel
(function).
make-vicinity
(function).
maxf
(macro).
maybe-add-to-stencil
(function).
maybe-prune
(function).
memory-children-slot
(generic reader).
(setf memory-children-slot)
(generic writer).
memory-cores-slot
(generic reader).
(setf memory-cores-slot)
(generic writer).
mergeable-dendrites-p
(function).
parse-cache-type
(function).
parse-integer-set
(function).
parse-size
(function).
partition-dendrites
(function).
potentially-superfluous-buffer-p
(function).
primogenitor-buffer-shard
(function).
propagate-split
(function).
propagate-split/bmap
(function).
propagate-split/kmap
(function).
prune
(structure).
prune-bits
(reader).
prune-buffers
(reader).
prune-p
(function).
prune-superfluous-buffers
(function).
recompute-kernel-instruction-vector
(function).
recompute-program-task-vector
(function).
reference-to-delayed-unknown
(function).
refine-buffer-shard
(function).
refine-kernel-shard
(function).
refine-source
(function).
refine-target
(function).
relative-position
(function).
reverse-transform-axis-and-position
(function).
select-masked-elements
(function).
shape-strides
(function).
simplify-input
(function).
sources
(slot).
split-more-important-p
(function).
split-queue-emptyp
(function).
split-queue-pop
(function).
split-queue-push
(function).
stem
(structure).
stem-buffers
(reader).
(setf stem-buffers)
(writer).
stem-cluster
(reader).
(setf stem-cluster)
(writer).
stem-kernel
(reader).
(setf stem-kernel)
(writer).
stem-p
(function).
stem-validp
(reader).
(setf stem-validp)
(writer).
store-instruction-inputs
(function).
(setf store-instruction-inputs)
(function).
store-instruction-number
(function).
(setf store-instruction-number)
(function).
suffix-factor
(function).
targets
(slot).
task-defined-buffers
(reader).
(setf task-defined-buffers)
(writer).
task-kernels
(reader).
(setf task-kernels)
(writer).
task-predecessors
(reader).
(setf task-predecessors)
(writer).
task-successors
(reader).
(setf task-successors)
(writer).
transform-axis-and-position
(function).
transform-buffer
(function).
transform-instruction-input
(generic function).
transform-instruction-output
(generic function).
transform-kernel
(function).
unlink-kernel-shard
(function).
vicinity-left-neighbors-vec
(reader).
vicinity-right-neighbors-vec
(reader).
petalisp.api
petalisp
common-lisp
.
petalisp.core
.
petalisp-user
.
petalisp.examples.image-processing
.
petalisp.examples.iterative-methods
.
petalisp.examples.linear-algebra
.
petalisp.examples.machine-learning
.
petalisp.examples.mnist
.
petalisp.examples.multigrid
.
petalisp.examples.wave-equation
.
petalisp.test-suite
.
call-network
(function).
collapsing-reshaper
(function).
differentiator
(function).
flattening-reshaper
(function).
harmonized-element-type
(function).
lazy
(function).
lazy-broadcast
(function).
lazy-broadcast-list-of-arrays
(function).
lazy-drop-axes
(function).
lazy-fuse-and-harmonize
(function).
lazy-harmonize
(function).
lazy-harmonize-list-of-arrays
(function).
lazy-index-components
(function).
lazy-multiple-value
(function).
lazy-multireduce
(function).
lazy-overwrite
(function).
lazy-overwrite-and-harmonize
(function).
lazy-reduce
(function).
lazy-slice
(function).
lazy-slices
(function).
lazy-sort
(function).
lazy-stack
(function).
make-network
(function).
network
(class).
network-outputs
(generic reader).
network-parameters
(generic reader).
peeling-reshaper
(function).
permuting-reshaper
(function).
transform
(macro).
with-backend
(macro).
with-lazy-arrays
(macro).
~
(constant).
~
(function).
~*
(constant).
~*
(function).
*alphabet*
(special variable).
*free-variables*
(special variable).
ad-record
(structure).
ad-record-alist
(reader).
(setf ad-record-alist)
(writer).
ad-record-input-gradient
(function).
ad-record-input-gradient-cache
(macro).
ad-record-input-gradient-caches
(reader).
(setf ad-record-input-gradient-caches)
(writer).
ad-record-lazy-array
(reader).
ad-record-output-gradient
(function).
ad-record-output-gradient-cache
(reader).
(setf ad-record-output-gradient-cache)
(writer).
broadcast-ranges
(function).
canonicalize-transform-input
(function).
coerce-to-ntype
(function).
compute-transform-input-mask
(function).
compute-transform-output-functions
(function).
expand-transform
(function).
factorize-shape
(function).
free-variables
(function).
input-gradient
(generic function).
insert-axis-after
(function).
insert-axis-before
(function).
lazy-change-shape
(function).
lazy-change-shape/normalized
(function).
lazy-reduce-aux
(function).
lazy-reshape-aux
(function).
lazy-reshape-aux/function
(function).
lazy-reshape-aux/integer
(function).
lazy-reshape-aux/shape
(function).
lazy-reshape-aux/transformation
(function).
listify-range-for-printing
(function).
listify-shape-for-printing
(function).
make-ad-record
(function).
make-broadcasting-transformation
(function).
make-transform-transformation
(function).
network-evaluator
(generic reader).
parse-shape
(function).
parse-shape-pattern
(function).
parse-transform-inputs
(function).
parse-transform-output
(function).
parse-transform-outputs
(function).
register-free-variable
(function).
remove-axis-after
(function).
remove-axis-before
(function).
reshape/flatten
(function).
reshape/unflatten
(function).
shape-syntax-delimiter
(type).
sum-axis
(function).
transformation-input-symbol
(function).
petalisp.scheduling
common-lisp
.
graph
(structure).
graph-add-edge
(function).
graph-ensure-node
(function).
graph-object-nodes
(reader).
(setf graph-object-nodes)
(writer).
graph-parallel-depth-first-schedule
(function).
graphp
(function).
make-graph
(function).
node
(structure).
node-depth
(reader).
(setf node-depth)
(writer).
node-height
(reader).
(setf node-height)
(writer).
node-predecessor-alist
(reader).
(setf node-predecessor-alist)
(writer).
node-successor-alist
(reader).
(setf node-successor-alist)
(writer).
nodep
(function).
copy-graph
(function).
copy-node
(function).
copy-node-into
(function).
copy-pdfs-queue
(function).
graph-compute-distances
(function).
graph-compute-node-depth
(function).
graph-compute-node-height
(function).
make-node
(function).
make-pdfs-queue
(function).
node-affinity
(reader).
(setf node-affinity)
(writer).
node-counter
(reader).
(setf node-counter)
(writer).
node-eagerness
(reader).
(setf node-eagerness)
(writer).
node-more-important-p
(function).
node-object
(reader).
(setf node-object)
(writer).
node-position
(reader).
(setf node-position)
(writer).
pdfs-queue
(structure).
pdfs-queue-increase-node-eagerness
(function).
pdfs-queue-p
(function).
pdfs-queue-pop
(function).
pdfs-queue-priority-queue
(reader).
pdfs-queue-push
(function).
pdfs-queue-size
(function).
pdfs-queue-tmpnode
(reader).
(setf pdfs-queue-tmpnode)
(writer).
petalisp.utilities
common-lisp
.
cgraph-add-conflict
(function).
cgraph-coloring
(function).
cgraph-ensure-cnode
(function).
clp2
(function).
document-compiler-macro
(macro).
document-compiler-macros
(macro).
document-function
(macro).
document-functions
(macro).
document-method-combination
(macro).
document-method-combinations
(macro).
document-setf-expander
(macro).
document-setf-expanders
(macro).
document-structure
(macro).
document-structures
(macro).
document-variable
(macro).
document-variables
(macro).
extended-euclid
(function).
flp2
(function).
karmarkar-karp
(function).
make-cgraph
(function).
number-of-cpus
(function).
prime-factors
(function).
primep
(function).
with-collectors
(macro).
with-pinned-objects
(macro).
with-pinned-objects*
(macro).
+empty-colorset+
(constant).
+table-of-primes+
(constant).
build-documentation
(function).
call-with-pinned-objects
(function).
cgraph
(structure).
cgraph-p
(function).
cgraph-table
(reader).
(setf cgraph-table)
(writer).
clp2-fixnum
(type).
cnode
(structure).
cnode-color
(reader).
(setf cnode-color)
(writer).
cnode-colorset
(reader).
(setf cnode-colorset)
(writer).
cnode-degree
(reader).
(setf cnode-degree)
(writer).
cnode-neighbors
(reader).
(setf cnode-neighbors)
(writer).
cnode-object
(reader).
cnode-p
(function).
cnode-queue-node
(reader).
(setf cnode-queue-node)
(writer).
cnode-saturation
(reader).
(setf cnode-saturation)
(writer).
cnode>
(function).
color
(type).
colorset
(type).
colorset-add
(function).
colorset-contains
(function).
colorset-next-free-color
(function).
colorset-union
(function).
copy-cgraph
(function).
copy-cnode
(function).
document-type
(macro).
document-types
(macro).
ensure-documentation
(function).
expand-documentation
(macro).
make-cnode
(function).
make-table-of-primes
(function).
nth-prime-max-bits
(function).
nth-prime-upper-bound
(function).
small-fixnum
(type).
small-non-negative-fixnum
(type).
touch
(function).
with-collector
(macro).
petalisp.codegen
common-lisp
.
petalisp.core
.
petalisp.ir
.
compile-blueprint
(generic function).
compile-cache-mixin
(class).
compile-kernel
(generic function).
cpp-compiler-mixin
(class).
cuda-compiler-mixin
(class).
index
(type).
index*
(compiler macro).
index*
(function).
index+
(compiler macro).
index+
(function).
iteration-space-blueprint
(function).
kernel-blueprint
(function).
lisp-compiler-mixin
(class).
lisp-interpreter-mixin
(class).
lisp-plus-cpp-compiler-mixin
(class).
load-foreign-code
(function).
load-function
(generic function).
make-ir-backend
(function).
make-kernel-lambda
(function).
source-function
(generic function).
store-function
(generic function).
target-function
(generic function).
transformation-blueprint
(function).
unpack-array
(function).
unpack-function
(generic function).
with-debug-optimization
(macro).
with-unsafe-optimization
(macro).
with-unsafe-optimization*
(macro).
without-compiler-notes
(macro).
*bpinfo-indices*
(special variable).
*bpinfo-instructions*
(special variable).
*bpinfo-ranges*
(special variable).
*bpinfo-reversed-functions*
(special variable).
*bpinfo-reversed-ioffsets*
(special variable).
*bpinfo-reversed-iscalings*
(special variable).
*bpinfo-reversed-levels*
(special variable).
*bpinfo-sources*
(special variable).
*bpinfo-targets*
(special variable).
*bpnames*
(special variable).
*bpvar-counter*
(special variable).
*chunks*
(special variable).
*function-cpp-info-table*
(special variable).
*index-ntype*
(special variable).
*nodes*
(special variable).
*small-kernel-p*
(special variable).
*worklist*
(special variable).
bind
(macro).
blueprint-bpinfo
(function).
blueprint-cpp-translatable-p
(function).
bpcall
(function).
bpcall
(structure).
bpcall-argument
(function).
bpcall-arguments
(reader).
bpcall-function
(reader).
bpcall-level
(function).
bpcall-value
(function).
bpcall-values
(function).
bpcallp
(function).
bpconstant
(structure).
bpconstant-level
(function).
bpconstant-ntype
(function).
bpconstant-value
(reader).
bpconstantp
(function).
bpeval
(function).
bpfunction
(structure).
bpfunction-instruction-number
(function).
bpfunction-level
(function).
bpfunction-name
(function).
bpfunction-ntype
(function).
bpfunctionp
(function).
bpindex*
(function).
bpindex+
(function).
bpinfo
(structure).
bpinfo-cpp-arguments
(function).
bpinfo-functions
(reader).
bpinfo-indices
(reader).
bpinfo-instructions
(reader).
bpinfo-ioffsets
(reader).
bpinfo-iscalings
(reader).
bpinfo-levels
(reader).
(setf bpinfo-levels)
(writer).
bpinfo-ranges
(reader).
bpinfo-rank
(function).
bpinfo-sources
(reader).
bpinfo-targets
(reader).
bpinfop
(function).
bpinstinfo
(function).
bpinstinfo
(structure).
bpinstinfo-instruction-number
(reader).
bpinstinfo-level
(function).
bpinstinfo-name
(function).
bpinstinfo-ntype
(function).
bpinstruction
(structure).
bpinstruction-form
(generic function).
bpinstruction-level
(reader).
bpinstruction-value
(function).
bpinstruction-values
(reader).
bpinstruction-values-ntype
(function).
bpinstructionp
(function).
bpioffset
(structure).
bpioffset-instruction-number
(function).
bpioffset-level
(function).
bpioffset-name
(function).
bpioffset-ntype
(function).
bpioffsetp
(function).
bpiref
(structure).
bpiref-level
(function).
bpiref-offset
(reader).
bpiref-scaling
(reader).
bpiref-values
(function).
bpirefp
(function).
bpiscaling
(structure).
bpiscaling-instruction-number
(function).
bpiscaling-level
(function).
bpiscaling-name
(function).
bpiscaling-ntype
(function).
bpiscalingp
(function).
bpload
(structure).
bpload-index
(reader).
bpload-level
(function).
bpload-source
(reader).
bpload-values
(function).
bploadp
(function).
bpmemref
(structure).
bpmemref-base
(reader).
(setf bpmemref-base)
(writer).
bpmemref-ntype
(reader).
(setf bpmemref-ntype)
(writer).
bpmemref-rank
(reader).
(setf bpmemref-rank)
(writer).
bpmemref-start
(reader).
(setf bpmemref-start)
(writer).
bpmemref-stencil
(function).
bpmemref-stencils
(reader).
(setf bpmemref-stencils)
(writer).
bpmemref-stride
(function).
bpmemref-strides
(reader).
(setf bpmemref-strides)
(writer).
bpmemrefp
(function).
bpname
(function).
bprange
(structure).
bprange-end
(reader).
bprange-start
(reader).
bprange-step
(reader).
bprangep
(function).
bpref
(function).
bpstencil
(structure).
bpstencil-center
(reader).
(setf bpstencil-center)
(writer).
bpstencil-offsets
(reader).
bpstencil-scalings
(reader).
bpstencilp
(function).
bpstore
(structure).
bpstore-index
(reader).
bpstore-level
(function).
bpstore-target
(reader).
bpstore-value
(reader).
bpstore-values
(function).
bpstorep
(function).
bpvalue
(structure).
bpvalue-cffi-type
(function).
bpvalue-cpp-string
(function).
bpvalue-cpp-type
(function).
bpvalue-form
(generic function).
bpvalue-level
(reader).
bpvalue-ntype
(reader).
bpvalue=
(generic function).
bpvaluep
(function).
bpvariable
(structure).
bpvariable-level
(function).
bpvariable-name
(reader).
bpvariable-ntype
(function).
bpvariablep
(function).
buffer-stencils-alist-blueprint
(function).
compile-cache
(generic reader).
compile-cache
(structure).
compile-cache-p
(function).
compile-cache-table
(reader).
compute-bpinfo-index
(function).
compute-bpinfo-indices
(function).
compute-bpinfo-ranges
(function).
compute-bpmemref
(function).
compute-bpmemrefs
(function).
compute-bprange
(function).
compute-bpstencil
(function).
copy-bpcall
(function).
copy-bpconstant
(function).
copy-bpfunction
(function).
copy-bpinfo
(function).
copy-bpinstinfo
(function).
copy-bpinstruction
(function).
copy-bpioffset
(function).
copy-bpiref
(function).
copy-bpiscaling
(function).
copy-bpload
(function).
copy-bpmemref
(function).
copy-bprange
(function).
copy-bpstencil
(function).
copy-bpstore
(function).
copy-bpvalue
(function).
copy-bpvariable
(function).
copy-compile-cache
(function).
copy-node
(function).
cpp-compile-blueprint
(function).
cpp-translate-argument
(function).
cpp-translate-blueprint
(function).
cpp-write-defun
(function).
cpp-write-instructions
(function).
cpp-write-loop
(function).
ensure-node
(function).
execute-node
(function).
flatten
(function).
fnrecord-blueprint
(function).
function-cpp-info
(function).
function-cpp-translatable-p
(function).
instruction-blueprint
(generic function).
instruction-blueprints
(function).
interpret-kernel
(function).
ir-backend
(class).
ir-backend-array
(function).
ir-backend-compile-cache
(generic reader).
ir-backend-mode
(generic reader).
lisp-compile-blueprint
(function).
lisp-translate-blueprint
(function).
make-bpcall
(function).
make-bpconstant
(function).
make-bpfunction
(function).
make-bpinfo
(function).
make-bpinstruction
(function).
make-bpioffset
(function).
make-bpiref
(function).
make-bpiscaling
(function).
make-bpload
(function).
make-bpmemref
(function).
make-bprange
(function).
make-bpstencil
(function).
make-bpstore
(function).
make-bpvalue
(function).
make-bpvariable
(function).
make-call-form
(function).
make-compile-cache
(function).
make-node
(function).
mksym
(function).
next-bpvar
(function).
node
(structure).
node-dependencies
(reader).
(setf node-dependencies)
(writer).
node-fn
(reader).
(setf node-fn)
(writer).
node-kernel
(reader).
(setf node-kernel)
(writer).
node-p
(function).
node-users
(reader).
(setf node-users)
(writer).
ntype-cpp-info
(function).
ntype-cpp-translatable-p
(function).
ranges-blueprint
(function).
stencil-instruction-offsets
(function).
stencils-blueprint
(function).
store-instruction-offsets
(function).
store-instruction-scalings
(function).
value-blueprint
(function).
petalisp.test-suite
common-lisp
.
petalisp.api
.
petalisp.core
.
petalisp.examples.iterative-methods
.
petalisp.examples.linear-algebra
.
all-tests
(function).
check-package
(function).
define-test
(macro).
is
(macro).
make-testing-backend
(function).
run-petalisp-test-suite
(function).
run-tests
(function).
signals
(macro).
*check-count*
(special variable).
*failed-random-state*
(special variable).
*pass-count*
(special variable).
*test-count*
(special variable).
*tests*
(special variable).
approximately-equal
(generic function).
array-element-test
(function).
call-with-random-state
(function).
call-with-test-harness
(function).
call-with-testing-backend
(function).
class-name-p
(function).
compare-solutions
(function).
defgenerator
(macro).
defgeneric-name-p
(function).
define-float-generator
(macro).
defun-name-p
(function).
defwrapper
(macro).
enter-test
(function).
expect-condition
(function).
fusion-test
(function).
generate-double-float
(function).
generate-integer
(function).
generate-lazy-array
(function).
generate-long-float
(function).
generate-matrix
(function).
generate-range
(function).
generate-shape
(function).
generate-short-float
(function).
generate-single-float
(function).
indices-test
(function).
ir-backend-compiled
(generic reader).
ir-backend-interpreted
(generic reader).
jacobi-test
(function).
lazy-map-test
(function).
lazy-sort-test
(function).
linear-algebra-test
(function).
macro-name-p
(function).
make-double-float-generator
(function).
make-integer-generator
(function).
make-lazy-array-generator
(function).
make-long-float-generator
(function).
make-matrix-generator
(function).
make-range-generator
(function).
make-shape-generator
(function).
make-short-float-generator
(function).
make-single-float-generator
(function).
multiple-arguments
(function).
native-backend
(generic reader).
ndarray
(function).
network-test
(function).
parse-defwrapper-lambda-list
(function).
pass
(function).
print-package-statistics
(function).
print-platform-information
(function).
print-system-statistics
(function).
range-test
(function).
rbgs-test
(function).
reduction-of-fusions
(function).
reduction-test
(function).
reference-backend
(generic reader).
report
(function).
reshape-randomly
(function).
reshape-test
(function).
sum-of-pairs
(function).
symbol-defined-p
(function).
symbol-methods
(function).
system-git-revision
(function).
system-source-file-pathnames
(function).
testing-backend
(class).
type-specifier-p
(function).
v-cycle-test
(function).
with-random-state
(macro).
with-test-harness
(macro).
with-testing-backend
(macro).
petalisp.karmarkar-karp
common-lisp
.
petalisp.utilities
.
*k*
(special variable).
*weight*
(special variable).
combine-subsets
(function).
combine-tuples
(function).
copy-subset
(function).
copy-tuple
(function).
make-subset
(function).
make-tuple
(function).
subset
(structure).
subset-elements
(reader).
(setf subset-elements)
(writer).
subset-p
(function).
subset-weight
(reader).
(setf subset-weight)
(writer).
tuple
(structure).
tuple-from-object
(function).
tuple-p
(function).
tuple-subset
(function).
tuple-subsets
(reader).
(setf tuple-subsets)
(writer).
tuple-weight
(reader).
(setf tuple-weight)
(writer).
tuple>
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The symbols ~, ~* are self-evaluating. Their only purpose is to separate range designators in the functions named ~, ~*.
The symbols ~, ~* are self-evaluating. Their only purpose is to separate range designators in the functions named ~, ~*.
Define a test function and add it to *TESTS*.
Assert that TEST-FORM evaluates to true.
Assert that ‘body’ signals a condition of type ‘condition’.
Returns a transformation that maps the supplied inputs to the supplied outputs.
The supplied forms describe the inputs and outputs of the transformation.
Inputs and outputs are separated by the symbol PETALISP:TO.
Each input can either be a symbol, an integer, or a list whose first element is
a symbol and whose second element is a form that evaluates either to an integer
or to NIL. The symbol is the name under which the value of that input can be
referenced in one of the outputs. Any integer value is interpreted as an input
constraint of the transformation in that axis.
Each output is a form that may reference up to one of the input variables.
The output form is evaluated repeatedly in a context where the referenced
input variable is bound to an integer to determine the coefficients for the
linear mapping from the referenced input to the output.
Signals an error if any output form references more than one input, returns
anything other than an integer, or describes a mapping that is not linear.
Examples:
(transform i to (+ i 1))
=> (transform a to (1+ a))
(transform i to (+ (+ i 1) 5))
=> (transform a to (+ a 6))
(transform 1 2 3 to)
=> (transform 1 2 3 to)
(transform to 1 2 3)
=> (transform to 1 2 3)
(transform i j to j i)
=> (transform a b to b a)
Within the lexical scope of BODY, bind the specified collectors. Each
entry in COLLECTORS must be a list of two valid function names - RESULT and
GATHER. Each such pair of function names is bound to local functions, with
the following behavior:
The function named GATHER takes a single argument, stores this argument in
some unspecified way, and returns this argument.
The function named RESULT takes either zero or one object. It returns the
list of all objects that have been stored by calls to the function named
GATHER. If supplied, the optional argument is used as the tail of the list
being returned. Calling the function named RESULT more than once results
in undefined behavior.
Examples:
(with-collectors ((odds collect-odd)
(evens collect-even))
(loop for n below 8 do
(if (oddp n)
(collect-odd n)
(collect-even n)))
(values (odds) (evens)))
=> (1 3 5 7)
=> (0 2 4 6)
(with-collectors ((numbers collect-number))
(collect-number 2)
(collect-number 3)
(numbers ’(4 5 6))) ; Here, we explicitly supply a tail.
=> (2 3 4 5 6)
Execute BODY safely and with highest debug settings.
Execute the body in an environment where each of the supplied symbols is shadowed by the lazy array equivalent of the previous value of that symbol.
An alternative notation can be used to avoid shadowing the original array:
If any array name is not a symbol but a list of a symbol and a form, the
symbol is bound to the lazy array equivalent of what’s produced by that
form.
It is good practice to start each function that expects some of its arguments to be lazy arrays to start with a suitable use of this macro.
Example:
(let ((a 5) (b #(1 2 3)))
(with-lazy-arrays (a (c b))
(values a b c)))
=> #<lazy-array (eql 5) (~*)>
=> #(1 2 3)
=> #<lazy-array t (~ 3)>
Invoke BODY in an environment where all elements of the supplied sequence of objects are pinned to their current memory location.
Optimize the heck out of BODY. Use with caution!
To preserve sanity, compiler efficiency hints are disabled by default. Use WITH-UNSAFE-OPTIMIZATIONS* to see these hints.
Optimize the heck out of BODY. Use with caution!
Suppress all compiler notes arising during the compilation of BODY.
Returns the shape of the supplied array.
Returns the number of bits of storage required for allocating all elements managed by the supplied buffer shard.
Returns the length of the longest chain of splits rooted in this buffer shard.
Returns a list with one boolean for each ancestor of the supplied
buffer shard, that describes how to reach that buffer shard starting from its
primogenitor. An entry of T means the path descends into the left child, and
a value of NIL means the path descends into the right child.
Returns the topmost ancestor of the supplied buffer shard.
task
.
For a supplied conflict graph, returns a vector whose elements are lists of objects with no conflicts.
Round the unsigned integer N up to the next larger power of two.
Returns a function that can be supplied as a modifier to LAZY-RESHAPE to turn any lazy array shape into modifiers that collapse that shape, such that each range therein starts with zero and has a step size of one.
Returns whether all the requests resulting from some COMPUTE-ASYNCHRONOUSLY operations have been completed.
Returns a single transformation that is equivalent to consecutive
invocations of the supplied transformations in right-to-left order.
Examples:
(compose-transformations (transform i to (/ i 2)) (transform i to (+ i 2))
(transform i to (* i 4)))
=> (transform a to (1+ (* 2 a)))
(compose-transformations (transform i to (* 2 (1+ i)))
(transform i to (1- (/ i 2))))
=> (transform a to a)
(compose-transformations (transform i j to (+ i 5) (+ j 7))
(transform i j to (* j 2) (* i 3)))
=> (transform a b to (+ (* 2 b) 5) (+ (* 3 a) 7))
The primary interface for evaluating lazy arrays. It takes any number of
arguments that must be lazy arrays or objects that can be converted to lazy
arrays with the function LAZY-ARRAY — and returns the same number of
possibly specialized regular arrays with the corresponding contents. A
special case is that whenever an array with rank zero would be returned, it
instead returns the sole element of that array. The reason for this
treatment of scalars is that Petalisp treats every object as an array,
whereas in Common Lisp the rank zero array containing an object and that
object are distinct entities. Of those two distinct representations, the
non-array one is much more intuitive and useful in practice, so this is the
one being returned.
Whenever a shape of any of the supplied arrays is not a valid shape for a
regular array, that array is collapsed before being computed, i.e., each
axis is shifted to begin with zero, and divided by the step size.
All the heavy lifting in Petalisp happens within this function. The exact
details of how it operates aren’t important for application programmers,
but it is valuable to understand the rough steps that happen internally.
The individual steps it performs are:
1. Convert each supplied argument to a lazy array.
2. Collapse each lazy array whose shape isn’t equivalent to that of a
regular array.
3. Determine the dependency graph whose roots are the collapsed lazy
arrays, and whose leaves are lazy arrays resulting from a call to
LAZY-ARRAY on a regular array or scalar.
4. Optimize the dependency graph, discard all unused parts, and plan a
schedule that is fast and has reasonable memory requirements.
5. Execute the schedule on the available hardware. Make use of all
processing units, accelerators, or even distributed systems where
possible. Gather the results in the form of regular arrays.
6. Change the internal representation of all the originally supplied lazy
arrays such that future calculations involving them directly use the
computed results.
7. Return the results as multiple values, while replacing any array with
rank zero with the single element contained in that array.
This function is the workhorse of Petalisp. A lot of effort went into
making it not only powerful, but also extremely fast. The overhead of
assembling a graph of lazy arrays and passing it to COMPUTE instead of
invoking an already compiled and optimized imperative program is usually on
the order of just a few microseconds.
Examples:
(compute (lazy-array #(1 2 3)))
=> #(1 2 3)
(compute #(1 2 3))
=> #(1 2 3)
(compute 5)
=> 5
(compute #0A42)
=> 42
(compute #(1 2 3) 5 #0A42)
=> #(1 2 3)
=> 5
=> 42
Hints that it would be worthwhile to compute the supplied arrays asynchronously. Returns a request object that can be passed to the functions WAIT and COMPLETEDP.
Returns a list of computed results - one for each element in the list
of supplied arrays.
The computed result of an array or lazy array with rank zero is the one
element contained in this array. The computed result of any other array or
lazy array is an array with the same rank and dimensions. The computed
result of any other object is that object itself.
Examples:
(compute-list-of-arrays (list (lazy #’+ 2 #(3 4))))
=> (#(5 6))
(compute-list-of-arrays
(list (lazy-reshape #2A((1 2) (3 4)) (transform i j to j i))))
=> (#2A((1 3) (2 4)))
(compute-list-of-arrays (list 2 #0A3 #(4)))
=> (2 3 #(4))
Returns a partitioning of all non-leaf buffers in PROGRAM into a list of
lists of buffers. Each list of buffers has the same color, meaning that
they can share the same memory location without conflicts.
All root buffers conflict with each other, so each list of buffers contains at most one root buffer. By convention, if a root buffer is present in a list of buffers, it comes first.
Returns a vector of offsets that is the weighted average of all the offsets of all the supplied load or store instructions.
Removes and returns the element at the front of CQUEUE, or return NIL if the cqueue was empty. Return a second value that is a boolean indicating whether an object was taken from the cqueue or not.
Inserts OBJECT at the back of CQUEUE.
Returns a function that, for each node in a network whose roots are the
supplied OUTPUTS will return the gradient at that node.
GRADIENTS must be a sequence of the same length as OUTPUTS, and whose elements are either arrays with or symbols that will be used as the name of such a parameter.
Returns a range with size zero.
Returns whether the supplied object is a shape with zero elements, i.e.,
has at least one range with size zero.
Examples:
(empty-shape-p (~ 1))
=> nil
(empty-shape-p (~ 0))
=> t
(shapep (~ 1 ~ 2 ~ 3 3))
=> t
For a given shape S and range R, this function returns a shape whose
first range is R, and whose remaining ranges are those of S.
Examples:
(enlarge-shape (~*) (range 1 10))
=> (~ 1 10)
(enlarge-shape (~ 1 3) (range 1 4))
=> (~ 1 4 ~ 1 3)
For a supplied list of unknowns of length N and list of LAZY-ARRAYS of length K,
returns a function with K+N arguments that returns, as multiple values, the
K array values obtained by computing the supplied arrays after substituting
the Ith unknown with the supplied argument in position K+I.
The first N arguments specify which storage to use for the results. A
value of NIL indicates that the corresponding result shall be a fresh
array. A value that is an array ensures that the result is written to that
array.
An error is signaled if any of the arguments of an evaluator has a
different shape or element type as the corresponding result or unknown.
Given nonnegative integers u and v, returns the values u1 and u3 such that u*u1 + v*u2 = u3 = gcd(u,v).
Returns a function that can be supplied as a modifier to LAZY-RESHAPE to
turn any lazy array shape into modifiers that flatten a lazy array of that
shape. A flattened lazy array has the same contents as the original one in
the same lexicographical ordering, but has rank one.
Examples:
(compute (lazy-reshape #2A((1 2) (3 4)) (flattening-reshaper)))
=> #(1 2 3 4)
(compute
(lazy-reshape #3A(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))
(flattening-reshaper)))
=> #(1 2 3 4 5 6 7 8 9 10 11 12)
(compute
(lazy-reshape #3A(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 2
(flattening-reshaper)))
=> #2A((1 2 3) (4 5 6) (7 8 9) (10 11 12))
Round the unsigned integer N down to the next smaller power of two.
Add a new, weighted edge between the two supplied graph nodes.
Returns the graph node corresponding to the supplied object, and as a secondary return value, whether that node was already present in the graph.
Returns a list of vectors, where each vector describes one step of the
schedule. Each vector has length P, and elements that are either NIL or one of
the objects that have been scheduled. The schedule ensures that each node
appears later than all its predecessors, and that all entries of one vector can
be executed in parallel.
This function uses the P-DFS algorithm from Blelloch, Gibbons, and
Matias (https://doi.org/10.1145/301970.301974), with some augmentations to
improve data locality.
Returns a type to which all elements of all the supplied lazy arrays can
be coerced safely. If the element types of all supplied lazy arrays are
number types, the resulting type is obtained by the standard rules of
numeric contagion (CLHS 12.1.4.1 and CLHS 12.1.4.4). Otherwise, the
resulting type is one that encompasses the union of the element types of
all supplied lazy arrays.
Examples:
(harmonized-element-type 5 6.0)
=> single-float
(harmonized-element-type 5.0d0 #C(0 1))
=> (complex double-float)
(harmonized-element-type ’foo ’bar ’baz 42)
=> (not null)
Returns an identity transformation of the specified rank.
Returns whether a supplied object is an identity transformation.
Examples:
(identity-transformation-p (transform i j to j i))
=> nil
(identity-transformation-p (transform i j to i j))
=> t
Returns a list of buffers that form the root of an IR data flow graph
that is equivalent to the data flow graph specified by the supplied
LAZY-ARRAYS.
An IR graph is consists of alternating buffers and kernels. Each kernel reads and writes from zero or more buffers and writes to zero and more buffers. The behavior or each kernel is described by a directed acyclic graph of instructions.
Partition the set of objects S in k subsets such that the sums of the
weights of the objects in each subset are nearly equal.
Returns a vector of length k whose elements are lists that partition S. As a second value, returns the difference between the sum of the weights of the smalles partition and that of the largest partition.
Returns a utree that represents all information necessary to generate a high-performance implementation of KERNEL. Identical blueprints are EQ, which makes them ideal for caching.
task
.
Returns a lazy array whose contents are the results of applying the
supplied function element-wise to the contents of the remaining argument
arrays. If the arguments don’t agree in shape, they are first broadcast
with the function LAZY-BROADCAST-LIST-OF-ARRAYS.
Examples:
(compute (lazy #’*))
=> 1
(compute (lazy #’+ 2 3))
=> 5
(compute (lazy #’+ #(1 2) #(3 4)))
=> #(4 6)
(compute (lazy #’+ 2 #(1 2 3 4 5)))
=> #(3 4 5 6 7)
(compute (lazy #’* #(2 3) #2A((1 2) (3 4))))
=> #2A((2 4) (9 12))
Returns a lazy array that is derived from the supplied object in the
following way:
- If the supplied object is a lazy array, the result is that lazy array.
- If the supplied object is a regular array, the result is a lazy array
of the same shape, and whose indices map to the same elements.
- If the supplied object is neither a lazy array, nor a regular array, it
is treated like an array of rank zero whose sole element is that supplied
object.
By convention, all functions that expect an argument to be a lazy array
actually accept any kind of object and use the LAZY-ARRAY function to
convert that object to a lazy array. Unless user code violates this
convention, scalars, regular arrays, and lazy arrays can be used
interchangeably in any argument position.
Examples:
(lazy-array #2A((1 2 3) (4 5 6)))
=> #<lazy-array t (~ 2 ~ 3)>
(lazy-array #(1 2 3))
=> #<lazy-array t (~ 3)>
(lazy-array 5)
=> #<lazy-array (eql 5) (~*)>
(lazy-array (lazy-array 5))
=> #<lazy-array (eql 5) (~*)>
(lazy-array (make-array 2 :element-type ’double-float :initial-element 0.0d0)) => #<lazy-array double-float (~ 2)>
Returns a list of lazy arrays of the same shape, where each lazy array is
a broadcasting reference to the corresponding element of the supplied list
of arrays. As a second value, returns the shape of all the resulting lazy
arrays. Signals an error if there is no suitable shape to which all the
supplied arrays can be broadcast.
The resulting shape is constructed according to the following rules:
1. The rank of the resulting shape is the maximum of the rank of all the
supplied arrays.
2. Each range of any of the supplied arrays must either have a size of one,
or it must be equal to the range of the resulting shape in the same
axis.
3. In case there is an axis in which all supplied arrays have a range with
only a single element, the resulting shape uses the range of the first
supplied array.
Examples:
(lazy-broadcast-list-of-arrays (list #(1 2 3) 5))
=> (#<lazy-array t (~ 3)> #<lazy-array (eql 5) (~ 3)>)
=> (~ 3)
(apply #’compute (lazy-broadcast-list-of-arrays (list #(1 2 3) 5)))
=> #(1 2 3)
=> #(5 5 5)
(apply #’compute (lazy-broadcast-list-of-arrays (list #(1 2 3) #(5))))
=> #(1 2 3)
=> #(5 5 5)
(apply #’compute
(lazy-broadcast-list-of-arrays (list #2A((1 2) (3 4)) #(7 8))))
=> #2A((1 2) (3 4))
=> #2A((7 7) (8 8))
Returns a lazy array with the same contents as the supplied array, but
whose shape has all ranges referred to by the supplied axes removed. All of
the ranges being referred to must have a size of one.
Examples:
(lazy-drop-axes (lazy-reshape 1 (~ 1 2 ~ 2 3)) 1)
=> #<lazy-array (eql 1) (~ 1 2)>
(compute (lazy-drop-axes (lazy-reshape 1 (~ 1 2 ~ 2 3)) 1))
=> #*1
(compute (lazy-drop-axes (lazy-reshape 1 (~ 1 2 ~ 2 3)) 0 1))
=> 1
(compute (lazy-drop-axes (lazy-reshape 1 (~ 1 2 ~ 2 5)) 0))
=> #*111
Returns a lazy array that is a combination of all the values of all the
supplied arrays. Signals an error if any of the supplied arrays overlap,
don’t have the same rank, or if the union of all their shapes cannot be
represented as a shape.
Examples:
(compute (lazy-fuse (lazy-reshape 1 (~ 0 2)) (lazy-reshape 2 (~ 2 4))))
=> #(1 1 2 2)
(compute (lazy-fuse (lazy-reshape 1 (~ 0 7 2)) (lazy-reshape 2 (~ 1 7 2))))
=> #(1 2 1 2 1 2 1)
(compute
(lazy-fuse (lazy-reshape 1 (~ 0 2 ~ 0 2)) (lazy-reshape 2 (~ 0 2 ~ 2 4))
(lazy-reshape 3 (~ 2 4 ~ 0 2)) (lazy-reshape 4 (~ 2 4 ~ 2 4))))
=> #2A((1 1 2 2) (1 1 2 2) (3 3 4 4) (3 3 4 4))
Returns the result of first harmonizing all the supplied arrays, and then passing them to LAZY-FUSE.
Lazily coerce each of the supplied arrays to the common harmonized element
type, and return the resulting lazy arrays as multiple values.
Example:
(multiple-value-call #’compute (lazy-harmonize 5 6.0))
=> 5.0
=> 6.0
Lazily coerce each array in the supplied list of arrays to the common harmonized element type, and return a list of the resulting lazy arrays.
Example:
(apply #’compute (lazy-harmonize-list-of-arrays (list 5 6.0)))
=> 5.0
=> 6.0
Returns a lazy array containing the index components of the designated
shape in the supplied axis. If the first argument is not a shape, the function
SHAPE-DESIGNATOR-SHAPE is used to convert it a shape. If no axis is not
supplied, it defaults to zero.
Examples:
(compute (lazy-index-components (~ 9)))
=> #(0 1 2 3 4 5 6 7 8)
(compute (lazy-index-components (~ 0 4 2 ~ 1 5 2) 0))
=> #2A((0 0) (2 2))
(compute (lazy-index-components (~ 0 4 2 ~ 1 5 2) 1))
=> #2A((1 3) (1 3))
(compute (lazy-index-components #2A((1 2) (3 4))))
=> #2A((0 0) (1 1))
(compute (lazy-index-components #2A((1 2) (3 4)) 1))
=> #2A((0 1) (0 1))
Returns as many lazy arrays as indicated by the integer that is the first
supplied argument, whose contents are the results of applying the function
that is the second supplied argument element-wise to the contents of the
remaining argument arrays. If the arguments don’t agree in shape, they are
first broadcast with the function LAZY-BROADCAST-LIST-OF-ARRAYS.
Examples:
(multiple-value-call #’compute (lazy-multiple-value 0 #’*))
(multiple-value-call #’compute (lazy-multiple-value 1 #’*))
=> 1
(multiple-value-call #’compute (lazy-multiple-value 2 #’*))
=> 1
=> nil
(multiple-value-call #’compute
(lazy-multiple-value 2 #’floor #(2 3) #2A((1 2) (3 4))))
=> #2A((2 1) (1 0))
=> #2A((0 0) (0 3))
(multiple-value-call #’compute
(lazy-multiple-value 3 #’values-list #((1 2 3) (4 5 6))))
=> #(1 4)
=> #(2 5)
=> #(3 6)
Returns the lazy array obtained by repeatedly invoking LAZY-REDUCE as
often as indicated by the supplied first argument. The remaining arguments
are the function to be used for the reduction and a number of lazy arrays
that are broadcast and reduced along their first axes.
Examples:
(compute (lazy-multireduce 0 #’+ #2A((1 2) (3 4))))
=> #2A((1 2) (3 4))
(compute (lazy-multireduce 1 #’+ #2A((1 2) (3 4))))
=> #(4 6)
(compute (lazy-multireduce 2 #’+ #2A((1 2) (3 4))))
=> 10
Returns a lazy array that is a combination of all the values of all the
supplied arrays. If any of the supplied arrays overlap at some index, the
value of the result in that index is that of the rightmost array containing
that index. Signals an error unless all the supplied arrays have the same
rank, or if the union of all their shapes cannot be represented as a
shape.
Examples:
(compute (lazy-overwrite (lazy-reshape 1 (~ 0 4)) (lazy-reshape 2 (~ 2 4))))
=> #(1 1 2 2)
(compute
(lazy-overwrite (lazy-reshape 1 (~ 3 ~ 3)) (lazy-reshape 2 (~ 1 2 ~ 1 2))))
=> #2A((1 1 1) (1 2 1) (1 1 1))
Returns the result of first harmonizing all the supplied arrays, and then passing them to LAZY-OVERWRITE.
Returns one or more lazy arrays whose contents are the multiple value
reduction with the supplied function, when applied pairwise to the elements
of the first axis of each of the supplied arrays. If the supplied arrays
don’t agree in shape, they are first broadcast with the function
BROADCAST-ARRAYS.
The supplied function F must accept 2k arguments and return k values, where
k is the number of supplied arrays. All supplied arrays must have the same
shape S, which is the cartesian product of some ranges, i.e., S = r_1 x
... r_n, where each range r_k is a set of integers, e.g., {0, 1, ..., m}.
Then β returns k arrays of shape s = r_2 x ... x r_n, whose elements are a
combination of the elements along the first axis of each array according to
the following rules:
1. If the given arrays are empty, return k empty arrays.
2. If the first axis of each given array contains exactly one element, drop that axis and return arrays with the same content, but with shape s.
3. If the first axis of each given array contains more than one element,
partition the indices of this axis into a lower half l and an upper half
u. Then split each given array into a part with shape l x s and a part
with shape u x s. Recursively process the lower and the upper halves of
each array independently to obtain 2k new arrays of shape s. Finally,
combine these 2k arrays element-wise with f to obtain k new arrays with
all values returned by f. Return these arrays.
Examples:
(compute (lazy-reduce #’+ #(1 2 3 4)))
=> 10
(compute (lazy-reduce #’+ #2A((1 2) (3 4))))
=> #(4 6)
(let ((a #(5 2 7 1 9)))
(multiple-value-bind (max index)
(lazy-reduce
(lambda (lv li rv ri)
(if (> lv rv)
(values lv li)
(values rv ri)))
a (lazy-index-components a 0))
(compute max index)))
=> 9
=> 4
Returns the lazy array that is obtained by successively reshaping the
supplied array with the supplied modifiers in left-to-right order. There
are four kinds of modifiers: Integers that express an increase or decrease
in the number of active axes, transformations that describe a reordering of
values, functions which are applied to the shape consisting of all active
axes to obtain additional modifiers, and shape designators that describe a
selection, move, or broadcasting of values, depending on whether the
designated shape has fewer, equal, or more elements than the active axes of
the current lazy array.
More precisely, the processing maintains a lazy array L that is initialized to the result of applying LAZY-ARRAY constructor to the supplied first argument, a number of active ranges K that initialized to the rank of L. For each modifier, L and K are updated while maintaining the invariant that K is less than or equal to the rank of L. The rules for updating L and K are as follows:
1. If the modifier is a non-negative integer N, compare it with the number
of active ranges K. If N is less than or equal to K, set K to N and
leave L as it is. Otherwise, if N is larger than K, create a new lazy
array with the same contents as L, whose shape starts with N minus K
ranges that only contain the integer zero, followed by the ranges of L.
Then, set L to that newly created lazy array, and set K to N.
2. If the modifier is an invertible transformation with input rank M (which
must be less than the number of active ranges K) and output rank N,
extend the transformation with trailing identity mappings such that it
has an input rank equal to the rank of L. Create a new lazy array by
reordering L with that extended transformation. Set L to that newly
created lazy array, and K to N.
3. If the modifier is a function, apply it to the shape consisting of the
first K ranges of L to obtain a number of new modifiers as multiple
values. Process the new modifiers as if they were supplied instead of
this function modifier.
4. If the modifier is a shape designator, compare the designated shape M
with the shape S that consists of the first K ranges of L, and chose one
of the following rules to update L and K.
a) If the shape M has rank K and denotes a strict subset of S, create a
new lazy array whose first N ranges are equal to those of M, whose
remaining ranges are equal to the corresponding ones of L, and where
each index maps to the same value as L. Then, set L to that newly
created lazy array.
b) If the shape M has the same number of elements as S, create a new
lazy array with the same contents and the same lexicographical
ordering as L, whose shape consists of the ranges of M followed by
all but the first K ranges of L. Then, set L to that newly created
lazy array, and set K to the rank of M.
c) If the shape M has more elements than the current shape, create a new
lazy array that is a broadcasting reference to L, whose shape
consists of the ranges of M, followed by all but the first K ranges
of L. Then, set L to the newly created lazy array, and set K to the
rank of M.
The result of this function is the final value of the lazy array L after
processing all modifiers.
Examples:
(compute (lazy-reshape #(1 2 3 4 5 6) (~ 1 5)))
=> #(2 3 4 5)
(compute (lazy-reshape #(1 2 3 4 5 6) (~ 2 ~ 3)))
=> #2A((1 2 3) (4 5 6))
(compute (lazy-reshape #(1 2 3 4 5 6) (~ 6 ~ 2)))
=> #2A((1 1) (2 2) (3 3) (4 4) (5 5) (6 6))
(compute (lazy-reshape #(1 2 3 4) (transform i to (- i))))
=> #(4 3 2 1)
(compute (lazy-reshape #(1 2 3 4) (transform i to (- i)) (~ -2 0)))
=> #(3 2)
(compute (lazy-reshape #2A((1 2) (3 4)) (transform i j to j i)))
=> #2A((1 3) (2 4))
(compute (lazy-reshape #2A((1 2) (3 4)) 1 (~ 2 ~ 2)))
=> #3A(((1 2) (1 2)) ((3 4) (3 4)))
(compute (lazy-reshape #(1 2 3) 0 1))
=> #2A((1 2 3))
(compute (lazy-reshape #2A((1 2) (3 4)) (lambda (s) (~ (shape-size s))))) => #(1 2 3 4)
Returns a lazy array whose rank is one less than the rank of the supplied
array, and that contains all entries of the supplied array whose index
component is equal to the supplied index in the optionally supplied axis.
If the axis is not supplied, it defaults to zero.
Examples:
(compute (lazy-slice #(1 2 3 4) 2))
=> 3
(compute (lazy-slice #2A((1 2) (3 4)) 0))
=> #(1 2)
(compute (lazy-slice #2A((1 2) (3 4)) 1))
=> #(3 4)
(compute (lazy-slice #2A((1 2) (3 4)) 0 1))
=> #(1 3)
(compute (lazy-slice #2A((1 2) (3 4)) 1 1))
=> #(2 4)
Returns a lazy array containing all those elements of the supplied array
whose index components in the optionally supplied axis are contained in the
supplied range. If the axis is not supplied, it defaults to zero. The
resulting array has the same shape as the supplied array, except that its
range in the axis being sliced along is the supplied range. Signals an
error if the supplied range is not fully contained in the original range of
that axis.
Examples:
(compute (lazy-slices #(1 2 3 4) (range 0 3 2)))
=> #(1 3)
(compute (lazy-slices #2A((1 0 0) (0 1 0) (0 0 1)) (range 2)))
=> #2A((1 0 0) (0 1 0))
(compute (lazy-slices #2A((1 0 0) (0 1 0) (0 0 1)) (range 0 3 2)))
=> #2A((1 0 0) (0 0 1))
(compute (lazy-slices #2A((1 0 0) (0 1 0) (0 0 1)) (range 0 3 2) 1)) => #2A((1 0) (0 0) (0 1))
Returns a lazy array containing the elements of the supplied array, but sorted
along the first axis with the supplied predicate.
Examples:
(compute (lazy-sort #(1 3 7 5 0 6 4 9 8 2) #’<))
=> #(0 1 2 3 4 5 6 7 8 9)
(compute (lazy-sort "Sphinx of black quartz, judge my vow." #’char-lessp))
=> " ,.aabcdefghijklmnoopqrStuuvwxyz"
(compute (lazy-sort #2A((9 8 7) (6 5 4) (3 2 1)) #’<))
=> #2A((3 2 1) (6 5 4) (9 8 7))
Returns a lazy array whose contents are the supplied arrays, stacked next
to each other along the specified AXIS such that the leftmost array will have
the lowest index components, and the rightmost array will have the highest
index components.
The supplied arrays must all have the same rank, and also the same ranges
in all but the one axis that is being stacked along. The range of the
resulting lazy array in that axis that is being stacked along has the same
start as the leftmost corresponding argument range that is non-empty, a
size that is the sum of the sizes of all corresponding ranges, and a step
size is that of the leftmost corresponding argument range that has more
than one element, or one if there is no such range. Signals an error if
multiple arguments have a range with more than one element but differing
step sizes in the axis being stacked along.
Examples:
(compute (lazy-stack 0 #(1) #(2) #(3)))
=> #(1 2 3)
(compute (lazy-stack 0 #(1 2) #(3 4) #(5 6)))
=> #(1 2 3 4 5 6)
(compute (lazy-stack 0 #2A((1 2) (3 4)) #2A((5 6) (7 8))))
=> #2A((1 2) (3 4) (5 6) (7 8))
(compute (lazy-stack 1 #2A((1 2) (3 4)) #2A((5 6) (7 8))))
=> #2A((1 2 5 6) (3 4 7 8))
Creates a network with the supplied inputs and outputs.
An error is signaled of any of the inputs is not of type NETWORK-INPUT, or if additional network inputs are reachable from the network outputs.
Returns a shape whose axes are determined by the supplied list of ranges.
Returns a transformation that is created according to the supplied keyword
arguments. Valid keyword arguments are:
- :INPUT-RANK A non-negative integer that is the rank of any valid index or
shape supplied to this transformation. Defaults to the length of the
supplied input mask, or, if no input mask is supplied, to the default
value of the output rank. Signals an error if neither the input rank or
the output rank can be derived in any way.
- :OUTPUT-RANK A non-negative integer that is the rank of any valid index
or shape supplied to this transformation. Defaults to the length of the
supplied scalings, offsets, or output mask, or, if none of these are
supplied, to the default value of the input rank. Signals an error if
neither the input rank or the output rank can be derived in any way.
- :INPUT-MASK A sequence with one element per axis of the transformation’s
input. Each element must either be an integer, in which case only this
integer may occur in the corresponding axis of the input, or NIL, in
which case any integer may occur in the corresponding axis.
- :OUTPUT-MASK A sequence with one element per axis of the transformation’s
output. Each element must either be an integer, in which case this
integer denotes the axis of the input that is to be scaled, shifted and
sent to the current position’s output, or NIL, in which case only the
corresponding offset value is sent to the current output. This way, the
output mask can encode both permutations of the input, as well as
insertion and removal of axes. If this keyword argument is not supplied,
it defaults to a sequence of consecutive integers as long as the minimum
of the input rank and the output rank, followed by entries of NIL in case
the output rank exceeds the input rank.
- :SCALINGS A sequence with one element per axis of the transformation’s
output. Each element must be a rational number. Every transformation
output is the input denoted by the output mask, scaled with its
corresponding entry in this sequence, and then added to the corresponding
offset. In case of an output mask entry of NIL, the corresponding
scaling is ignored and the offset of that output axis is returned as is.
If this keyword argument is not supplied, it defaults to a sequence of
ones.
- :OFFSETS A sequence with one element per axis of the transformation’s output. Each element must be a rational number that is added to the corresponding output value after scaling has taken place. If this keyword argument is not supplied, it defaults to a sequence of zeros.
Signals an error if some of the sequences supplied as :OUTPUT-MASK,
:SCALINGS, or :OFFSETS differ in length.
Examples:
(make-transformation :input-rank 2)
=> (transform a b to a b)
(make-transformation :input-rank 2 :output-rank 1)
=> (transform a b to a)
(make-transformation :input-mask ’(2 nil 3))
=> (transform 2 b 3 to 2 b 3)
(make-transformation :output-mask #(1 0 nil))
=> (transform a b c to b a 0)
(make-transformation :offsets #(1 2 3) :scalings #(4 5 6))
=> (transform a b c to (1+ (* 4 a)) (+ (* 5 b) 2) (+ (* 6 c) 3))
Returns a lazy array whose contents are not known and consequently cannot be computed.
Lazy arrays depending on such an array also cannot be computed. The main
purpose such unknown lazy arrays is to construct the arguments to the
EVALUATOR function.
Examples:
(make-unknown :shape (~ 5 ~ 5))
=> #<lazy-array t (~ 5 ~ 5)>
(make-unknown :element-type ’double-float)
=> #<lazy-array double-float (~*)>
Takes a function and a range and applies the function to all integers of that range, in ascending order. Returns the range being mapped over.
Example:
(let ((l ’nil))
(map-range (lambda (i) (push i l)) (range 1 9 2))
(nreverse l))
=> (1 3 5 7)
Takes a function and a shape and applies the function to all integer
tuples of that range, in ascending order.
Example:
(let ((l ’nil))
(map-shape (lambda (i) (push i l)) (~ 1 3 ~ 3 5))
(nreverse l))
=> ((1 3) (2 3) (1 4) (2 4))
Partition all buffers and kernels in the supplied program into shards.
Returns, as multiple values, a vector mapping each buffer to its corresponding
primogenitor buffer shard, a vector mapping each kernel to its corresponding
primogenitor kernel shard, and a vector mapping each buffer to its
corresponding ghostspec.
SPLIT-PRIORITY - A function that takes a buffer shard and returns an unsigned
integer that is the priority when considering whether to split that buffer
shard. Buffer shards with higher priority are split first, and buffer shards
whose priority is below a certain minimum priority are not split at all.
SPLIT-MIN-PRIORITY - An unsigned integer that is the priority a buffer shard
must exceed to be considered for splitting.
SPLIT-MAX-REDUNDANCY - A real number that is the maximum permissible ratio of ghost points to interior points for a split.
Returns a function that can be supplied as modifier to LAZY-RESHAPE to
turn any lazy array shape into modifiers that select certain interior
points of that shape. The nature of this function is determined by the
four keyword arguments :LAYERS, :LOWER-LAYERS, :UPPER-LAYERS, and :STRIDES.
Each of these keyword arguments can be a non-negative integer, in which
case it applies to each axis of the lazy array being reshaped, or it can be
a sequence of non-negative integers, in which case each element of that
sequence applies only to the corresponding axis.
The :LOWER-LAYERS keyword argument describes how many of the lowest integers in each range are to be peeled off, and the :UPPER-LAYERS keyword argument describes how many of the highest integers in each range are to be peeled off. The :LAYERS keyword argument, which defaults to zero, describes the default values for both of the lower and upper layers when they aren’t specified explicitly. The :STRIDES keyword argument, which defaults to one, denotes a factor for scaling the original step size of each range, such that a stride of K means selecting only every Kth element.
The resulting function signals an error if an attempt is made to peel more
layers from a lazy array than the size of the range in that axis.
Examples:
(compute
(lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (peeling-reshaper :layers 1)))
=> #2A((5))
(compute
(lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9))
(peeling-reshaper :lower-layers 1)))
=> #2A((5 6) (8 9))
(compute
(lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9))
(peeling-reshaper :upper-layers 1)))
=> #2A((1 2) (4 5))
(compute
(lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9))
(peeling-reshaper :lower-layers ’(0 2))))
=> #2A((3) (6) (9))
Returns a function that can be supplied as a modifier to LAZY-RESHAPE to
turn any lazy array shape into a permuting transformation. The supplied
arguments must be non-negative integers that denote the ordering of axes
that is established by that transformation.
Examples:
(compute (lazy-reshape #2A((1 2) (3 4)) (permuting-reshaper 1 0)))
=> #2A((1 3) (2 4))
(compute
(lazy-reshape #3A(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))
(permuting-reshaper 0 2 1)))
=> #3A(((1 4) (2 5) (3 6)) ((7 10) (8 11) (9 12)))
(compute
(lazy-reshape #3A(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))
(permuting-reshaper 2 0 1)))
=> #3A(((1 4) (7 10)) ((2 5) (8 11)) ((3 6) (9 12)))
Return the list of prime factors of INTEGER in ascending order.
Returns a new, normalized range from the supplied parameters.
This function can be invoked with one, two or three integers. If it is
called with a single argument, the result is a range starting from zero,
with step size one, up to but excluding the supplied argument. In other
words, a single argument is treated just like one of the dimensions of a
regular array. If the range constructor is called with two arguments, then
the result is still a range with a step size of one, but with the first
argument as the inclusive lower bound, and with the second argument as the
exclusive upper bound. The three argument version behaves just like the
two argument version, except that the additional third argument denotes the
step size. The sign of the step size gives the direction of the range: If
the sign is positive, then the exclusive upper bound must be larger than
the inclusive lower bound or the resulting range is empty. If the sign is
negative, the first argument is used as an inclusive upper bound, and the
second argument is used as an exclusive lower bound.
It is worth mentioning that the range constructor has the exact same name and semantics as the range constructor in the Python programming language.
Examples:
(range 5)
=> #<range(0 ... 4)>
(range 5 9)
=> #<range(5 6 7 8)>
(range 5 13 2)
=> #<range(5 7 9 11)>
(range 5 14 2)
=> #<range(5 7 ... 13)>
(range 1 7 -2)
=> #<empty-range>
(range 7 1 -2)
=> #<range(3 5 7)>
Returns whether the supplied range contains a particular integer.
Examples:
(range-contains (range 1 10) 5)
=> t
(range-contains (range 1 10) -5)
=> nil
(range-contains (range 1 10 3) 4)
=> t
Compute the difference of the two supplied ranges RANGE1 and RANGE2. Returns a list of disjoint subranges of RANGE1 that describe exactly those integers appearing in RANGE1 but not in RANGE2.
Returns an integer that is larger than any integer in the supplied range. An error is signaled in case the range has zero elements.
Returns the range containing exactly those elements that occur in both
supplied ranges..
Examples:
(range-intersection (range 1 10) (range 2 20))
=> #<range(2 ... 9)>
(range-intersection (range 3 14 2) (range 1 14 3))
=> #<range(7 13)>
Returns whether two supplied ranges have at least one common element.
Examples:
(range-intersectionp (range 1 10) (range 2 20))
=> t
(range-intersectionp (range 0 7 2) (range 1 8 2))
=> nil
Returns the highest integer contained in the supplied range. An error is signaled in case the range has zero elements.
Returns the number of elements in the supplied range.
size
.
Returns the lowest integer contained in the supplied range. An error is signaled in case the range has zero elements.
Returns the difference between any two successive integers in the supplied range. An error is signaled in case the range has zero elements.
step
.
Returns whether two supplied ranges describe the same set of integers.
Examples:
(range= (range 1) (range 2))
=> nil
(range= (range 2) (range 2))
=> t
(range= (range 0 8 2) (range 0 9 2))
=> nil
(range= (range 0 8 3) (range 0 9 3))
=> t
Returns whether a supplied object is a range.
Examples:
(rangep 42)
=> nil
(rangep (range 1 3 2))
=> t
Takes a vector of single-precision floating-point numbers that describes the potential for memory reuse along each axis, returns a transformation that sorts all axes by increasing reuse potential.
Returns whether the supplied shape contains the index denoted by the
supplied list of integers.
Examples:
(shape-contains (~ 1 9) (list 4))
=> t
(shape-contains (~ 1 2 9) (list 4))
=> nil
Computes the difference of two shapes S1 and S2. Returns a list of
disjoint subshapes of S1 that describe exactly those integer tuples
appearing in S1 but not in S2.
Examples:
(shape-difference-list (~ 1 11) (~ 2 10))
=> ((~ 1 2) (~ 10 11))
(shape-difference-list (~ 1 11) (~ 4 8))
=> ((~ 1 4) (~ 8 11))
(shape-difference-list (~ 1 11) (~ 2 9 2))
=> ((~ 1 10 2) (~ 10 11))
(shape-difference-list (~ 1 11) (~ 2 21))
=> ((~ 1 2))
(shape-difference-list (~ 1 21 2) (~ 1 21 3))
=> ((~ 3 16 6) (~ 5 18 6))
Return the array dimensions corresponding to a shape. Signal an error
if any of the ranges of the shape have a nonzero start or a step size other
than one.
Examples:
(shape-dimensions (~*))
=> nil
(shape-dimensions (~ 0 9))
=> (9)
(shape-dimensions (~ 1 9))
=> (8)
(shape-dimensions (~ 0 2 9))
=> (1)
(shape-dimensions (~ 0 4 ~ 0 5 ~ 0 6))
=> (4 5 6)
Returns the shape whose ranges are the RANGE-INTERSECTION of each pair of
ranges of the two supplied shapes. Signals an error if the supplied shapes
don’t have the same rank.
Examples:
(shape-intersection (~ 1 11 ~ 3 14 2) (~ 1 6 ~ 1 14 3))
=> (~ 1 6 ~ 7 14 6)
(shape-intersection (~ 1 6) (~ 6 11))
=> (~ 0)
Returns whether two supplied shapes have at least one common element.
Examples:
(shape-intersectionp (~ 1 6) (~ 6 10))
=> nil
(shape-intersectionp (~ 1 5) (~ 6 10))
=> nil
Returns the shape that consists of the lower axes of the supplied first
argument, and whose rank is given by the second argument.
Examples:
(shape-prefix (~ 1 ~ 2 ~ 3) 0)
=> (~*)
(shape-prefix (~ 1 ~ 2 ~ 3) 1)
=> (~ 1)
(shape-prefix (~ 1 ~ 2 ~ 3) 2)
=> (~ 1 ~ 2)
Returns the range denoted by the supplied SHAPE and AXIS.
Examples:
(shape-range (~ 1 ~ 2 ~ 3) 0)
=> #<range(0)>
(shape-range (~ 1 ~ 2 ~ 3) 2)
=> #<range(0 1 2)>
Returns a list of all ranges contained in the supplied shape.
Examples:
(shape-ranges (~*))
=> nil
(shape-ranges (~ 1 ~ 2 ~ 3))
=> (#<range(0)> #<range(0 1)> #<range(0 1 2)>)
(shape-ranges (~ 0 9 ~ 0 9))
=> (#<range(0 ... 8)> #<range(0 ... 8)>)
Returns the rank of the supplied shape, i.e., the number of ranges it
contains.
Examples:
(shape-rank (~*))
=> 0
(shape-rank (~ 1 ~ 2 ~ 3))
=> 3
(shape-rank (~ 0 9 ~ 0 9))
=> 2
rank
.
Returns that number of integer tuples denoted by the supplied shape.
Examples:
(shape-size (~*))
=> 1
(shape-size (~ 2 9))
=> 7
(shape-size (~ 1 9 ~ 1 8))
=> 56
size
.
Returns the shape consisting of all ranges of the supplied shape in the
axes interval between the supplied start and end. If the end argument is
not supplied, it defaults to the rank of the supplied shape.
Examples:
(shape-subseq (~ 2 ~ 3 ~ 4) 0)
=> (~ 2 ~ 3 ~ 4)
(shape-subseq (~ 2 ~ 3 ~ 4) 2)
=> (~ 4)
(shape-subseq (~ 2 ~ 3 ~ 4) 1 2)
=> (~ 3)
Returns the shape that consists of the higher axes of the supplied first
argument, and whose rank is given by the second argument.
Examples:
(shape-suffix (~ 1 ~ 2 ~ 3) 0)
=> (~*)
(shape-suffix (~ 1 ~ 2 ~ 3) 1)
=> (~ 3)
(shape-suffix (~ 1 ~ 2 ~ 3) 2)
=> (~ 2 ~ 3)
Returns whether SHAPE1 has less elements than SHAPE2, or, if both shapes have the same size, whether SHAPE1 has lower rank than SHAPE2, or, if both shapes have the same rank, whether the range of SHAPE1 is smaller than the range of SHAPE2 ranges in the lowest axis where both ranges differ in size.
The main use case for this function is to sort sequences of shapes, such
that they can be accessed in logarithmic time.
Examples:
(shape< (~ 2) (~ 3))
=> t
(shape< (~ 3) (~ 2))
=> nil
(shape< (~ 2 ~ 4) (~ 2 ~ 2 ~ 2))
=> t
(shape< (~ 2 ~ 2 ~ 2) (~ 2 ~ 4))
=> nil
(shape< (~ 2 ~ 2 ~ 4) (~ 2 ~ 4 ~ 2))
=> t
(shape< (~ 2 ~ 4 ~ 2) (~ 2 ~ 2 ~ 4))
=> nil
Returns whether two supplied shapes denote the same set of integer tuples.
Examples:
(shape= (~*) (~*))
=> t
(shape= (~ 42) (~ 42))
=> t
(shape= (~ 1 42) (~ 1 42))
=> t
(shape= (~ 1 42) (~ 2 42))
=> nil
Returns whether the supplied object is a shape.
Examples:
(shapep 42)
=> nil
(shapep (~ 1 ~ 2 ~ 3 4))
=> t
This function expects a single shape with one or more ranges R1 to Rn.
It returns a shape with the ranges R2 to R1, and, as a second value, the
range R1 that has been peeled off.
Examples:
(shrink-shape (~ 1 10))
=> (~*)
=> #<range(1 ... 9)>
(shrink-shape (~ 1 10 ~ 0 2))
=> (~ 2)
=> #<range(1 ... 9)>
Returns whether the supplied range has a size of one.
Examples:
(size-one-range-p (range 5))
=> nil
(size-one-range-p (range 5 7 2))
=> t
(size-one-range-p (range 5 7 3))
=> t
Splits the supplied range R into a lower and an upper half and returns those two halves as multiple values. In case R has an odd number of elements, the lower half will have one more element than the upper half.
The optional POSITION argument is a real number that can be used to
prescribe the point at which to split the range.
Examples:
(split-range (range 0))
=> #<empty-range>
=> #<empty-range>
(split-range (range 1))
=> #<range(0)>
=> #<empty-range>
(split-range (range 1 10))
=> #<range(1 ... 5)>
=> #<range(6 7 8 9)>
(split-range (range 1 10) 3)
=> #<range(1 2)>
=> #<range(3 ... 9)>
(split-range (range 1 10) 1)
=> #<empty-range>
=> #<range(1 ... 9)>
(split-range (range 1 10) 10)
=> #<range(1 ... 9)>
=> #<empty-range>
(split-range (range 1 9))
=> #<range(1 2 3 4)>
=> #<range(5 6 7 8)>
(split-range (range 2 9 2))
=> #<range(2 4)>
=> #<range(6 8)>
(split-range (range 2 9 2) 3)
=> #<range(2)>
=> #<range(4 6 8)>
Split the supplied SHAPE at AXIS. The optional POSITION argument can be
supplied to describe the position at which to split. If no POSITION
argument is supplied, split into two halves of roughly equal size. Returns
two values, which are two shapes resulting from the split.
Examples:
(split-shape (~ 10 ~ 10) 0)
=> (~ 5 ~ 10)
=> (~ 5 10 ~ 10)
(split-shape (~ 10 ~ 10) 1)
=> (~ 10 ~ 5)
=> (~ 10 ~ 5 10)
(split-shape (~ 10 ~ 10) 0 3)
=> (~ 3 ~ 10)
=> (~ 3 10 ~ 10)
(split-shape (~ 2 9 2 ~ 2 9 2) 0 3)
=> (~ 2 3 ~ 2 9 2)
=> (~ 4 9 2 ~ 2 9 2)
(split-shape (~ 2 9 2 ~ 2 9 2) 1 3)
=> (~ 2 9 2 ~ 2 3)
=> (~ 2 9 2 ~ 4 9 2)
Invoke SUBDIVIDE-SHAPES on the shapes of the supplied ARRAYS.
Examples:
(subdivide-arrays (list))
=> nil
(subdivide-arrays (list #()))
=> (((~ 0) . 1))
(subdivide-arrays (list #() #()))
=> (((~ 0) . 1) ((~ 0) . 2))
(subdivide-arrays (list #(1 2 3 4) #(1 2)))
=> (((~ 2) . 3) ((~ 2 4) . 1))
Returns a list of cons cells whose CAR is a shape and whose CDR is an
integer. Each shape is a proper subshape of one or more of the supplied shapes
and the fusion of all these shapes covers all the supplied shapes. The bits of
each integer, when viewed in two’s complement, encode which of the supplied
shapes are supersets of that particular resulting shape.
Examples:
(subdivide-shapes (list (~ 1 10) (~ 2 20)))
=> (((~ 2 10) . 3) ((~ 1 2) . 1) ((~ 10 20) . 2))
(subdivide-shapes (list (~ 1 3 ~ 1 3) (~ 1 2 ~ 1 2)))
=> (((~ 1 2 ~ 1 2) . 3) ((~ 1 2 ~ 2 3) . 1) ((~ 2 3 ~ 1 3) . 1))
Returns whether all elements of the first supplied shape are also
contained in the second supplied shape. Signals an error if the supplied
shapes don’t have the same rank.
Examples:
(subshapep (~*) (~*))
=> t
(subshapep (~ 0 9) (~ 0 9))
=> t
(subshapep (~ 0 3) (~ 1 9))
=> nil
(subshapep (~ 0 3 ~ 0 3) (~ 0 9 ~ 0 9))
=> t
Returns a vector with one element per axis of any possible input. Each element of this vector is either an integer, meaning the index component of any input index in the corresponding axis must be that integer, or NIL, meaning that the index component can be any integer.
Returns the rank that any shape that can be transformed with this transformation must have.
Returns whether the supplied object is an invertible transformation.
Examples:
(transformation-invertiblep (transform i j to j i))
=> t
(transformation-invertiblep (transform i j to i))
=> nil
Returns a vector with one element per axis of any possible output. Each element of this vector is a rational number that is added to the input index component indicated by the corresponding output mask entry after it is multiplied with the corresponding scaling.
Returns a vector with one element per axis of any possible output. Each element of this vector is either an integer that is the corresponding input axis that is referenced by this output axis, or NIL, if and only if the scaling of that output axis is zero.
Returns the rank that shapes created by applying this transformation will have.
Returns a vector with one element per axis of any possible output. Each element of this vector is a rational number that is multiplied with the input index component indicated by the corresponding output mask entry before it is added to the corresponding offset.
Returns whether a supplied object is a transformation.
Examples:
(identity-transformation-p (transform i j to j i))
=> nil
(identity-transformation-p (transform i j to i j)) => t
Blocks until the requests resulting from some COMPUTE-ASYNCHRONOUSLY operations has been completed.
Returns a shape whose ranges are derived by processing each occurrence of
one of the self-evaluating delimiter symbols ~ and ~*, and the arguments
following such a delimiter up to the next one. Each such group contributes
one or more ranges to the resulting shape. The behavior of each delimiter
is as follows:
- The ~ delimiter must be followed by one, two, or three integers that are
then supplied to the RANGE function to construct the single resulting
range.
- The ~* delimiter must be followed by any number of ranges that are
incorporated into the resulting shape as they are.
Examples:
(~*)
=> (~*)
(~ 8)
=> (~ 8)
(~ 1 10)
=> (~ 1 10)
(~ 0 10 2 ~ 0 10 2)
=> (~ 0 9 2 ~ 0 9 2)
(~* (range 1 10) (range 2 9) ~ 42)
=> (~ 1 10 ~ 2 9 ~ 42)
(apply #’~ 1 10
(loop repeat 3
append ’(~ 2 6)))
=> (~ 1 10 ~ 2 6 ~ 2 6 ~ 2 6)
Returns a shape whose ranges are derived by processing each occurrence of
one of the self-evaluating delimiter symbols ~ and ~*, and the arguments
following such a delimiter up to the next one. Each such group contributes
one or more ranges to the resulting shape. The behavior of each delimiter
is as follows:
- The ~ delimiter must be followed by one, two, or three integers that are
then supplied to the RANGE function to construct the single resulting
range.
- The ~* delimiter must be followed by any number of ranges that are
incorporated into the resulting shape as they are.
Examples:
(~*)
=> (~*)
(~ 8)
=> (~ 8)
(~ 1 10)
=> (~ 1 10)
(~ 0 10 2 ~ 0 10 2)
=> (~ 0 9 2 ~ 0 9 2)
(~* (range 1 10) (range 2 9) ~ 42)
=> (~ 1 10 ~ 2 9 ~ 42)
(apply #’~ 1 10
(loop repeat 3
append ’(~ 2 6)))
=> (~ 1 10 ~ 2 6 ~ 2 6 ~ 2 6)
Returns a list of delayed local arrays, one for each of the supplied list
of LAZY-ARRAYS.
This function is invoked by COMPUTE, which guarantees that the supplied LAZY-ARRAYS are already collapsed. The resulting delayed actions replace the delayed actions of the corresponding LAZY-ARRAYS.
testing-backend
) (data-structures list
)) ¶ir-backend
) (lazy-arrays list
)) ¶reference-backend
) (lazy-arrays list
)) ¶Returns a REQUEST object that can be used to wait until all of the supplied LAZY-ARRAYS have been computed.
Returns whether the supplied backend runs in debug mode, where it trades performance for ease of debugging.
Set the backend’s debug flag to true or false.
For a supplied BACKEND, list of UNKNOWNS of length N, and list of
LAZY-ARRAYS of length K, returns a function with K+N arguments that
returns, as multiple values, the K array values obtained by computing the
supplied arrays after substituting the Ith unknown with the supplied
argument in position K+I.
The first N arguments specify which storage to use for the results. A
value of NIL indicates that the corresponding result shall be a fresh
array. A value that is an array ensures that the result is written to that
array.
An error is signaled if any of the arguments of an evaluator has a different shape or element type as the corresponding result or unknown.