This is the petalisp Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:20:15 2024 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.api
petalisp.test-suite
petalisp.codegen
petalisp.utilities
petalisp-user
petalisp.scheduling
petalisp.cqueue
petalisp.core
petalisp.ir
petalisp.karmarkar-karp
petalisp.native-backend
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.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.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.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.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.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.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
(slot).
lazy-array
(function).
lazy-array
(structure).
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
(slot).
rank
(type).
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.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
(slot).
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).
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.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).
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).
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.
Returns whether the supplied OBJECT is a Petalisp backend.
Returns a function that is a suitable return value for compiling a kernel that has the supplied blueprint.
cuda-compiler-mixin
) blueprint) ¶cpp-compiler-mixin
) blueprint) ¶lisp-plus-cpp-compiler-mixin
) blueprint) ¶lisp-compiler-mixin
) blueprint) ¶lisp-interpreter-mixin
) blueprint) ¶compile-cache-mixin
) blueprint) ¶Returns a function that returns zero values and that takes five arguments — the kernel, the iteration space, an opaque object representing all targets, an opaque object representing all sources, and an opaque object representing the evaluation environment.
delayed-action
)) ¶delayed-map
)) ¶delayed-nth-value
)) ¶delayed-reshape
)) ¶delayed-fuse
)) ¶Permanently disable the supplied BACKEND and free any resources that might be held by it. No other actions may be performed on a backend once it has been deleted.
testing-backend
)) ¶Given a transformation mapping from (i1 ... iN) to (j1 ... jM), return a transformation mapping from (i0 i1 ... iN iN+1) to ((+(* i0 SCALE) OFFSET) j1 ... jM).
hairy-transformation
) (scaling rational
) (offset rational
)) ¶identity-transformation
) (scale rational
) (offset rational
)) ¶identity-transformation
) (scale (eql 1)
) (offset (eql 0)
)) ¶hairy-transformation
) (n integer
)) ¶identity-transformation
) (n integer
)) ¶transformation
) (n integer
)) ¶call-instruction
)) ¶iref-instruction
)) ¶load-instruction
)) ¶store-instruction
)) ¶Returns the inverse of the supplied transformation.
An error is signaled if the supplied transformation is not invertible.
Examples:
(invert-transformation (transform i to (+ 2 i)))
=> (transform a to (+ a -2))
(invert-transformation (transform a b to (+ (* 2 b) 5) (+ (* 3 a) 7)))
=> (transform a b to (+ (* 1/3 b) -7/3) (+ (* 1/2 a) -5/2))
(invert-transformation (transform a 0 to a))
=> (transform a to a 0)
(invert-transformation (transform a b to a))
>> simple-error
hairy-transformation
)) ¶identity-transformation
)) ¶Returns the name of a function for loading an object of the supplied ntype from some base and index.
ir-backend
) (ntype ntype
)) ¶For each input of TRANSFORMATION, invoke FUNCTION with the input index
and the corresponding input constraint, or null, if there is no input
constraint for this input.
If FROM-END is false, the input indices are traversed in ascending order. Otherwise, they are traversed in descending order.
function
) (transformation hairy-transformation
) &key from-end) ¶function
) (transformation identity-transformation
) &key from-end) ¶For each output of TRANSFORMATION, invoke FUNCTION with the output
index, input index, the scaling and the offset of that output.
An input index of NIL and a scaling of zero is used, if (and only if) the
output is constant.
If FROM-END is false, the output indices are traversed in ascending order. Otherwise, they are traversed in descending order.
function
) (transformation hairy-transformation
) &key from-end) ¶function
) (transformation identity-transformation
) &key from-end) ¶Returns whether all lazy arrays that are part of the supplied REQUEST have already been computed.
completed-request
)) ¶Block until all lazy arrays that are part of the supplied REQUEST have been computed.
completed-request
)) ¶Returns whether the supplied OBJECT is a request.
Returns the shape of the supplied shape designator. If the designator is already a shape, the result is that shape. If the designator is a regular array or lazy array, the result is the shape of that array. If the result is any other object, the result is a shape with rank zero.
lazy-array
)) ¶array
)) ¶Returns the name of a function that will be invoked with the
.sources. kernel parameter and an index, and that returns the source with that
index.
As a second value, returns the values type specifier that describes the results of invoking that function.
ir-backend
)) ¶Returns the name of a function for storing an object of the supplied ntype at some base and index.
ir-backend
) (ntype ntype
)) ¶delayed-action
)) ¶delayed-fuse
)) ¶delayed-reshape
)) ¶delayed-nth-value
)) ¶delayed-multiple-value-map
)) ¶delayed-map
)) ¶Returns the name of a function that will be invoked with the values of the
.targets. kernel parameter and an index, and that returns the target with that
index.
As a second value, returns the values type specifier that describes the results of invoking that function.
ir-backend
)) ¶integer
) (hairy-transformation hairy-transformation
)) ¶integer
) (transformation identity-transformation
)) ¶integer
) (transformation transformation
)) ¶vector
) (transformation hairy-transformation
)) ¶list
) (transformation hairy-transformation
)) ¶sequence
) (transformation identity-transformation
)) ¶sequence
) (transformation hairy-transformation
)) ¶sequence
) (transformation transformation
)) ¶shape
) (transformation hairy-transformation
)) ¶shape
) (operator identity-transformation
)) ¶shape
) (transformation hairy-transformation
)) ¶shape
) (transformation transformation
)) ¶Returns whether two supplied transformations are similar. Two
transformations are similar if they have the same permutation, the same
inputs constraints, the same scalings, and offsets whose entries differ in
at most DELTA.
Examples:
(transformation-similar (transform a to a) (transform a to (1+ a)) 0)
=> nil
(transformation-similar (transform a to a) (transform a to (1+ a)) 1)
=> t
(transformation-similar (transform i j to (+ j 2) i)
(transform i j to (- j 1) i) 2)
=> nil
(transformation-similar (transform i j to (+ j 2) i)
(transform i j to (- j 1) i) 3)
=> t
transformation
) (t2 transformation
) (delta integer
)) ¶Returns whether two supplied transformations describe the same mapping.
Examples:
(transformation= (transform i to (* 2 (1+ i))) (transform i to (+ 2 (* 2 i))))
=> t
(transformation= (transform i j to i j) (transform i j to j i))
=> nil
hairy-transformation
) (t2 hairy-transformation
)) ¶identity-transformation
) (t2 identity-transformation
)) ¶transformation
) (t2 transformation
)) ¶Returns the name of a function for unpacking a storage object and environment
into a base, an offset, and as many strides as the supplied RANK.
As a second value, returns the values type specifier that describes the results of invoking that function.
ir-backend
) (ntype ntype
) (rank integer
)) ¶lazy-array
) stream) ¶empty-range
) stream) ¶transformation
) stream) ¶non-empty-range
) stream) ¶kernel-shard
) stream) ¶store-instruction
) stream) ¶load-instruction
) stream) ¶buffer-shard
) stream) ¶iref-instruction
) stream) ¶call-instruction
) stream) ¶A buffer is a mapping from indices of a particular shape to memory locations of the same type.
structure-object
.
petalisp.core:shape
typo:ntype
(and unsigned-byte fixnum)
list
(quote nil)
list
(quote nil)
(or null petalisp.ir:task)
common-lisp
.
(and unsigned-byte fixnum)
0
structure-object
.
petalisp.ir:buffer
This slot is read-only.
(or null petalisp.ir:buffer-shard)
This slot is read-only.
petalisp.core:shape
This slot is read-only.
petalisp.core:shape
This slot is read-only.
list
(quote nil)
list
(quote nil)
(or null unsigned-byte)
(or null structure-object)
(or null petalisp.ir:storage)
A call instruction represents the application of a function some arguments. A call instruction consists of a function description from the type inference library Typo called an fnrecord, an integer that specifies the number of values produced by the call instruction, and a list of inputs. The values of a call instruction are obtained by applying the fnrecord’s function to the values of each of the call instruction’s inputs. If the function application produces less values than specified, the missing values are set to NIL.
structure-object
.
bordeaux-threads-2:lock
(bordeaux-threads-2:make-lock :name "h-lock")
bordeaux-threads-2:lock
(bordeaux-threads-2:make-lock :name "t-lock")
cons
cons
structure-object
.
array
(alexandria:required-argument :storage)
common-lisp
.
condition
(alexandria:required-argument :condition)
This slot is read-only.
list
(alexandria:required-argument :inputs)
typo:values-ntype
(alexandria:required-argument :values-ntype)
This slot is read-only.
unsigned-byte
0
bordeaux-threads-2:lock
(bordeaux-threads-2:make-lock :name "refbits lock")
An empty range is a range with zero elements.
structure-object
.
hash-table
(make-hash-table)
An identity transformation of rank N maps every list of length N to itself. An identity transformation is its own inverse.
Instructions describe the behavior of a particular kernel. All the
instructions within one kernel form a directed acyclic graph whose leaves are
load instructions or references to the iteration space, and whose roots are
store instructions.
The instruction number of an instruction is an integer that is unique among all
instructions of the surrounding kernel. Instruction numbers are handed out in
depth first order of instruction dependencies, such that the roots (store
instructions) have the highest numbers and that the leaf nodes (load and iref
instructions) have the lowest numbers.
Each instruction input is a cons cell, whose cdr is another instruction, and whose car is an integer denoting which of the multiple values of the cdr is being referenced.
An iref instruction represents an access to elements of the iteration space itself. Each iref instruction contains a transformation that maps each index of the iteration space to an index of rank one. Its value is the single index component of that rank one index. An iref instruction has zero inputs.
The class of all instructions whose behavior directly depends on the current position in the surrounding iteration space.
petalisp.core:transformation
A kernel represents a computation that, for each element in its iteration space, reads from some buffers and writes to some buffers.
structure-object
.
petalisp.core:shape
list
(quote nil)
list
(quote nil)
simple-vector
#()
(or null petalisp.ir:task)
common-lisp
.
(and unsigned-byte fixnum)
0
structure-object
.
petalisp.ir:kernel
This slot is read-only.
petalisp.core:shape
This slot is read-only.
list
(quote nil)
list
(quote nil)
A lazy array encapsulates some information that can be used to compute actual Common Lisp arrays.
structure-object
.
convert-cluster
.
convert-cluster
.
convert-cluster
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
grow-dendrite-aux
.
input-gradient
.
input-gradient
.
input-gradient
.
print-object
.
shape-designator-shape
.
trivial-lazy-array-p
.
trivial-lazy-array-p
.
trivial-lazy-array-p
.
trivial-lazy-array-value
.
trivial-lazy-array-value
.
petalisp.core:shape
(alexandria:required-argument :shape)
This slot is read-only.
typo:ntype
(alexandria:required-argument :ntype)
This slot is read-only.
(and unsigned-byte fixnum)
0
This slot is read-only.
(and unsigned-byte fixnum)
0
petalisp.core:delayed-action
(alexandria:required-argument :delayed-action)
A load instruction represents a read from main memory. Each load instruction consists of a buffer that is being read from, and a transformation that maps each index of the iteration space to a position in that buffer. A load instruction has zero inputs, and produces a single output that is the value that has been loaded.
petalisp.ir:buffer
structure-object
.
list
(quote nil)
list
(quote nil)
unsigned-byte
0
unsigned-byte
0
unsigned-byte
0
(or unsigned-byte null)
unsigned-byte
0
common-lisp
.
A non-empty range denotes a set of integers, starting from a lower bound START, by a fixed stride STEP, to an exclusive upper bound END.
A program is the largest organizational unit in the Petalisp intermediate representation, and fully describes the semantics of a particular graph of lazy arrays.
structure-object
.
list
(quote nil)
list
(quote nil)
simple-vector
#()
(and unsigned-byte fixnum)
0
(and unsigned-byte fixnum)
0
A range denotes a possibly empty set of integers.
structure-object
.
(integer 0 *)
This slot is read-only.
A shape is the cartesian product of zero or more ranges. Shapes can be constructed by calling ~ or MAKE-SHAPE. The elements of a shape are lists of integers. The rank of a shape is the length of these lists. For example, the shape (~ 0 1 ~ 1 3 ~ 3 8 4) has rank three and consists of the integer tuples (0 1 3), (0 1 7), (0 2 3), (0 2 7).
structure-object
.
hash-table
(make-hash-table :test (function equalp))
This slot is read-only.
structure-object
.
petalisp.core:axis
This slot is read-only.
common-lisp
.
integer
This slot is read-only.
petalisp.ir:buffer-shard
This slot is read-only.
petalisp.ir:buffer-shard
This slot is read-only.
A stencil is a set of load or store instructions that all have the same buffer, kernel, output mask, and scalings, and whose offsets that are off only by at most *STENCIL-MAX-RADIUS* from the center of the stencil (measured in steps of the corresponding range of the buffer being loaded from). The center of a stencil is the average of the offsets of all its instructions.
structure-object
.
fixnum
0
This slot is read-only.
(simple-array unsigned-byte (*))
This slot is read-only.
typo:ntype
This slot is read-only.
unsigned-byte
This slot is read-only.
list
A store instruction represents a write to memory. Each store instruction consists of a buffer that is being written to, a transformation that maps each index in the iteration space to a location in that buffer, and a single input that is the value to be written. A store instruction returns zero values.
A task is a collection of kernels that fully define a set of buffers.
The rules for task membership are:
1. All kernels writing to a buffer B with task T have task T.
2. All buffers written to by a kernel K with task T have task T.
3. A buffer that is used by a kernel in T and that depends on a buffer in T is also in T.
structure-object
.
petalisp.ir:program
(quote nil)
list
(quote nil)
list
(quote nil)
list
(quote nil)
list
(quote nil)
common-lisp
.
(and unsigned-byte fixnum)
0
A transformation with input rank N and output rank M is a mapping from lists of length N to lists of rank M.
structure-object
.
clone-reference
.
clone-reference
.
clone-reference
.
compose-two-transformations
.
compose-two-transformations
.
compose-two-transformations
.
inflate-transformation
.
print-object
.
transform-axis
.
transform-index
.
transform-instruction-input
.
transform-instruction-input
.
transform-instruction-output
.
transform-instruction-output
.
transform-shape
.
transformation-similar
.
transformation=
.
petalisp.core:rank
This slot is read-only.
petalisp.core:rank
This slot is read-only.
simple-vector
This slot is read-only.
simple-vector
This slot is read-only.
simple-vector
This slot is read-only.
simple-vector
This slot is read-only.
(or boolean petalisp.core:transformation)
boolean
:debug
petalisp.codegen::compile-cache
(petalisp.codegen::make-compile-cache)
This slot is read-only.
string
(alexandria:required-argument :name)
:name
This slot is read-only.
petalisp.ir:memory
(alexandria:required-argument :memory)
:memory
This slot is read-only.
string
(alexandria:required-argument :name)
:name
This slot is read-only.
petalisp.ir:memory
(alexandria:required-argument :memory)
:memory
This slot is read-only.
(vector petalisp.ir:core)
:cores
This slot is read-only.
string
(alexandria:required-argument :name)
:name
This slot is read-only.
(or null petalisp.ir:memory)
:parent
This slot is read-only.
list
(quote nil)
:children
list
(quote nil)
:cores
unsigned-byte
(alexandria:required-argument :size)
:size
This slot is read-only.
unsigned-byte
(alexandria:required-argument :granularity)
:granularity
This slot is read-only.
unsigned-byte
(alexandria:required-argument :latency)
:latency
This slot is read-only.
unsigned-byte
(alexandria:required-argument :bandwidth)
:bandwidth
This slot is read-only.
(or null unsigned-byte)
:parent-bandwidth
This slot is read-only.
A network is an encapsulated data-flow graph that can be invoked with a
set of inputs and weights to yield several outputs.
Networks can also be differentiated, using the function NETWORK-GRADIENTS.
(alexandria:required-argument :parameters)
:parameters
This slot is read-only.
(alexandria:required-argument :outputs)
:outputs
This slot is read-only.
(alexandria:required-argument :evaluator)
:evaluator
This slot is read-only.
Whether a kernel is so small that there is no need including every detail in its blueprint.
Attempt to split buffer shard at the supplied axis and position. If the split could be introduced successfully, or if an equivalent split already existed, return that split. Otherwise, return NIL.
Returns whether the supplied blueprint can be translated to C++. This is the case when each array element type has a C++ equivalent, and when all function calls therein have a C++ equivalent.
base
.
rank
.
A list of all chains of buffer shards writing to buffer shard and its children. Useful for debugging.
Returns the buffer shard’s oldest ancestor that has the same storage as this
one. A buffer shard can be its own guardian.
Signals an error if the storage of the supplied buffer is NIL.
An infant is a buffer-shard without a split. This function returns the list of infants whose line of ancestry contains the supplied buffer shard.
Raise an error if any shards are malformed. Useful for debugging.
Returns a vector of vectors of allocations, and ensures that each storage being referenced by the supplied schedule has its allocation slot set to one of these allocations. Returns a second value that is a vector of all constant arrays that were referenced in the schedule.
Extend the domain of a buffer shard with suitable ghost layers.
Returns a vector whose Nth entry is the primogenitor buffer shard corresponding to the buffer with number N.
head
.
tail
.
cons
.
stem
.
Returns the axis where buffer shard can be split while introducing the minimum number of ghost points, or NIL, if the buffer-shard cannot be split further. If there are multiple axes with the same number of ghost points, pick the lowest axis.
Returns the position where buffer should be split such that both halves have similar size, but also such that recursive splitting results in shards that all have approximately the same split priority. The result of this function is a split position that is at most 1/6 away from the middle of the of the buffer shard’s range in the supplied axis.
Returns the C++ type, function name, and kind (:infix or :prefix) of the supplied Lisp function name. Signals an error if no equivalent C++ function exists.
data
.
An auxiliary function for LAZY-RESHAPE that processes a single modifier, and returns both the new lazy array and the new number of relevant axes obtained after applying the modifier.
Returns a transformation that maps every element of TARGET-SHAPE to an element of SOURCE-SHAPE. In case TARGET-SHAPE has a higher rank than SOURCE-SHAPE, insert additional axes at POSITION.
Generate an integer between MIN (inclusive) and MAX (exclusive).
Returns a new kernel shard from the supplied keyword arguments. Ensure that this kernel shard appears in the list of writers of all of its target buffer shards, and in the list of readers of all its source buffer shards.
Ensure that the current thread will only run on the specified CPU. Returns whether the pinning was successful.
Map the supplied function over all split-worthy buffer shards neighboring the supplied kernel shard. At the same time, change the coordinate system from the supplied axis and position from to that of each buffer shard being mapped over and pass the resulting axis and position as additional arguments to the supplied function.
Map the supplied function over all kernel shards neighboring the supplied buffer shard. At the same time, change the coordinate system from the supplied axis and position from to that of each kernel shard being mapped over and pass the resulting axis and position as additional arguments to the supplied function.
Replace any of the kernel shard’s sources or targets that have one or more splits with the most specific buffer shard in that tree of splits that still provides all the data referenced by the kernel shard. Update the writers and readers slot of all affected buffers accordingly.
Returns either :LEFT, :RIGHT, or :BOTH, depending how the iteration space relates to the supplied transformoid.
done
.
mode
.
Takes a list of fragments whose shapes are disjoint, and one new
fragment, and returns a list of disjoint fragments that partition both the old
fragments and the new fragment. The resulting list consists of three parts:
1. For each old fragment that has an intersection with the new fragment, a
fragment whose shape is that intersection, and whose mask is the LOGIOR of
the mask of the old fragment and the mask of the new fragment.
2. For each old fragment, all elements of the fragment difference list of that
fragment with the new fragment.
3. Fragments that, together, form the difference from the new fragment minus all the intersections from the first step.
Returns whether the supplied OBJECT is an array, a lazy array that can be cheaply converted to an array, or a scalar.
Returns the value of an OBJECT that is trivial in the sense of TRIVIAL-OBJECT-P.
Ensure that no buffer shards reference this kernel shard.
double-float
) (b double-float
)) ¶single-float
) (b single-float
)) ¶array
) (array-2 array
)) ¶delayed-array
) (b delayed-array
)) ¶bpconstant
)) ¶bpvariable
)) ¶bpvariable
) (v2 bpvariable
)) ¶bpconstant
) (v2 bpconstant
)) ¶store-instruction
)) ¶instruction
)) ¶kernel-shard
)) ¶buffer-shard
)) ¶(eql 0)
) (load-instruction load-instruction
) (kernel kernel
) (transformation transformation
)) ¶(eql 0)
) (iref-instruction iref-instruction
) (kernel kernel
) (transformation transformation
)) ¶integer
) (call-instruction call-instruction
) (kernel kernel
) (transformation transformation
)) ¶compile-cache-mixin
)) ¶automatically generated reader method
hairy-transformation
) (f hairy-transformation
)) ¶transformation
) (f identity-transformation
)) ¶identity-transformation
) (f transformation
)) ¶transformation
) (f transformation
)) ¶cluster
) (lazy-array lazy-array
) (delayed-multiple-value-map delayed-multiple-value-map
)) ¶cluster
) (lazy-array lazy-array
) (delayed-action delayed-action
)) ¶cluster
) (lazy-array lazy-array
) (delayed-action delayed-action
)) ¶delayed-failure
) index) ¶delayed-unknown
) index) ¶delayed-nop
) index) ¶delayed-array
) index) ¶delayed-range
) index) ¶delayed-fuse
) index) ¶delayed-reshape
) index) ¶delayed-nth-value
) index) ¶delayed-multiple-value-map
) index) ¶delayed-map
) index) ¶dendrite
) (lazy-array lazy-array
) (delayed-failure delayed-failure
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-wait delayed-wait
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-unknown delayed-unknown
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-range delayed-range
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-array delayed-array
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-nth-value delayed-nth-value
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-map delayed-map
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-reshape delayed-reshape
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-fuse delayed-fuse
)) ¶dendrite
) (lazy-array lazy-array
) (delayed-action delayed-action
)) ¶lazy-array
) (delayed-reshape delayed-reshape
) (output-gradient lazy-array
) (index (eql 0)
)) ¶lazy-array
) (delayed-fuse delayed-fuse
) (output-gradient lazy-array
) index) ¶lazy-array
) (delayed-map delayed-map
) (output-gradient lazy-array
) index) ¶iref-instruction
) (kernel kernel
)) ¶store-instruction
) (kernel kernel
)) ¶load-instruction
) (kernel kernel
)) ¶call-instruction
) (kernel kernel
)) ¶ir-backend
)) ¶automatically generated reader method
testing-backend
)) ¶automatically generated reader method
testing-backend
)) ¶automatically generated reader method
ir-backend
)) ¶automatically generated reader method
testing-backend
)) ¶automatically generated reader method
testing-backend
)) ¶automatically generated reader method
evaluation-failure
)) ¶instruction
) (transformation transformation
)) ¶iterating-instruction
) (transformation transformation
)) ¶instruction
) (transformation transformation
)) ¶iterating-instruction
) (transformation transformation
)) ¶Returns whether the supplied LAZY-ARRAYS and its DELAYED-ACTION have a corresponding collapsed array that can be obtained cheaply.
lazy-array
) (delayed-action delayed-action
)) ¶lazy-array
) (delayed-array delayed-array
)) ¶lazy-array
) (delayed-reshape delayed-reshape
)) ¶Obtain the array corresponding to the supplied LAZY-ARRAY, which must be trivial in the sense of TRIVIAL-LAZY-ARRAY-P.
lazy-array
) (delayed-array delayed-array
)) ¶lazy-array
) (delayed-reshape delayed-reshape
)) ¶error
.
(quote (alexandria:required-argument :serious-conditions))
:serious-conditions
This slot is read-only.
structure-object
.
petalisp.core:lazy-array
This slot is read-only.
list
(or null petalisp.core:lazy-array)
vector
structure-object
.
unsigned-byte
This slot is read-only.
unsigned-byte
boolean
unsigned-byte
This slot is read-only.
common-lisp
.
(or petalisp.codegen::bpfunction petalisp.codegen::bpconstant)
This slot is read-only.
(simple-array petalisp.codegen::bpvalue (*))
#()
This slot is read-only.
This slot is read-only.
structure-object
.
(simple-array petalisp.codegen::bprange (*))
This slot is read-only.
(simple-array petalisp.codegen::bpvalue (*))
This slot is read-only.
(simple-array petalisp.codegen::bpmemref (*))
This slot is read-only.
(simple-array petalisp.codegen::bpmemref (*))
This slot is read-only.
list
This slot is read-only.
list
This slot is read-only.
list
This slot is read-only.
(simple-array petalisp.codegen::bpinstruction (*))
This slot is read-only.
(simple-array list (*))
unsigned-byte
This slot is read-only.
structure-object
.
typo:ntype
petalisp.core:rank
petalisp.codegen::bpvariable
petalisp.codegen::bpvariable
(simple-array petalisp.codegen::bpvalue (*))
(simple-array petalisp.codegen::bpstencil (*))
structure-object
.
petalisp.codegen::bpvariable
This slot is read-only.
petalisp.codegen::bpvariable
This slot is read-only.
common-lisp
.
petalisp.codegen::bpvalue
This slot is read-only.
structure-object
.
petalisp.codegen::bpvalue
(simple-array petalisp.codegen::bpvariable (*))
This slot is read-only.
(simple-array petalisp.codegen::bpvalue (*))
This slot is read-only.
petalisp.codegen::bpmemref
This slot is read-only.
petalisp.codegen::bpvalue
This slot is read-only.
petalisp.codegen::bpvalue
This slot is read-only.
typo:variable-name
This slot is read-only.
structure-object
.
petalisp.native-backend::backend
This slot is read-only.
list
This slot is read-only.
(simple-array petalisp.core:shape (*))
This slot is read-only.
(simple-array typo:ntype (*))
This slot is read-only.
(simple-array petalisp.core:shape (*))
This slot is read-only.
(simple-array typo:ntype (*))
This slot is read-only.
(simple-array array (*))
This slot is read-only.
(simple-array vector (*))
This slot is read-only.
(simple-array simple-vector (*))
This slot is read-only.
structure-object
.
(make-hash-table)
structure-object
.
list
(quote nil)
(alexandria:required-argument :object)
This slot is read-only.
(or petalisp.utilities::color null)
petalisp.utilities::colorset
petalisp.utilities::+empty-colorset+
(and unsigned-byte fixnum)
0
(and unsigned-byte fixnum)
0
structure-object
.
hash-table
(make-hash-table :test (function eql) :synchronized t)
This slot is read-only.
structure-object
.
petalisp.ir::stem
petalisp.core:shape
petalisp.core:transformation
unsigned-byte
common-lisp
.
cons
structure-object
.
petalisp.native-backend::cenv
(alexandria:required-argument :cenv)
This slot is read-only.
(simple-array array (*))
(alexandria:required-argument :result-arrays)
This slot is read-only.
(simple-array simple-vector (*))
This slot is read-only.
list
bordeaux-threads-2:lock
(bordeaux-threads-2:make-lock :name "denv serious condition lock")
petalisp.native-backend::request
structure-object
.
petalisp.ir:buffer
This slot is read-only.
simple-vector
This slot is read-only.
simple-vector
This slot is read-only.
(simple-array bit)
This slot is read-only.
structure-object
.
function
This slot is read-only.
petalisp.ir:kernel
This slot is read-only.
petalisp.core:shape
This slot is read-only.
(simple-array petalisp.ir:storage (*))
(simple-array petalisp.ir:storage (*))
structure-object
.
(priority-queue:make-pqueue (function >))
hash-table
(make-hash-table :test (function eq))
hash-table
(make-hash-table :test (function eq))
hash-table
(make-hash-table :test (function eql))
hash-table
(make-hash-table :test (function eq))
list
(quote nil)
list
(quote nil)
unsigned-byte
This slot is read-only.
list
(quote nil)
hash-table
(make-hash-table :test (function eq))
structure-object
.
petalisp.ir:kernel
list
(quote nil)
list
(quote nil)
(or function null)
structure-object
.
queues:priority-queue
(queues:make-queue :priority-queue :compare (function petalisp.scheduling::node-more-important-p))
This slot is read-only.
petalisp.scheduling:node
(petalisp.scheduling::make-node)
structure-object
.
(bordeaux-threads-2:make-lock)
This slot is read-only.
(bordeaux-threads-2:make-condition-variable)
This slot is read-only.
boolean
structure-object
.
petalisp.native-backend::allocation
This slot is read-only.
hash-table
(make-hash-table :test (function equal))
unsigned-byte
0
(member :r :w)
:w
structure-object
.
petalisp.native-backend::worker-pool
This slot is read-only.
petalisp.native-backend::worker-id
This slot is read-only.
(or bordeaux-threads-2:thread null)
(lparallel.queue:make-queue)
(member :a :b)
:b
list
(quote nil)
structure-object
.
simple-vector
This slot is read-only.
(bordeaux-threads-2:make-atomic-integer :value 1)
(member :a :b)
:a
petalisp.native-backend::worker-pool
(alexandria:required-argument :worker-pool)
:worker-pool
This slot is read-only.
(petalisp.core:make-reference-backend)
This slot is read-only.
(petalisp.codegen:make-ir-backend :mode :interpreted)
This slot is read-only.
(petalisp.codegen:make-ir-backend :mode :compiled)
This slot is read-only.
(petalisp.native-backend:make-native-backend :debug t)
This slot is read-only.
Jump to: | %
(
~
A B C D E F G H I J K L M N P R S T U V W |
---|
Jump to: | %
(
~
A B C D E F G H I J K L M N P R S T U V W |
---|
Jump to: | %
*
+
~
A B C D E F G H I K L M N O P Q R S T U V W |
---|
Jump to: | %
*
+
~
A B C D E F G H I K L M N O P Q R S T U V W |
---|
Jump to: | A B C D E F G H I K L M N P R S T V W |
---|
Jump to: | A B C D E F G H I K L M N P R S T V W |
---|