The petalisp Reference Manual

This is the petalisp Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 06:13:56 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 petalisp

Elegant High Performance Computing

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.asd.


2.2 petalisp.api

A Convenient API for Petalisp.

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.api.asd.

Child Components

2.3 petalisp.packages

The PETALISP and PETALISP-USER packages.

Author

Marco Heisig <>

License

AGPLv3

Source

petalisp.packages.asd.

Child Component

packages.lisp (file).


2.4 petalisp.utilities

Author

Marco Heisig <>

License

AGPLv3

Dependencies
  • alexandria (system).
  • bordeaux-threads (system).
  • queues.priority-queue (system).
  • trivia (system).
  • trivial-garbage (system).
Source

petalisp.utilities.asd.

Child Components

2.5 petalisp.core

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.core.asd.

Child Components

2.6 petalisp.ir

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.ir.asd.

Child Components

2.7 petalisp.codegen

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.codegen.asd.

Child Components

2.8 petalisp.native-backend

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.native-backend.asd.

Child Components

2.9 petalisp.graphviz

Graphviz visualization of Petalisp data structures.

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.graphviz.asd.

Child Components

2.10 petalisp.test-suite

A comprehensive test suite for Petalisp.

Author

Marco Heisig <>

License

AGPLv3

Dependencies
Source

petalisp.test-suite.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 petalisp/petalisp.asd

Source

petalisp.asd.

Parent Component

petalisp (system).

ASDF Systems

petalisp.


3.1.2 petalisp.api/petalisp.api.asd

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

ASDF Systems

petalisp.api.


3.1.3 petalisp.packages/petalisp.packages.asd

Source

petalisp.packages.asd.

Parent Component

petalisp.packages (system).

ASDF Systems

petalisp.packages.


3.1.4 petalisp.utilities/petalisp.utilities.asd

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

ASDF Systems

petalisp.utilities.


3.1.5 petalisp.core/petalisp.core.asd

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

ASDF Systems

petalisp.core.


3.1.6 petalisp.ir/petalisp.ir.asd

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

ASDF Systems

petalisp.ir.


3.1.7 petalisp.codegen/petalisp.codegen.asd

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

ASDF Systems

petalisp.codegen.


3.1.8 petalisp.native-backend/petalisp.native-backend.asd

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

ASDF Systems

petalisp.native-backend.


3.1.9 petalisp.graphviz/petalisp.graphviz.asd

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

ASDF Systems

petalisp.graphviz.


3.1.10 petalisp.test-suite/petalisp.test-suite.asd

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

ASDF Systems

petalisp.test-suite.


3.1.11 petalisp.api/packages.lisp

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Packages
Public Interface

*backend* (special variable).


3.1.12 petalisp.api/with-lazy-arrays.lisp

Dependency

packages.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

with-lazy-arrays (macro).


3.1.13 petalisp.api/shape-syntax.lisp

Dependency

with-lazy-arrays.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface
Internals

3.1.14 petalisp.api/transform.lisp

Dependency

shape-syntax.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface
Internals

3.1.15 petalisp.api/reshapers.lisp

Dependency

transform.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface
Internals

3.1.16 petalisp.api/broadcast.lisp

Dependency

reshapers.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

broadcast (function).

Internals

3.1.17 petalisp.api/lazy-index-components.lisp

Dependency

broadcast.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-index-components (function).


3.1.18 petalisp.api/lazy.lisp

Dependency

lazy-index-components.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy (function).


3.1.19 petalisp.api/lazy-multiple-value.lisp

Dependency

lazy.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-multiple-value (function).


3.1.20 petalisp.api/lazy-overwrite.lisp

Dependency

lazy-multiple-value.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-overwrite (function).


3.1.21 petalisp.api/lazy-stack.lisp

Dependency

lazy-overwrite.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-stack (function).


3.1.22 petalisp.api/lazy-rearrange.lisp

Dependency

lazy-stack.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-rearrange (function).

Internals

3.1.23 petalisp.api/harmonize.lisp

Dependency

lazy-rearrange.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

3.1.24 petalisp.api/lazy-reduce.lisp

Dependency

harmonize.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-reduce (function).

Internals

3.1.25 petalisp.api/lazy-sort.lisp

Dependency

lazy-reduce.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface

lazy-sort (function).

Internals

3.1.26 petalisp.api/differentiator.lisp

Dependency

lazy-sort.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).

Public Interface
Internals

3.1.27 petalisp.api/documentation.lisp

Dependency

differentiator.lisp (file).

Source

petalisp.api.asd.

Parent Component

petalisp.api (system).


3.1.28 petalisp.packages/packages.lisp

Source

petalisp.packages.asd.

Parent Component

petalisp.packages (system).

Packages

petalisp-1.0.


3.1.29 petalisp.utilities/packages.lisp

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Packages

petalisp.utilities.


3.1.30 petalisp.utilities/documentation.lisp

Dependency

packages.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface
Internals

3.1.31 petalisp.utilities/cqueue.lisp

Dependency

documentation.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Packages

petalisp.cqueue.

Public Interface
Internals

3.1.32 petalisp.utilities/extended-euclid.lisp

Dependency

cqueue.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface

extended-euclid (function).

Internals

3.1.33 petalisp.utilities/powers-of-two.lisp

Dependency

extended-euclid.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface
Internals

clp2-fixnum (type).


3.1.34 petalisp.utilities/prime-factors.lisp

Dependency

powers-of-two.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface
Internals

3.1.35 petalisp.utilities/with-collectors.lisp

Dependency

prime-factors.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface

with-collectors (macro).

Internals

with-collector (macro).


3.1.36 petalisp.utilities/number-of-cpus.lisp

Dependency

with-collectors.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface

number-of-cpus (function).


3.1.37 petalisp.utilities/graph-coloring.lisp

Dependency

number-of-cpus.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface
Internals

3.1.38 petalisp.utilities/karmarkar-karp.lisp

Dependency

graph-coloring.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Packages

petalisp.karmarkar-karp.

Public Interface

karmarkar-karp (function).

Internals

3.1.39 petalisp.utilities/scheduling.lisp

Dependency

karmarkar-karp.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Packages

petalisp.scheduling.

Public Interface
Internals

3.1.40 petalisp.utilities/with-pinned-objects.lisp

Dependency

scheduling.lisp (file).

Source

petalisp.utilities.asd.

Parent Component

petalisp.utilities (system).

Public Interface
Internals

3.1.41 petalisp.core/packages.lisp

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Packages

petalisp.core.


3.1.42 petalisp.core/inspect.lisp

Dependency

packages.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

defined-by-graphviz (function).


3.1.43 petalisp.core/range.lisp

Dependency

inspect.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.44 petalisp.core/shape.lisp

Dependency

range.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.45 petalisp.core/transformation.lisp

Dependency

shape.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.46 petalisp.core/transformation-constructors.lisp

Dependency

transformation.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.47 petalisp.core/lazy-array.lisp

Dependency

transformation-constructors.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.48 petalisp.core/lazy-reshape.lisp

Dependency

lazy-array.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.49 petalisp.core/lazy-fuse.lisp

Dependency

lazy-reshape.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface

3.1.50 petalisp.core/lazy-map.lisp

Dependency

lazy-fuse.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface

lazy-map (function).


3.1.51 petalisp.core/substitute-lazy-arrays.lisp

Dependency

lazy-map.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

*substitutions* (special variable).


3.1.52 petalisp.core/backend.lisp

Dependency

substitute-lazy-arrays.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.53 petalisp.core/reference-backend.lisp

Dependency

backend.lisp (file).

Source

petalisp.core.asd.

Parent Component

petalisp.core (system).

Public Interface
Internals

3.1.54 petalisp.ir/packages.lisp

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Packages

petalisp.ir.


3.1.55 petalisp.ir/device.lisp

Dependency

packages.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface
Internals

3.1.56 petalisp.ir/ir.lisp

Dependency

device.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface
Internals

3.1.57 petalisp.ir/ir-checker.lisp

Dependency

ir.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface

check-ir (function).

Internals

3.1.58 petalisp.ir/ir-conversion.lisp

Dependency

ir-checker.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface
Internals

3.1.59 petalisp.ir/partitioning.lisp

Dependency

ir-conversion.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface
Internals

3.1.60 petalisp.ir/coloring.lisp

Dependency

partitioning.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).

Public Interface

compute-program-buffer-coloring (function).


3.1.61 petalisp.ir/documentation.lisp

Dependency

coloring.lisp (file).

Source

petalisp.ir.asd.

Parent Component

petalisp.ir (system).


3.1.62 petalisp.codegen/packages.lisp

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Packages

petalisp.codegen.


3.1.63 petalisp.codegen/indexing.lisp

Dependency

packages.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface
Internals

*index-ntype* (special variable).


3.1.64 petalisp.codegen/load-foreign-code.lisp

Dependency

indexing.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface

load-foreign-code (function).


3.1.65 petalisp.codegen/generic-functions.lisp

Dependency

load-foreign-code.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface

3.1.66 petalisp.codegen/blueprint.lisp

Dependency

generic-functions.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface
Internals

3.1.67 petalisp.codegen/bpinfo.lisp

Dependency

blueprint.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Internals

3.1.68 petalisp.codegen/compile-cache.lisp

Dependency

bpinfo.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Internals

3.1.69 petalisp.codegen/lisp-compiler.lisp

Dependency

compile-cache.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface
Internals

3.1.70 petalisp.codegen/lisp-interpreter.lisp

Dependency

lisp-compiler.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Internals

interpret-kernel (function).


3.1.71 petalisp.codegen/cpp-from-lisp.lisp

Dependency

lisp-interpreter.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Internals

3.1.72 petalisp.codegen/cpp-compiler.lisp

Dependency

cpp-from-lisp.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Internals

3.1.73 petalisp.codegen/mixins.lisp

Dependency

cpp-compiler.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface
Internals

compile-cache (reader method).


3.1.74 petalisp.codegen/ir-backend.lisp

Dependency

mixins.lisp (file).

Source

petalisp.codegen.asd.

Parent Component

petalisp.codegen (system).

Public Interface
Internals

3.1.75 petalisp.native-backend/packages.lisp

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Packages

petalisp.native-backend.


3.1.76 petalisp.native-backend/request.lisp

Dependency

packages.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Public Interface
Internals

3.1.77 petalisp.native-backend/pin-current-thread.lisp

Dependency

request.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Internals

3.1.78 petalisp.native-backend/worker-pool.lisp

Dependency

pin-current-thread.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Public Interface

print-object (method).

Internals

3.1.79 petalisp.native-backend/backend.lisp

Dependency

worker-pool.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Public Interface
Internals

3.1.80 petalisp.native-backend/scheduling.lisp

Dependency

backend.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Internals

3.1.81 petalisp.native-backend/allocation.lisp

Dependency

scheduling.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Internals

3.1.82 petalisp.native-backend/evaluator.lisp

Dependency

allocation.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Public Interface

backend-evaluator (method).

Internals

3.1.83 petalisp.native-backend/compilation.lisp

Dependency

evaluator.lisp (file).

Source

petalisp.native-backend.asd.

Parent Component

petalisp.native-backend (system).

Public Interface
Internals

3.1.84 petalisp.graphviz/packages.lisp

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Packages

petalisp.graphviz.


3.1.85 petalisp.graphviz/utilities.lisp

Dependency

packages.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Internals

3.1.86 petalisp.graphviz/protocol.lisp

Dependency

utilities.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Public Interface
Internals

3.1.87 petalisp.graphviz/petalisp.lisp

Dependency

protocol.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Internals

3.1.89 petalisp.graphviz/ir.lisp

Dependency

data-flow-graph.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Public Interface
Internals

3.1.90 petalisp.graphviz/partitioning.lisp

Dependency

ir.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Public Interface
Internals

3.1.91 petalisp.graphviz/class-diagram.lisp

Dependency

partitioning.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Public Interface

graph-object-node (method).

Internals

3.1.92 petalisp.graphviz/scheduling.lisp

Dependency

class-diagram.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Internals

3.1.93 petalisp.graphviz/view.lisp

Dependency

scheduling.lisp (file).

Source

petalisp.graphviz.asd.

Parent Component

petalisp.graphviz (system).

Public Interface
Internals

3.1.94 petalisp.test-suite/packages.lisp

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Packages

petalisp.test-suite.


3.1.95 petalisp.test-suite/test-suite.lisp

Dependency

packages.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Public Interface
Internals

3.1.96 petalisp.test-suite/testing-backend.lisp

Dependency

test-suite.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Public Interface
Internals

3.1.97 petalisp.test-suite/code-statistics.lisp

Dependency

testing-backend.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

3.1.98 petalisp.test-suite/defgenerator.lisp

Dependency

code-statistics.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

3.1.99 petalisp.test-suite/generators.lisp

Dependency

defgenerator.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

3.1.100 petalisp.test-suite/run-petalisp-test-suite.lisp

Dependency

generators.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Public Interface

3.1.101 petalisp.test-suite/petalisp.core.lisp

Dependency

run-petalisp-test-suite.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

3.1.102 petalisp.test-suite/petalisp.api.lisp

Dependency

petalisp.core.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

3.1.103 petalisp.test-suite/petalisp.examples.lisp

Dependency

petalisp.api.lisp (file).

Source

petalisp.test-suite.asd.

Parent Component

petalisp.test-suite (system).

Internals

4 Packages

Packages are listed by definition order.


4.1 petalisp.api

Source

packages.lisp.

Use List
Public Interface

move-axis-to-front (function).

Internals

4.2 petalisp.test-suite

Source

packages.lisp.

Use List
  • common-lisp.
  • petalisp-1.0.
  • petalisp.examples.iterative-methods.
  • petalisp.examples.linear-algebra.
Public Interface
Internals

4.3 petalisp.codegen

Source

packages.lisp.

Use List
Used By List

petalisp.native-backend.

Public Interface
Internals

4.4 petalisp.utilities

Source

packages.lisp.

Use List

common-lisp.

Used By List

petalisp.karmarkar-karp.

Public Interface
Internals

4.5 petalisp-user

Source

packages.lisp.

Use List

4.6 petalisp.scheduling

Source

scheduling.lisp.

Use List

common-lisp.

Public Interface
Internals

4.7 petalisp-1.0

Source

packages.lisp.

Nickname

petalisp

Use List

common-lisp.

Used By List
Public Interface

4.8 petalisp.cqueue

Source

cqueue.lisp.

Use List

common-lisp.

Public Interface
Internals

4.9 petalisp.core

Source

packages.lisp.

Use List
Used By List
Public Interface
Internals

4.10 petalisp.ir

Source

packages.lisp.

Use List
Used By List
Public Interface
Internals

4.11 petalisp.karmarkar-karp

Source

karmarkar-karp.lisp.

Use List
Internals

4.12 petalisp.graphviz

Source

packages.lisp.

Use List
Public Interface

*viewer* (special variable).

Internals

4.13 petalisp.native-backend

Source

packages.lisp.

Use List
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Constants

Constant: ~

The symbols ~, ~* are self-evaluating. Their only purpose is to separate range designators in the functions named ~, ~*.

Package

petalisp-1.0.

Source

shape-syntax.lisp.

Constant: ~*

The symbols ~, ~* are self-evaluating. Their only purpose is to separate range designators in the functions named ~, ~*.

Package

petalisp-1.0.

Source

shape-syntax.lisp.


5.1.2 Special variables

Special Variable: *active-inspect-tags*
Package

petalisp.core.

Source

inspect.lisp.

Special Variable: *backend*
Package

petalisp-1.0.

Source

packages.lisp.

Special Variable: *inspect-dependencies*
Package

petalisp.core.

Source

view.lisp.

Special Variable: *inspect-graph*
Package

petalisp.core.

Source

view.lisp.

Special Variable: *inspect-ir*
Package

petalisp.core.

Source

view.lisp.

Special Variable: *inspect-partitioning*
Package

petalisp.core.

Source

view.lisp.

Special Variable: *lazy-array-lock*
Package

petalisp.core.

Source

lazy-array.lisp.

Special Variable: *stencil-max-radius*
Package

petalisp.ir.

Source

ir.lisp.

Special Variable: *valid-inspect-tags*
Package

petalisp.core.

Source

inspect.lisp.

Special Variable: *viewer*
Package

petalisp.graphviz.

Source

view.lisp.


5.1.3 Macros

Macro: define-test (name &body body)

Define a test function and add it to *TESTS*.

Package

petalisp.test-suite.

Source

test-suite.lisp.

Macro: do-buffer-inputs ((kernel buffer &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-buffer-load-instructions ((load-instruction buffer &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-buffer-outputs ((kernel buffer &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-buffer-store-instructions ((store-instruction buffer &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-instruction-inputs ((input instruction &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-kernel-inputs ((buffer kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-kernel-instructions ((instruction kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-kernel-load-instructions ((load-instruction kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-kernel-outputs ((buffer kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-kernel-store-instructions ((store-instruction kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-program-buffer-groups ((buffers program &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-program-buffers ((buffer program &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-program-kernels ((kernel program &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-program-tasks ((task program &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-stencil-instructions ((load-or-store-instruction stencil &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-task-defined-buffers ((defined-buffer task &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-task-kernels ((kernel task &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-task-predecessors ((predecessor task &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: do-task-successors ((successor task &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: document-compiler-macro (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-compiler-macros (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-function (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-functions (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-method-combination (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-method-combinations (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-setf-expander (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-setf-expanders (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-structure (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-structures (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-variable (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-variables (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: is (test-form)

Assert that TEST-FORM evaluates to true.

Package

petalisp.test-suite.

Source

test-suite.lisp.

Macro: signals (condition &body body)

Assert that ‘body’ signals a condition of type ‘condition’.

Package

petalisp.test-suite.

Source

test-suite.lisp.

Macro: transform (&rest inputs-to-outputs)

Returns a transformation from the given inputs to the given outputs.
Inputs and outputs are separated by the symbol PETALISP:TO. Each input can be either a symbol or an integer. If the input is a symbol, it is the name under which the value of that input can be referenced in one of the outputs. If the input is a integer, it denotes an input constraint, meaning that it is an error to later apply that transformation to an index that differs from that constraint in that position.

Each output is an arbitrary form that may reference up to one of the input variables. This form is then evaluated repeatedly in a context where the referenced input variable is bound to a different 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 to 3)
=> (transform 1 2 to 3)

(transform i j to j i)
=> (transform a b to b a)

Package

petalisp-1.0.

Source

transform.lisp.

Macro: with-collectors (collectors &body body)

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)

Package

petalisp.utilities.

Source

with-collectors.lisp.

Macro: with-debug-optimization (&body body)

Execute BODY safely and with highest debug settings.

Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Macro: with-inspection ((&rest tags) &body body)

Visualize intermediate steps of the evaluation. Valid TAGS are:

:GRAPH - Show the data flow graph.

:IR - Show the intermediate representation.

:PARTITIONING - Show the partitioned intermediate representation.

:DEPENDENCIES - Show the dependency graph.

:SCHEDULING - Print scheduling statistics.

Package

petalisp.core.

Source

inspect.lisp.

Macro: with-lazy-arrays ((&rest names) &body body)

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 the result of that form. It is good practice for each function that expects some of its arguments to be lazy arrays to start with an invocation 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)>

Package

petalisp-1.0.

Source

with-lazy-arrays.lisp.

Macro: with-pinned-objects ((&rest objects) &body body)
Package

petalisp.utilities.

Source

with-pinned-objects.lisp.

Macro: with-pinned-objects* (objects &body body)

Invoke BODY in an environment where all elements of the supplied sequence of objects are pinned to their current memory location.

Package

petalisp.utilities.

Source

with-pinned-objects.lisp.

Macro: with-temporary-backend (backend-creation-form &body body)
Package

petalisp-1.0.

Source

backend.lisp.

Macro: with-unsafe-optimization (&body body)

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.

Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Macro: with-unsafe-optimization* (&body body)

Optimize the heck out of BODY. Use with caution!

Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Macro: without-compiler-notes (&body body)

Suppress all compiler notes arising during the compilation of BODY.

Package

petalisp.codegen.

Source

lisp-compiler.lisp.


5.1.4 Compiler macros

Compiler Macro: compose-transformations (&rest transformations)
Package

petalisp-1.0.

Source

transformation.lisp.

Compiler Macro: index* (&rest forms)
Package

petalisp.codegen.

Source

indexing.lisp.

Compiler Macro: index+ (&rest forms)
Package

petalisp.codegen.

Source

indexing.lisp.

Compiler Macro: range (&rest args)
Package

petalisp-1.0.

Source

range.lisp.


5.1.5 Ordinary functions

Function: all-tests ()
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: array-has-shape-p (array shape)
Package

petalisp.core.

Source

shape.lisp.

Function: array-shape (array)

Returns the shape of the supplied array.

Package

petalisp.core.

Source

shape.lisp.

Function: array-value (array)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: broadcast (lazy-arrays)

Returns a list of lazy arrays that all have the same shape, where each lazy array is a broadcasting reference to the corresponding element of the supplied list of arrays or scalars. 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, in which case it is broadcast to the corresponding range of the resulting
shape, or it must be equal to the corresponding range of the resulting shape.

3. The missing axes of lazy arrays that have a lower rank than the resulting shape are broadcast as if they had a range of size one.

4. In any axis in which all supplied arrays have a range of size one, the resulting shape has the range of the leftmost supplied array.

Examples:

(broadcast (list #(1 2 3) 5))
=> (#<lazy-array t (~ 3)> #<lazy-array (eql 5) (~ 3)>)
=> (~ 3)

(broadcast (list #2A((1 2 3)) #2A((4) (5))))
=> (#<lazy-array t (~ 2 ~ 3)> #<lazy-array t (~ 2 ~ 3)>)
=> (~ 2 ~ 3)

(apply #’compute (broadcast (list #(1 2 3) 5)))
=> #(1 2 3)
=> #(5 5 5)

(apply #’compute (broadcast (list 1 #2A((2 3) (4 5)) #(6 7))))
=> #2A((1 1) (1 1))
=> #2A((2 3) (4 5))
=> #2A((6 6) (7 7))

Package

petalisp-1.0.

Source

broadcast.lisp.

Function: broadcast-for-fusion (arrays)

Returns a list of lazy arrays, one for each supplied array, that are all broadcast to have the same rank, in a way that is compatible with array fusion. As a second value, returns the shape of the resulting fusion. Doesn’t check whether the fusion would be valid.

Package

petalisp.core.

Source

lazy-fuse.lisp.

Function: buffer-bits (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Reader: buffer-depth (instance)
Writer: (setf buffer-depth) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

depth.

Reader: buffer-ntype (instance)
Writer: (setf buffer-ntype) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

ntype.

Reader: buffer-number (instance)
Writer: (setf buffer-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number.

Function: buffer-number-of-inputs (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: buffer-number-of-loads (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: buffer-number-of-outputs (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: buffer-number-of-stores (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: buffer-program (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: buffer-reuse-potential (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Reader: buffer-shape (instance)
Writer: (setf buffer-shape) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

shape.

Function: buffer-shard-bits (buffer-shard)

Returns the number of bits of layout required for allocating all elements managed by the supplied buffer shard.

Package

petalisp.ir.

Source

partitioning.lisp.

Reader: buffer-shard-buffer (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

buffer.

Reader: buffer-shard-domain (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

domain.

Reader: buffer-shard-layout (instance)
Writer: (setf buffer-shard-layout) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

layout.

Function: buffer-shard-maxdepth (buffer-shard)

Returns the length of the longest chain of splits rooted in this buffer shard.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-p (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: buffer-shard-parent (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

parent.

Function: buffer-shard-path (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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-primogenitor (buffer-shard)

Returns the topmost ancestor of the supplied buffer shard.

Package

petalisp.ir.

Source

partitioning.lisp.

Reader: buffer-shard-readers (instance)
Writer: (setf buffer-shard-readers) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

readers.

Reader: buffer-shard-shape (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

shape.

Reader: buffer-shard-split (instance)
Writer: (setf buffer-shard-split) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

split.

Reader: buffer-shard-writers (instance)
Writer: (setf buffer-shard-writers) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

writers.

Function: buffer-size (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Reader: buffer-storage (instance)
Writer: (setf buffer-storage) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

storage.

Reader: buffer-task (instance)
Writer: (setf buffer-task) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

task.

Function: bufferp (object)
Package

petalisp.ir.

Source

ir.lisp.

Reader: call-instruction-fnrecord (instance)
Writer: (setf call-instruction-fnrecord) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

fnrecord.

Function: call-instruction-function (call-instruction)
Package

petalisp.ir.

Source

ir.lisp.

Function: call-instruction-inputs (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf call-instruction-inputs) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Reader: call-instruction-number-of-values (instance)
Writer: (setf call-instruction-number-of-values) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number-of-values.

Function: call-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: callcount (&rest lazy-arrays)

Returns a hash table mapping from function designators to the number of invocations of that function in the data flow graph that defines the supplied lazy arrays.

NOTE: When computing the same lazy arrays, the actual number of invoked functions may be different from these values. They can be higher in case a backend introduces redundant calculations, or lower in case some calculations are eliminated because they don’t influence the results.

Package

petalisp.core.

Source

backend.lisp.

Function: cgraph-add-conflict (cgraph a b)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: cgraph-coloring (cgraph)

For a supplied conflict graph, returns a vector whose elements are lists of objects with no conflicts.

Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: cgraph-ensure-cnode (cgraph object)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: check-ir (nodes)
Package

petalisp.ir.

Source

ir-checker.lisp.

Function: check-package (package &key skip)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: clear-shape-table (shape-table)
Package

petalisp.core.

Source

shape.lisp.

Function: clp2 (n)

Round the unsigned integer N up to the next larger power of two.

Package

petalisp.utilities.

Source

powers-of-two.lisp.

Function: compatible-with-lazy-array-p (object lazy-array)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: completedp (&rest requests)

Returns whether all the supplied requests of some COMPUTE-ASYNCHRONOUSLY operations have been completed.

Package

petalisp-1.0.

Source

backend.lisp.

Function: compose-transformations (transformation &rest more-transformations)

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 j to (+ i 5) (+ j 7))
(transform i j to (* j 2) (* i 3)))
=> (transform a b to (+ (* 2 b) 5) (+ (* 3 a) 7))

Package

petalisp-1.0.

Source

transformation.lisp.

Function: compute (&rest lazy-arrays)

Takes any number of arguments that must be lazy array designators and returns the same number of possibly specialized regular arrays with the corresponding computed contents. Whenever a shape of any of the supplied lazy arrays has a step size other than one, or an offset other than zero, that array is deflated before being computed, i.e., each axis is shifted to begin with zero, and divided by the step size.

As a special case, whenever this function would return an array with rank zero, 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 a Common Lisp array of rank zero and the object therein are distinct entities. Of those two distinct representations, the non-array one is usually more useful for further processing, so this is the one which is returned.

All the heavy lifting in Petalisp happens within COMPUTE. The exact details of how it operates aren’t important for an application programmer, but it is valuable to understand the rough steps that take place the scenes. The steps for computing lazy arrays are as follows:

1. Convert each supplied argument to a lazy array.

2. Reshape each lazy array so that it has a step size of one and an offset of zero.

3. Determine the dependency graph whose roots are the deflated lazy arrays, whose interior nodes are calls to the core operators lazy map, lazy reshape, and lazy fuse, and whose leaves are wrapped regular arrays or the index components of some shape designator.

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, and even distributed systems when possible. Gather the results in the form of regular arrays.

6. Change the internal representation of all the originally supplied lazy arrays so that future calculations involving them use the computed results directly.

7. Return the results as multiple values, while replacing any array with rank zero with the single element contained in that array.

The COMPUTE function is the workhorse of Petalisp. A lot of effort went into making it not only powerful, but also fast. The overhead of calling it instead of invoking an already compiled and optimized program is usually just a few microseconds, so this may be the only evaluation interface that you ever need.

Examples:

(compute #(1 2 3))
=> #(1 2 3)

(compute 5)
=> 5

(compute #0A42)
=> 42

(compute #(1 2 3) 5 #0A42)
=> #(1 2 3)
=> 5
=> 42

Package

petalisp-1.0.

Source

backend.lisp.

Function: compute-asynchronously (&rest lazy-arrays)

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.

Package

petalisp-1.0.

Source

backend.lisp.

Function: compute-buffer-shard-vicinity (buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: compute-list-of-arrays (lazy-arrays)

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:

(petalisp.core:compute-list-of-arrays (list (lazy #’+ 2 #(3 4))))
=> (#(5 6))

(petalisp.core:compute-list-of-arrays
(list (lazy-reshape #2A((1 2) (3 4)) (transform i j to j i))))
=> (#2A((1 3) (2 4)))

(petalisp.core:compute-list-of-arrays (list 2 #0A3 #(4)))
=> (2 3 #(4))

Package

petalisp.core.

Source

backend.lisp.

Function: compute-program-buffer-coloring (program)

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.

Package

petalisp.ir.

Source

coloring.lisp.

Function: compute-stencil-center (instruction &rest more-instructions)

Returns a vector of offsets that is the weighted average of all the offsets of all the supplied load or store instructions.

Package

petalisp.ir.

Source

ir.lisp.

Function: copy-lazy-arrays (lazy-arrays)
Package

petalisp.core.

Source

substitute-lazy-arrays.lisp.

Function: cqueue-dequeue (cqueue)

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.

Package

petalisp.cqueue.

Source

cqueue.lisp.

Function: cqueue-enqueue (cqueue object)

Inserts OBJECT at the back of CQUEUE.

Package

petalisp.cqueue.

Source

cqueue.lisp.

Function: cqueuep (object)
Package

petalisp.cqueue.

Source

cqueue.lisp.

Function: deflater (rank-or-bit-vector)

Returns a function that can be supplied as a modifier to LAZY-RESHAPE to move each of the designated axes to have a start of zero and a step size of one. The supplied argument must be either a non-negative integer that denotes the number of axes to deflate, or a bit vector where an element of one indicates that corresponding axis should be deflated.

Examples:

(lazy-reshape 5 (~ 3 33 3) (deflater 1))
=> #<lazy-array (eql 5) (~ 10)>

(lazy-reshape 5 (~ 1 8 ~ 1 8) (deflater #*01))
=> #<lazy-array (eql 5) (~ 1 8 ~ 7)>

Package

petalisp-1.0.

Source

reshapers.lisp.

Function: deflating-transformation (shape)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: delayed-action-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-array-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-array-storage (instance)
Writer: (setf delayed-array-storage) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

storage.

Reader: delayed-failure-condition (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

condition.

Function: delayed-failure-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-fuse-inputs (instance)
Writer: (setf delayed-fuse-inputs) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

inputs.

Function: delayed-fuse-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-map-fnrecord (instance)
Writer: (setf delayed-map-fnrecord) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

fnrecord.

Reader: delayed-map-inputs (instance)
Writer: (setf delayed-map-inputs) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

inputs.

Function: delayed-map-number-of-values (delayed-map)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-map-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-multiple-value-map-fnrecord (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: (setf delayed-multiple-value-map-fnrecord) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-multiple-value-map-inputs (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: (setf delayed-multiple-value-map-inputs) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-multiple-value-map-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-multiple-value-map-refbits (instance)
Writer: (setf delayed-multiple-value-map-refbits) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

refbits.

Reader: delayed-multiple-value-map-values-ntype (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

values-ntype.

Function: delayed-nop-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-nth-value-input (instance)
Writer: (setf delayed-nth-value-input) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

input.

Reader: delayed-nth-value-number (instance)
Writer: (setf delayed-nth-value-number) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

number.

Function: delayed-nth-value-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: delayed-range-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-reshape-input (instance)
Writer: (setf delayed-reshape-input) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

input.

Function: delayed-reshape-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-reshape-transformation (instance)
Writer: (setf delayed-reshape-transformation) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

transformation.

Function: delayed-unknown-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-wait-delayed-action (instance)
Writer: (setf delayed-wait-delayed-action) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

delayed-action.

Function: delayed-wait-p (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: delayed-wait-request (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

request.

Function: differentiator (outputs gradients)

Returns, for the supplied sequence of outputs and the supplied sequence of the corresponding gradients at each output, a function that can be applied to any lazy array that is a dependency of any of these outputs to obtain the gradient at that output. The gradient of a lazy array is another lazy array with the same shape that describes how much each value differs from its expected value.

Package

petalisp-1.0.

Source

differentiator.lisp.

Function: empty-lazy-array (shape)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: empty-lazy-arrays (n shape)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: empty-range ()
Package

petalisp.core.

Source

range.lisp.

Function: empty-range-p (object)
Package

petalisp.core.

Source

range.lisp.

Function: enlarge-shape (shape range)

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:

(petalisp.core:enlarge-shape (~*) (range 1 10))
=> (~ 1 10)

(petalisp.core:enlarge-shape (~ 1 3) (range 1 4))
=> (~ 1 4 ~ 1 3)

Package

petalisp.core.

Source

shape.lisp.

Function: ensure-array-buffer-compatibility (array buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: ensure-array-shape-ntype-compatibility (array shape ntype)
Package

petalisp.ir.

Source

ir.lisp.

Function: evaluator (unknowns lazy-arrays)

For a supplied list of unknowns of length N and list of lazy
arrays of length K, returns a function with K plus 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 plus I. The first K arguments of the resulting evaluator function 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. Signals an error if any of the K plus N arguments of an evaluator function has a different shape or element type than the corresponding result or unknown.

Package

petalisp-1.0.

Source

backend.lisp.

Function: extended-euclid (u v)

Given nonnegative integers u and v, returns the values u1 and u3 such that u*u1 + v*u2 = u3 = gcd(u,v).

Package

petalisp.utilities.

Source

extended-euclid.lisp.

Function: flp2 (n)

Round the unsigned integer N down to the next smaller power of two.

Package

petalisp.utilities.

Source

powers-of-two.lisp.

Function: fuse-shapes (shapes)

Returns a shape that covers all the supplied shapes. Signals an error if the supplied shapes aren’t disjoint.

Package

petalisp.core.

Source

shape.lisp.

Function: graph-add-edge (graph predecessor successor weight)

Add a new, weighted edge between the two supplied graph nodes.

Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: graph-ensure-node (graph object)

Returns the graph node corresponding to the supplied object, and as a secondary return value, whether that node was already present in the graph.

Package

petalisp.scheduling.

Source

scheduling.lisp.

Reader: graph-object-nodes (instance)
Writer: (setf graph-object-nodes) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

object-nodes.

Function: graph-parallel-depth-first-schedule (graph p)

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.

Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: graphp (object)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: harmonize (arrays)

Lazily coerces each array in the supplied list of arrays to the common harmonized element type, and returns a list of the resulting lazy arrays.

Examples:

(apply #’compute (harmonize (list 5 6.0)))
=> 5.0
=> 6.0

(apply #’compute (harmonize (list #C(5 2) (lazy-stack (list 1.0 2.0 3.0))))) => #C(5.0 2.0)
=> #(#C(1.0 0.0) #C(2.0 0.0) #C(3.0 0.0))

Package

petalisp-1.0.

Source

harmonize.lisp.

Function: harmonized-element-type (arrays)

Returns the specifier for a type to which all elements of the supplied list of lazy array designators can be safely coerced. If the element types of all supplied lazy arrays are number types, the resulting type is obtained by the standard rules of numeric contagion (Common Lisp Hyperspec 12.1.4.1 and 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 (list 5 6.0))
=> single-float

(harmonized-element-type (list 5.0d0 #C(0 1)))
=> (complex double-float)

(harmonized-element-type (list ’foo "bar" :baz 42))
=> (not null)

Package

petalisp-1.0.

Source

harmonize.lisp.

Function: host-device ()
Package

petalisp.ir.

Source

device.lisp.

Function: identity-transformation (rank)

Returns an identity transformation of the specified rank.

Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: identity-transformation-p (object)

Returns whether the supplied object is an identity transformation.

Examples:

(petalisp.core:identity-transformation-p (transform i j to j i)) => nil

(petalisp.core:identity-transformation-p (transform i j to i j)) => t

Package

petalisp.core.

Source

transformation.lisp.

Function: index* (&rest indices)
Package

petalisp.codegen.

Source

indexing.lisp.

Function: index+ (&rest indices)
Package

petalisp.codegen.

Source

indexing.lisp.

Function: inflate-shape (shape n)
Package

petalisp.core.

Source

shape.lisp.

Reader: instruction-inputs (instance)
Writer: (setf instruction-inputs) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

inputs.

Reader: instruction-number (instance)
Writer: (setf instruction-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number.

Reader: instruction-transformation (instance)
Writer: (setf instruction-transformation) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

transformation.

Function: instructionp (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: interior-buffer-p (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: ir-from-lazy-arrays (lazy-arrays &key kernel-size-threshold debug)

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.

Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: iref-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: iref-instruction-transformation (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf iref-instruction-transformation) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: iterating-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: iteration-space-blueprint (iteration-space)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: karmarkar-karp (s k &key weight)

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.

Package

petalisp.utilities.

Source

karmarkar-karp.lisp.

Function: kernel-blueprint (kernel)

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.

Package

petalisp.codegen.

Source

blueprint.lisp.

Function: kernel-cost (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Reader: kernel-instruction-vector (instance)
Writer: (setf kernel-instruction-vector) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

instruction-vector.

Reader: kernel-iteration-space (instance)
Writer: (setf kernel-iteration-space) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

iteration-space.

Function: kernel-load-stencils (kernel buffer)
Package

petalisp.ir.

Source

ir.lisp.

Reader: kernel-number (instance)
Writer: (setf kernel-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number.

Function: kernel-number-of-loads (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-number-of-outputs (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-number-of-stores (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-program (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-reuse-potential (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Reader: kernel-shard-iteration-space (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

iteration-space.

Reader: kernel-shard-kernel (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

kernel.

Function: kernel-shard-more-important-p (kernel-shard-1 kernel-shard-2)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: kernel-shard-p (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: kernel-shard-sources (instance)
Writer: (setf kernel-shard-sources) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

sources.

Reader: kernel-shard-targets (instance)
Writer: (setf kernel-shard-targets) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

targets.

Reader: kernel-sources (instance)
Writer: (setf kernel-sources) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

sources.

Function: kernel-store-stencils (kernel buffer)
Package

petalisp.ir.

Source

ir.lisp.

Reader: kernel-targets (instance)
Writer: (setf kernel-targets) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

targets.

Reader: kernel-task (instance)
Writer: (setf kernel-task) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

task.

Function: kernelp (object)
Package

petalisp.ir.

Source

ir.lisp.

Reader: layout-allocation (instance)
Writer: (setf layout-allocation) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

allocation.

Reader: layout-ghost-layer-alist (instance)
Writer: (setf layout-ghost-layer-alist) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

ghost-layer-alist.

Reader: layout-ntype (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

ntype.

Reader: layout-offset (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

offset.

Function: layout-rank (layout)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: layout-size (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

size.

Reader: layout-strides (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

strides.

Function: layoutp (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: lazy (function &rest arrays)

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 BROADCAST.

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))

Package

petalisp-1.0.

Source

lazy.lisp.

Function: lazy-array (object)

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 64 :element-type ’bit :initial-element 1))
=> #<lazy-array bit (~ 64)>

Package

petalisp-1.0.

Source

lazy-array.lisp.

Reader: lazy-array-delayed-action (instance)
Writer: (setf lazy-array-delayed-action) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

delayed-action.

Reader: lazy-array-depth (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

depth.

Function: lazy-array-dimension (lazy-array axis)

Returns the number of elements of the supplied lazy array along a particular axis.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-dimensions (lazy-array)

Returns a list that consists of the number of elements of the supplied lazy array along each of its axes.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-element-type (lazy-array)

Returns the element type of the supplied lazy array.
The element type is a conservative upper bound on the types of all the elements in that lazy array. It is derived automatically during lazy array construction. When computing a lazy array, the resulting regular array’s element type is the upgraded array element type of the lazy array’s element type.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-from-array (array)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: lazy-array-from-range (range)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: lazy-array-from-scalar (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: lazy-array-inputs (lazy-array)
Package

petalisp.core.

Source

lazy-array.lisp.

Reader: lazy-array-ntype (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

ntype.

Function: lazy-array-p (object)

Returns whether the supplied object is a lazy array.

Examples:

(lazy-array-p (lazy #’* 21 2))
=> t

(lazy-array-p 42)
=> nil

(lazy-array-p #2A((1 2) (3 4)))
=> nil

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-range (lazy-array &optional axis)

Returns the range of the supplied lazy array’s shape along a particular axis. If no axis is supplied, it defaults to zero.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-ranges (lazy-array)

Returns the list of all the ranges that constitute the supplied lazy array’s shape.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-array-rank (lazy-array)

Returns the rank of the supplied lazy array.
The rank of a lazy array is the number of ranges that constitute its shape.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Reader: lazy-array-refcount (instance)
Writer: (setf lazy-array-refcount) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

refcount.

Reader: lazy-array-shape (instance)

Returns the shape of the supplied lazy array.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Target Slot

shape.

Function: lazy-array-size (lazy-array)

Returns the number of elements in the supplied lazy array.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: lazy-fuse (array &rest more-arrays)

Returns a lazy array that is a combination of the values of the
supplied arrays. Signals an error if any of the supplied arrays overlap, have a different rank, or if the union of all 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))

Package

petalisp-1.0.

Source

lazy-fuse.lisp.

Function: lazy-fuse-and-harmonize (array &rest more-arrays)

Returns the result of first harmonizing all the supplied arrays, and then passing them to LAZY-FUSE.

Package

petalisp-1.0.

Source

harmonize.lisp.

Function: lazy-index-components (shape-designator &optional axis)

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 supplied, it defaults to zero.

Examples:

(compute (lazy-index-components (~ 9)))
=> #(0 1 2 3 4 5 6 7 8)

(compute (lazy-index-components (~ 10 30 2)))
=> #(10 12 14 16 18 20 22 24 26 28)

(compute (lazy-index-components (~ 4 ~ 4) 0))
=> #2A((0 0 0 0) (1 1 1 1) (2 2 2 2) (3 3 3 3))

(compute (lazy-index-components (~ 4 ~ 4) 1))
=> #2A((0 1 2 3) (0 1 2 3) (0 1 2 3) (0 1 2 3))

(compute (lazy-index-components #2A((1 2) (3 4)) 1))
=> #2A((0 1) (0 1))

Package

petalisp-1.0.

Source

lazy-index-components.lisp.

Function: lazy-map (n-outputs function inputs)
Package

petalisp.core.

Source

lazy-map.lisp.

Function: lazy-multiple-value (n-values function &rest arrays)

Returns multiple lazy arrays, the number of which is indicated by the integer that is the first supplied argument, whose contents are the results of applying the function — 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 together.

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)

Package

petalisp-1.0.

Source

lazy-multiple-value.lisp.

Function: lazy-overwrite (array &rest more-arrays)

Returns a lazy array that is a combination of the values of 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 the supplied arrays have the same rank, or if the union of 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))

Package

petalisp-1.0.

Source

lazy-overwrite.lisp.

Function: lazy-overwrite-and-harmonize (array &rest more-arrays)

Returns the result of first harmonizing all the supplied arrays, and then passing them to LAZY-OVERWRITE.

Package

petalisp-1.0.

Source

harmonize.lisp.

Function: lazy-rearrange (lazy-array n-axes shape)

Returns a lazy array with the same contents as the one supplied, but whose leading axes are replaced by a different shape. The three arguments of this function are the lazy array to be rearranged, the number of axes to rearrange, and the shape to use instead. Signals an error if the original and the resulting shapes differ in size.

Examples:

(compute (lazy-rearrange (lazy-index-components (~ 1 10)) 1 (~ 3 ~ 3))) => #2A((1 2 3) (4 5 6) (7 8 9))

(compute (lazy-rearrange #2A((1 2) (3 4)) 2 (~ 4)))
=> #(1 2 3 4)

(compute (lazy-rearrange #2A((1 2) (3 4)) 1 (~ 2 ~ 1)))
=> #3A(((1 2)) ((3 4)))

Package

petalisp-1.0.

Source

lazy-rearrange.lisp.

Function: lazy-reduce (function &rest arrays)

Returns the lazy arrays that are reductions of the supplied
arrays by the supplied function. For a single supplied array that is a vector, this function operates as follows:

1. If the vector has zero elements, return the scalar that is the result of invoking the supplied function with zero arguments. This behavior is analogous to Common Lisp’s REDUCE function and allows graceful handling of many built-in functions.

2. If the vector has an even number of elements, split it into two vectors of half the size of the original one, where the first vector contains all the elements with an even index, and the second vector contains all the elements with an odd index. Map the supplied function, which must accept two arguments and return one value, over these two vectors to obtain a single vector of results. Process the resulting vector with step 2 or step 3, depending on whether it has an even or an odd number of elements.

3. If the vector has an odd number of elements, distinguish three cases:

a) If there is a leftover element from one of the previous steps, append it at the end of the vector. The resulting vector has an even number of elements. Process it with step 2.

b) Otherwise, if the vector has exactly one element, this element is the result of the reduction. Return it.

c) Otherwise, remove the last element of the vector and store it as the leftover element for use in step 3a. Process the remaining elements with step 2.

In addition to this simple case of reducing a vector into a scalar, this function supports three further generalizations:

- If the argument is an array with rank larger than one, the reduction is carried out along the first axis only, and the remaining axes are handled by carrying out multiple reductions in parallel. In that case, the result is not a scalar but an array whose rank is one less than before.

- Instead of supplying a function as the first argument, one may also supply a list of functions. In that case, the supplied arrays are first reduced with the first of those functions, the results thereof are reduced with the second of those functions, and so on.

- Instead of reducing a single array with a function that takes two arguments and returns one value, one may also reduce k arrays with a function that takes 2k arguments and returns k values. In that case, all the supplied arrays are first broadcast to have the same shape, and these arrays are processed exactly like in the case of reducing a single vector except that values are selected from all k arrays simultaneously, resulting in 2k arguments being passed to the supplied function, and returning k lazy arrays as a result.

A final piece of advice: when reducing a vector that is possibly empty, it is advisable to stack a neutral element at the beginning or the end of that vector to make it non-empty.

Examples:

(compute (lazy-reduce ’+ #()))
=> 0

(compute (lazy-reduce ’+ #(1 2 3 4)))
=> 10

(compute (lazy-reduce ’+ #2A((1 2) (3 4))))
=> #(4 6)

(compute (lazy-reduce ’(+ +) #2A((1 2) (3 4))))
=> 10

(let ((a #(5 2 7 1 9 6)))
(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))
(compute max index)))
=> 9
=> 4

(compute (lazy-reduce ’min (lazy-stack (list 0 #()))))
=> 0

Package

petalisp-1.0.

Source

lazy-reduce.lisp.

Function: lazy-ref (input shape transformation)

Returns a lazy array whose contents are a selection of the supplied lazy array, which has the supplied shape, and whose mapping from its element to that of its input is the supplied transformation.

Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: lazy-reshape (array &rest modifiers)

Returns the lazy array that is obtained by successively reshaping the supplied array with the supplied modifiers in left-to-right order. Modifiers can be transformations that describe a reordering of values; functions which are applied to the shape of the lazy array to obtain additional modifiers; or shape designators that describe a selection, move, or broadcasting of values.

More precisely, LAZY-RESHAPE maintains a lazy array that is initialized to the result of applying the LAZY-ARRAY constructor to the supplied first argument, and successively updates it by applying one modifier at a time according to the following rules:

1. If the modifier is an invertible transformation, reorder the elements of that array according to that transformation. If the lazy array has lower rank than expected from the transformation, broadcast it first to that rank. If the lazy array has higher rank than expected from the transformation, leave these extra axes as they are and later append them to the shape of the resulting lazy array.

2. If the modifier is a function, apply it to the shape of the lazy array to obtain a number of new modifiers as multiple values. Process the new modifiers as if they were supplied instead of this function modifier.

3. If the modifier is a shape designator then move, broadcast or sample each axis of the lazy array to match that shape. If the lazy array has lower rank than the designated shape, first broadcast it to that rank. If the lazy array has higher rank than the designated shape, leave the remaining axes as they are and later append them to the shape of the resulting lazy array. For each axis, derive the mapping from the range of the lazy array to the corresponding range of designated shape according to the following rules:

a) If both source and target range have the same size, move the elements of that axis so that they end up in the target range while maintaining the original order.

b) If the source range has a size of one, broadcast its content to the target range.

c) If the target range is a proper subset of the source range, select only those elements that fall within the target range.

Examples:

(compute (lazy-reshape #(1 2 3 4) (~ 1 2)))
=> #(2)

(compute (lazy-reshape #(1 2 3 4) (~ 2 ~ 3)))
=> #2A((1 1 1) (2 2 2))

(compute (lazy-reshape #(1 2 3 4) (~ 4 ~ 2)))
=> #2A((1 1) (2 2) (3 3) (4 4))

(compute (lazy-reshape #2A((1 2) (3 4)) (transform i j to j i)))
=> #2A((1 3) (2 4))

(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 #(1 2 3 4) (lambda (s) (~ 1 (1- (shape-size s)))))) => #(2 3)

Package

petalisp-1.0.

Source

lazy-reshape.lisp.

Function: lazy-sort (array predicate &key key)

Returns a lazy array containing the elements of the supplied array, but sorted along the first axis according to the supplied predicate and key function. If the key function is not supplied, it defaults to the identity function. For any two elements, the results of invoking the key function are passed to the predicate to determine whether the first element is strictly less than the second one. As a second value, returns a lazy array of the same shape that contains the keys corresponding to each of the sorted elements.

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"

(multiple-value-call #’compute (lazy-sort #(-2 -1 0 1 2) #’> :key #’abs)) => #(2 -2 1 -1 0)
=> #(2 2 1 1 0)

(compute (lazy-sort #2A((9 8 7) (6 5 4) (3 2 1)) #’<))
=> #2A((3 2 1) (6 5 4) (9 8 7))

Package

petalisp-1.0.

Source

lazy-sort.lisp.

Function: lazy-stack (arrays &key axis start step)

Returns a lazy array whose contents are the supplied arrays, stacked next to each other along a particular axis, such that the leftmost array will have the lowest index components, and the rightmost array will have the highest index components. Keyword arguments can be supplied to specify the axis along which to stack, and the start and step of the resulting lazy array in that axis.

Examples:

(compute (lazy-stack (list 1 2 #(3 4))))
=> #(1 2 3 4)

(compute (lazy-stack (list #2A((1 2) (3 4)) #2A((5 6) (7 8)))))
=> #2A((1 2) (3 4) (5 6) (7 8))

(compute (lazy-stack (list #2A((1 2) (3 4)) #2A((5 6) (7 8))) :axis 1)) => #2A((1 2 5 6) (3 4 7 8))

Package

petalisp-1.0.

Source

lazy-stack.lisp.

Function: lazy-unknown-p (lazy-array)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: lazy-unknowns (graph-roots)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: leaf-buffer-p (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: load-foreign-code (source-code &key compiler language standard flags)
Package

petalisp.codegen.

Source

load-foreign-code.lisp.

Function: load-instruction-buffer (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf load-instruction-buffer) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: load-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: load-instruction-transformation (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf load-instruction-transformation) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: load-or-store-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-array-from-shape-and-ntype (shape ntype)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-buffer (&key shape ntype depth writers readers task number storage)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-buffer-like-array (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-cgraph (&key table)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: make-cqueue ()
Package

petalisp.cqueue.

Source

cqueue.lisp.

Function: make-delayed-array (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-graph (&key object-nodes)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: make-ir-backend (&key mode)
Package

petalisp-1.0.

Source

ir-backend.lisp.

Function: make-kernel (&key iteration-space sources targets instruction-vector task number data)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-kernel-lambda (client bpinfo body)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: make-native-backend (&key threads debug)
Package

petalisp-1.0.

Source

backend.lisp.

Function: make-program (&key initial-task final-task leaf-alist root-buffers task-vector number-of-buffers number-of-kernels)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-rank-zero-array (value)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-reference-backend ()
Package

petalisp-1.0.

Source

reference-backend.lisp.

Function: make-shape (ranges)

Returns a shape whose axes are determined by the supplied list of ranges.

Package

petalisp-1.0.

Source

shape.lisp.

Function: make-shape-table ()
Package

petalisp.core.

Source

shape.lisp.

Function: make-stencil (instructions)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-task (&key program predecessors successors kernels defined-buffers number)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-testing-backend ()
Package

petalisp.test-suite.

Source

testing-backend.lisp.

Function: make-transformation (&key input-rank output-rank input-mask output-mask scalings offsets)

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 permissible 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 value of the output rank. Signals an error if neither input nor output rank could be inferred.

- :OUTPUT-RANK A non-negative integer that is the rank of any possible index or shape resulting from this transformation. Defaults to the length of the supplied scalings, offsets, or output mask, or, if none of these are supplied, to the value of the input rank. Signals an error if neither input nor output rank could be inferred.

- :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 that integer may appear in the corresponding axis of the input, or NIL, in which case any integer may appear 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 permutations of the input and also insertion and removal of axes. If this keyword argument is not supplied, it defaults to a sequence of consecutive integers from zero to right below the minimum of the input and output ranks followed by entries of NIL if the output rank exceeds the input rank.

- :SCALINGS A sequence with one element per axis of the transformation’s output whose elements are rational numbers. Each integer of a transformation’s output is computed by multiplying the input denoted by the output mask by its corresponding entry in this sequence and adding to the corresponding offset. If an output mask entry is 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 the supplied sequences and ranks are incompatible with each other.

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-rank 1 :output-rank 2)
=> (transform a to a 0)

(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))

Package

petalisp-1.0.

Source

transformation-constructors.lisp.

Function: make-unknown (&key shape element-type)

Returns a lazy array with the supplied shape and element type and whose contents are not known and consequently cannot be computed. It is an error to compute lazy arrays that depend on an unknown lazy array. The main purpose of this function is to construct the arguments to the EVALUATOR function, and to construct abstract programs that are meant to be analyzed rather than computed.

Examples:

(make-unknown :shape (~ 5 ~ 5))
=> #<lazy-array t (~ 5 ~ 5)>

(make-unknown :element-type ’double-float)
=> #<lazy-array double-float (~*)>

Package

petalisp-1.0.

Source

lazy-array.lisp.

Function: map-buffer-inputs (function buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-buffer-load-instructions (function buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-buffer-outputs (function buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-buffer-store-instructions (function buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-buffers (function root-buffers)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-buffers-and-kernels (buffer-fn kernel-fn root-buffers)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-instruction-inputs (function instruction)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-inputs (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-instructions (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-load-instructions (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-outputs (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-stencils (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernel-store-instructions (function kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-kernels (function root-buffers)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-program-buffer-groups (function program)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-program-buffers (function program)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-program-kernels (function program)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-program-tasks (function program)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-range (function range)

Takes a function and a range and applies the function to all integers of that range, in ascending order. Returns NIL.

Example:

(let ((l ’nil))
(map-range (lambda (i) (push i l)) (range 1 9 2))
(nreverse l))
=> (1 3 5 7)

Package

petalisp-1.0.

Source

range.lisp.

Function: map-shape (function shape)

Takes a function and a shape and applies the function to all integer tuples of that range, in ascending order. Returns NIL.

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))

Package

petalisp-1.0.

Source

shape.lisp.

Function: map-stencil-instructions (function stencil)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-task-defined-buffers (function task)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-task-kernels (function task)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-task-predecessors (function task)
Package

petalisp.ir.

Source

ir.lisp.

Function: map-task-successors (function task)
Package

petalisp.ir.

Source

ir.lisp.

Function: move-axis-to-front (array axis)
Package

petalisp.api.

Source

differentiator.lisp.

Reader: node-depth (instance)
Writer: (setf node-depth) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

depth.

Reader: node-height (instance)
Writer: (setf node-height) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

height.

Reader: node-predecessor-alist (instance)
Writer: (setf node-predecessor-alist) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

predecessor-alist.

Reader: node-successor-alist (instance)
Writer: (setf node-successor-alist) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

successor-alist.

Function: nodep (object)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: non-empty-range-p (object)
Package

petalisp.core.

Source

range.lisp.

Function: normalizing-transformation (shape)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: number-of-cpus ()
Package

petalisp.utilities.

Source

number-of-cpus.lisp.

Function: partition-program (program &key split-priority split-min-priority split-max-redundancy split-max-imbalance debug)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: peeler (&rest amount-specifiers)

Returns a function that can be supplied as modifier to LAZY-RESHAPE to select certain interior points of a lazy array. The nature of this function is determined by the supplied amount specifiers, one for each axis, each of which can either be an unsigned integer, or a list of up to three unsigned integers. The behavior of each amount specifier is as follows:

- A single unsigned integer designates the number of elements that are to be peeled off both at the low and high ends of the corresponding range.

- An empty list means that the corresponding range is not modified.

- An list of one unsigned integer is treated as if that integer was supplied instead.

- If the amount specifier is a list of two unsigned integers, the first integer denotes the number of elements that are to be peeled off at the low end of the corresponding range, and the second integer denotes the amount that is to be peeled off at the high end of that range.

- If the amount specifier is a list of three unsigned integers, the fist two are interpreted as the low and the high amount as before, and the third integer is the relative step size within the selection.

The resulting function signals an error if it is applied to a shape whose rank is less than the number of supplied amount specifiers.

Examples:

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (peeler 1)))
=> #2A((4 5 6))

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (peeler 1 ’(2 0))))
=> #2A((6))

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (peeler 0 ’(0 0 2)))) => #2A((1 3) (4 6) (7 9))

Package

petalisp-1.0.

Source

reshapers.lisp.

Function: prime-factors (integer)

Return the list of prime factors of INTEGER in ascending order.

Package

petalisp.utilities.

Source

prime-factors.lisp.

Function: primep (n)
Package

petalisp.utilities.

Source

prime-factors.lisp.

Function: program-buffer (program buffer-number)
Package

petalisp.ir.

Source

ir.lisp.

Reader: program-final-task (instance)
Writer: (setf program-final-task) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

final-task.

Function: program-from-lazy-arrays (lazy-arrays &key kernel-size-threshold debug)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: program-initial-task (instance)
Writer: (setf program-initial-task) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

initial-task.

Function: program-kernel (program kernel-number)
Package

petalisp.ir.

Source

ir.lisp.

Reader: program-leaf-alist (instance)
Writer: (setf program-leaf-alist) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

leaf-alist.

Reader: program-number-of-buffers (instance)
Writer: (setf program-number-of-buffers) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number-of-buffers.

Reader: program-number-of-kernels (instance)
Writer: (setf program-number-of-kernels) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number-of-kernels.

Function: program-number-of-tasks (program)
Package

petalisp.ir.

Source

ir.lisp.

Reader: program-root-buffers (instance)
Writer: (setf program-root-buffers) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

root-buffers.

Reader: program-task-vector (instance)
Writer: (setf program-task-vector) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

task-vector.

Function: programp (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: range (first &optional end step)

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. If the range constructor is called with two arguments, the result is still a range with a step size of one, but with the first argument as the inclusive lower bound and the second as the exclusive upper bound. The three-argument version behaves just like the two argument version, but with the third argument denoting 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.

Examples:

(range 5)
=> #<range {0 ... 4}>

(range 5 9)
=> #<range {5 6 7 8}>

(range 5 13 2)
=> #<range {5 7 9 11}>

(range 1 7 -2)
=> #<range {}>

(range 7 1 -2)
=> #<range {3 5 7}>

Package

petalisp-1.0.

Source

range.lisp.

Function: range-contains (range integer)

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

Package

petalisp-1.0.

Source

range.lisp.

Function: range-difference-list (range1 range2)

Returns a list of disjoint subranges of RANGE1 that describe exactly those integers appearing in RANGE1 but not in RANGE2.

Package

petalisp-1.0.

Source

range.lisp.

Function: range-emptyp (range)

Returns whether the supplied range has zero elements.

Examples:

(range-emptyp (range 0))
=> t

(range-emptyp (range 1))
=> nil

Package

petalisp-1.0.

Source

range.lisp.

Function: range-end (range)

Returns an integer that is larger than any integer in the supplied
range by at most its step size. Signals an error when the supplied range is empty.

Package

petalisp-1.0.

Source

range.lisp.

Function: range-intersection (range1 range2)

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}>

Package

petalisp-1.0.

Source

range.lisp.

Function: range-intersectionp (range1 range2)

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

Package

petalisp-1.0.

Source

range.lisp.

Function: range-last (range)

Returns the highest integer contained in the supplied range. Signals an error when the supplied range is empty.

Package

petalisp-1.0.

Source

range.lisp.

Reader: range-size (instance)

Returns the number of elements in the supplied range.

Package

petalisp-1.0.

Source

range.lisp.

Target Slot

size.

Reader: range-start (instance)

Returns the lowest integer contained in the supplied range. Signals an error when the supplied range is empty.

Package

petalisp-1.0.

Source

range.lisp.

Target Slot

start.

Reader: range-step (instance)

Returns the difference between any two successive integers in the supplied range. Signals an error when the supplied range is empty.

Package

petalisp-1.0.

Source

range.lisp.

Target Slot

step.

Function: range-with-size-one-p (range)

Returns whether the supplied range has a size of one.

Examples:

(range-with-size-one-p (range 5))
=> nil

(range-with-size-one-p (range 5 7 2))
=> t

(range-with-size-one-p (range 5 7 3))
=> t

Package

petalisp-1.0.

Source

range.lisp.

Function: range= (range1 range2)

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

Package

petalisp-1.0.

Source

range.lisp.

Function: rangep (object)

Returns whether the supplied object is a range.

Examples:

(rangep 42)
=> nil

(rangep (range 1 3 2))
=> t

Package

petalisp-1.0.

Source

range.lisp.

Function: remove-shape-table-entry (shape-table shape)
Package

petalisp.core.

Source

shape.lisp.

Function: reuse-optimizing-transformation (reuse-potential)

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.

Package

petalisp.ir.

Source

ir.lisp.

Function: root-buffer-p (buffer)
Package

petalisp.ir.

Source

ir.lisp.

Function: run-petalisp-test-suite ()
Package

petalisp.test-suite.

Source

run-petalisp-test-suite.lisp.

Function: run-tests (&rest tests)
Package

petalisp.test-suite.

Source

run-petalisp-test-suite.lisp.

Function: shape-contains (shape index)

Returns whether the supplied shape contains the index denoted by the supplied list of integers. Signals an error if the length of the list of integers differs from the shape’s rank.

Examples:

(shape-contains (~ 1 9) (list 4))
=> t

(shape-contains (~ 1 2 9) (list 4))
=> nil

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-difference-list (shape1 shape2)

Computes the difference of two shapes S1 and S2. Returns a list of disjoint subshapes of S1 that describe exactly those indices 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))

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-dimension (shape axis)

Returns the size of the shape’s range in a particular axis

Examples:

(shape-dimension (~ 2 ~ 5) 0)
=> 2

(shape-dimension (~ 2 ~ 5) 1)
=> 5

(shape-dimension (~ 10 30 2) 0)
=> 10

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-dimensions (shape)

Returns a list of the sizes of each range of the supplied shape.

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)

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-emptyp (shape)

Returns whether the supplied object is a shape with zero elements, i.e., has at least one range with size zero.

Examples:

(shape-emptyp (~ 1))
=> nil

(shape-emptyp (~ 0))
=> t

(shape-emptyp (~ 1 ~ 2 ~ 3 3))
=> t

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-intersection (shape1 shape2)

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)

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-intersectionp (shape1 shape2)

Returns whether two supplied shapes have at least one common index.

Examples:

(shape-intersectionp (~ 1 6) (~ 6 10))
=> nil

(shape-intersectionp (~ 1 5) (~ 6 10))
=> nil

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape-prefix (shape n)

Returns the shape that consists of the lower axes of the supplied first argument, and whose rank is given by the second argument.

Examples:

(petalisp.core:shape-prefix (~ 1 ~ 2 ~ 3) 0)
=> (~*)

(petalisp.core:shape-prefix (~ 1 ~ 2 ~ 3) 1)
=> (~ 1)

(petalisp.core:shape-prefix (~ 1 ~ 2 ~ 3) 2)
=> (~ 1 ~ 2)

Package

petalisp.core.

Source

shape.lisp.

Function: shape-range (shape &optional axis)

Returns the range denoted by the supplied SHAPE and AXIS. If no axis is supplied, it defaults to zero.

Examples:

(shape-range (~ 1 ~ 2 ~ 3) 0)
=> #<range {0}>

(shape-range (~ 1 ~ 2 ~ 3) 2)
=> #<range {0 1 2}>

Package

petalisp-1.0.

Source

shape.lisp.

Reader: shape-ranges (instance)

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}>)

Package

petalisp-1.0.

Source

shape.lisp.

Target Slot

ranges.

Reader: shape-rank (instance)

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

Package

petalisp-1.0.

Source

shape.lisp.

Target Slot

rank.

Reader: shape-size (instance)

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

Package

petalisp-1.0.

Source

shape.lisp.

Target Slot

size.

Function: shape-subseq (shape start &optional end)

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:

(petalisp.core:shape-subseq (~ 2 ~ 3 ~ 4) 0)
=> (~ 2 ~ 3 ~ 4)

(petalisp.core:shape-subseq (~ 2 ~ 3 ~ 4) 2)
=> (~ 4)

(petalisp.core:shape-subseq (~ 2 ~ 3 ~ 4) 1 2)
=> (~ 3)

Package

petalisp.core.

Source

shape.lisp.

Function: shape-suffix (shape n)

Returns the shape that consists of the higher axes of the supplied first argument, and whose rank is given by the second argument.

Examples:

(petalisp.core:shape-suffix (~ 1 ~ 2 ~ 3) 0)
=> (~*)

(petalisp.core:shape-suffix (~ 1 ~ 2 ~ 3) 1)
=> (~ 3)

(petalisp.core:shape-suffix (~ 1 ~ 2 ~ 3) 2)
=> (~ 2 ~ 3)

Package

petalisp.core.

Source

shape.lisp.

Function: shape-table-p (object)
Package

petalisp.core.

Source

shape.lisp.

Function: shape-table-value (shape-table shape &optional default)
Package

petalisp.core.

Source

shape.lisp.

Function: (setf shape-table-value) (shape-table shape &optional default)
Package

petalisp.core.

Source

shape.lisp.

Function: shape-with-size-one-p (shape)

Returns whether the supplied shape has a size of one.

Examples:

(shape-with-size-one-p (~*))
=> t

(shape-with-size-one-p (~ 1))
=> t

(shape-with-size-one-p (~ 2))
=> nil

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape< (shape1 shape2)

Returns whether SHAPE1 has fewer 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 in the lowest axis where both ranges differ in size.

The main use case for this function is to sort sequences of shapes to obtain a canonical ordering.

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

Package

petalisp-1.0.

Source

shape.lisp.

Function: shape= (shape1 shape2)

Returns whether two supplied shapes have the same rank and ranges.

Examples:

(shape= (~*) (~*))
=> t

(shape= (~ 42) (~ 42))
=> t

(shape= (~ 1 42) (~ 1 42))
=> t

(shape= (~ 1 42) (~ 2 42))
=> nil

Package

petalisp-1.0.

Source

shape.lisp.

Function: shapep (object)

Returns whether the supplied object is a shape.

Examples:

(shapep 42)
=> nil

(shapep (~ 1 ~ 2 ~ 3 4))
=> t

Package

petalisp-1.0.

Source

shape.lisp.

Function: shrink-shape (shape)

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:

(petalisp.core:shrink-shape (~ 1 10))
=> (~*)
=> #<range {1 ... 9}>

(petalisp.core:shrink-shape (~ 1 10 ~ 0 2))
=> (~ 2)
=> #<range {1 ... 9}>

Package

petalisp.core.

Source

shape.lisp.

Function: slicer (&rest slice-specifiers)

Returns a function that can be supplied as a modifier to LAZY-RESHAPE to select a particular part of that shape. The nature of this function is determined by the supplied slice specifiers, one for each axis, each of which is one of the following:

- A single unsigned integer N for selecting the element with relative index N and dropping that axis from the resulting shape.

- An empty list for keeping the corresponding range as is.

- A list of one unsigned integer N for selecting the element with relative index N and keeping that axis in the resulting shape.

- A list of two unsigned integers B and E for selecting the elements from the relative index B up to right below the relative index E.

- A list of three unsigned integers B, E, and S for selecting the elements beginning at relative index B, with a relative step size of S, up to right below the relative index E.

All indices are interpreted as relative coordinates, so in a range with a start of five and a step size of two, a relative index of zero would map to the absolute index five and a relative index of one would map to the absolute index seven.

Signals an error unless the integers B and E are valid relative bounding indices for the range being worked on, i.e., B must be less than the size of that range, and E must be larger than or equal to B and less than or equal to the size of that range.

Examples:

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (slicer 0)))
=> #(1 2 3)

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (slicer 1 1)))
=> 5

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (slicer ’(1 2))))
=> #2A((4 5 6))

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (slicer ’(0 3 2))))
=> #2A((1 2 3) (7 8 9))

(compute (lazy-reshape #2A((1 2 3) (4 5 6) (7 8 9)) (slicer ’nil ’(0 3 2)))) => #2A((1 3) (4 6) (7 9))

Package

petalisp-1.0.

Source

reshapers.lisp.

Reader: split-axis (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

axis.

Reader: split-left-child (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

left-child.

Function: split-parent (split)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: split-position (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

position.

Function: split-range (range &optional position)

Splits the supplied range R into lower and upper halves and returns
them 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))
=> #<range {}>
=> #<range {}>

(split-range (range 1))
=> #<range {0}>
=> #<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)
=> #<range {}>
=> #<range {1 ... 9}>

(split-range (range 1 10) 10)
=> #<range {1 ... 9}>
=> #<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}>

Package

petalisp-1.0.

Source

range.lisp.

Reader: split-right-child (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

right-child.

Function: split-shape (shape axis &optional position)

Splits 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, splits into two halves of roughly equal size. Returns the two resulting shapes as multiple values.

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)

Package

petalisp-1.0.

Source

shape.lisp.

Function: splitp (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: stencil-buffer (stencil)
Package

petalisp.ir.

Source

ir.lisp.

Reader: stencil-center (instance)
Writer: (setf stencil-center) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

center.

Function: stencil-from-instruction (instruction)
Package

petalisp.ir.

Source

ir.lisp.

Function: stencil-input-rank (stencil)
Package

petalisp.ir.

Source

ir.lisp.

Reader: stencil-instructions (instance)
Writer: (setf stencil-instructions) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

instructions.

Function: stencil-output-mask (stencil)
Package

petalisp.ir.

Source

ir.lisp.

Function: stencil-output-rank (stencil)
Package

petalisp.ir.

Source

ir.lisp.

Function: stencil-scalings (stencil)
Package

petalisp.ir.

Source

ir.lisp.

Function: stencilp (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-buffer (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf store-instruction-buffer) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-input (store-instruction)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-p (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-transformation (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf store-instruction-transformation) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: subdivide-arrays (arrays)

Invoke SUBDIVIDE-SHAPES on the shapes of the supplied ARRAYS.

Examples:

(petalisp.core:subdivide-arrays (list))
=> nil

(petalisp.core:subdivide-arrays (list #()))
=> (((~ 0) . 1))

(petalisp.core:subdivide-arrays (list #() #()))
=> (((~ 0) . 1) ((~ 0) . 2))

(petalisp.core:subdivide-arrays (list #(1 2 3 4) #(1 2))) => (((~ 2) . 3) ((~ 2 4) . 1))

Package

petalisp.core.

Source

lazy-array.lisp.

Function: subdivide-shapes (shapes)

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 CDR 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))

Package

petalisp-1.0.

Source

shape.lisp.

Function: subrangep (range1 range2)

Returns whether all elements of the first supplied range are contained in the second supplied range.

Examples:

(subrangep (range 0 10 2) (range 0 20 2))
=> t

(subrangep (range 0) (range 0))
=> t

(subrangep (range 10) (range 9))
=> nil

Package

petalisp-1.0.

Source

range.lisp.

Function: subshapep (shape1 shape2)

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

Package

petalisp-1.0.

Source

shape.lisp.

Function: substitute-lazy-array (lazy-array)
Package

petalisp.core.

Source

substitute-lazy-arrays.lisp.

Function: substitute-lazy-arrays (roots new-lazy-arrays old-lazy-arrays)
Package

petalisp.core.

Source

substitute-lazy-arrays.lisp.

Function: superimpose-ranges (ranges)

Returns a range that covers all the supplied ranges.

Package

petalisp-1.0.

Source

range.lisp.

Function: superimpose-shapes (shapes)

Returns the smallest possible shape that covers all the supplied shapes.

Package

petalisp-1.0.

Source

shape.lisp.

Reader: task-number (instance)
Writer: (setf task-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

number.

Reader: task-program (instance)
Writer: (setf task-program) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

program.

Function: taskp (object)
Package

petalisp.ir.

Source

ir.lisp.

Function: transformation-blueprint (transformation)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: transformation-identityp (transformation)

Returns whether the supplied transformation is an identity transformation.

Examples:

(transformation-identityp (transform i j to j i))
=> nil

(transformation-identityp (transform i j to i j))
=> t

Package

petalisp-1.0.

Source

transformation.lisp.

Reader: transformation-input-mask (instance)

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.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

input-mask.

Reader: transformation-input-rank (instance)

Returns the rank that any shape that can be transformed with this transformation must have.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

input-rank.

Function: transformation-invertiblep (transformation)

Returns whether the supplied transformation is an invertible transformation.

Examples:

(transformation-invertiblep (transform i j to j i))
=> t

(transformation-invertiblep (transform i j to i))
=> nil

Package

petalisp-1.0.

Source

transformation.lisp.

Reader: transformation-offsets (instance)

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 by the corresponding scaling.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

offsets.

Reader: transformation-output-mask (instance)

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.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

output-mask.

Reader: transformation-output-rank (instance)

Returns the rank that shapes created by applying this transformation will have.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

output-rank.

Reader: transformation-scalings (instance)

Returns a vector with one element per axis of any possible output. Each element of this vector is a rational number that is multiplied by the input index component indicated by the corresponding output mask entry before it is added to the corresponding offset.

Package

petalisp-1.0.

Source

transformation.lisp.

Target Slot

scalings.

Function: transformationp (object)

Returns whether the supplied object is a transformation.

Examples:

(transformationp (transform i j to j i))
=> t

(transformationp (transform i j to i j))
=> t

(transformationp 42)
=> nil

Package

petalisp-1.0.

Source

transformation.lisp.

Function: unpack-array (array environment)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: value-array (object)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: vicinity-left-neighbors (vicinity axis)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: vicinity-right-neighbors (vicinity axis)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: vicinityp (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: view (graph-roots &key viewer verbose)

View the supplied lazy arrays as a graph, using some external program. Each graph node corresponds to a lazy array and is shown with its shape, derived element type, and possibly other attributes. Each graph edge describes one data flow dependency between one lazy array and another.

Package

petalisp-1.0.

Source

view.lisp.

Function: wait (&rest requests)

Blocks until all the supplied requests of some COMPUTE-ASYNCHRONOUSLY operations have been completed.

Package

petalisp-1.0.

Source

backend.lisp.

Function: ~ (&rest tokens)

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 or lists of ranges that are incorporated into the resulting shape in the order that they appear.

Examples:

(~ 8)
=> (~ 8)

(~ 1 10)
=> (~ 1 10)

(~ 0 10 2 ~ 0 10 2)
=> (~ 0 9 2 ~ 0 9 2)

(apply #’~ 1 10 ’(~ 2 6 ~ 2 6))
=> (~ 1 10 ~ 2 6 ~ 2 6)

Package

petalisp-1.0.

Source

shape-syntax.lisp.

Function: ~* (&rest tokens)

Returns a shape whose ranges are derived by processing each occurrence of one of the self-evaluating delimiter symbols ~ and ~* in the same manner as the function ~.

Examples:

(~*)
=> (~*)

(~* (range 1 10) (range 2 9) ~ 42)
=> (~ 1 10 ~ 2 9 ~ 42)

(~* ~ 10)
=> (~ 10)

(~* (make-list 4 :initial-element (range 3)))
=> (~ 3 ~ 3 ~ 3 ~ 3)

Package

petalisp-1.0.

Source

shape-syntax.lisp.


5.1.6 Generic functions

Generic Function: backend-compute (backend lazy-arrays)

Returns a list of delayed array actions, one for each element of the supplied list of lazy arrays. This function should be called only by COMPUTE, which guarantees that the supplied lazy arrays are already deflated.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: backend-compute ((testing-backend testing-backend) (data-structures list))
Source

testing-backend.lisp.

Method: backend-compute ((ir-backend ir-backend) (lazy-arrays list))
Source

ir-backend.lisp.

Method: backend-compute ((backend reference-backend) (lazy-arrays list))
Source

reference-backend.lisp.

Method: backend-compute ((backend backend) (lazy-arrays list))
Method: backend-compute ((backend backend) (lazy-arrays null))
Generic Function: backend-compute-asynchronously (backend lazy-arrays)

Returns a request object that can be used to wait until all of the supplied lazy arrays have been computed.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: backend-compute-asynchronously ((backend backend) (lazy-arrays list))
Method: backend-compute-asynchronously ((backend backend) (lazy-arrays null))
Generic Reader: backend-debug-flag (backend)

Returns whether the supplied backend runs in debug mode, where it trades performance for ease of debugging.

Package

petalisp.core.

Source

backend.lisp.

Methods
Reader Method: backend-debug-flag ((backend backend))

automatically generated reader method

Target Slot

%debug-flag.

Generic Writer: (setf backend-debug-flag) (backend)

Set the backend’s debug flag to true or false.

Package

petalisp.core.

Source

backend.lisp.

Methods
Writer Method: (setf backend-debug-flag) ((backend backend))

automatically generated writer method

Target Slot

%debug-flag.

Generic Function: backend-evaluator (backend unknowns lazy-arrays)

For a supplied backend, a list of unknowns of length N, and a list of
lazy arrays of length K, returns a function with K plus N arguments that returns, as multiple values, the K array values obtained by computing the supplied arrays after replacing the Ith unknown with the supplied argument in position K plus I.

The first K arguments of the resulting evaluator function specify which storage to use for the results, where a value of NIL indicates that the corresponding result is a freshly allocated array, and a value that is an array causes the result to be written to that array. The remaining N arguments specify the data that takes the place of the corresponding unknowns. Signals an error if any of the arguments of an evaluator has a different shape or element type from the corresponding result or unknown.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: backend-evaluator ((backend backend) (unknowns list) (lazy-arrays list))
Source

evaluator.lisp.

Method: backend-evaluator ((backend backend) (unknowns list) (lazy-arrays list))
Method: backend-evaluator ((backend backend) (unknowns list) (lazy-arrays null))
Method: backend-evaluator :before ((backend backend) (unknowns list) (lazy-arrays list))
Generic Function: backendp (object)

Returns whether the supplied object is a backend.

Package

petalisp-1.0.

Source

backend.lisp.

Methods
Method: backendp ((backend backend))
Method: backendp (object)
Generic Function: compile-blueprint (client blueprint)

Returns a function that is a suitable return value for compiling a kernel that has the supplied blueprint.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: compile-blueprint ((client cuda-compiler-mixin) blueprint)
Source

mixins.lisp.

Method: compile-blueprint ((client cpp-compiler-mixin) blueprint)
Source

mixins.lisp.

Method: compile-blueprint ((client lisp-plus-cpp-compiler-mixin) blueprint)
Source

mixins.lisp.

Method: compile-blueprint ((client lisp-compiler-mixin) blueprint)
Source

mixins.lisp.

Method: compile-blueprint ((client lisp-interpreter-mixin) blueprint)
Source

mixins.lisp.

Method: compile-blueprint :around ((client compile-cache-mixin) blueprint)
Source

mixins.lisp.

Generic Function: compile-kernel (client kernel)

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.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: compile-kernel (client (kernel kernel))
Generic Reader: core-memory (device)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: core-memory ((core core))

automatically generated reader method

Target Slot

%memory.

Generic Reader: core-name (device)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: core-name ((core core))

automatically generated reader method

Target Slot

%name.

Generic Function: delayed-action-inputs (delayed-action)
Package

petalisp.core.

Source

lazy-array.lisp.

Methods
Method: delayed-action-inputs ((delayed-action delayed-action))
Method: delayed-action-inputs ((delayed-map delayed-map))
Method: delayed-action-inputs ((delayed-nth-value delayed-nth-value))
Method: delayed-action-inputs ((delayed-reshape delayed-reshape))
Method: delayed-action-inputs ((delayed-fuse delayed-fuse))
Generic Function: delete-backend (backend)

Permanently disables the supplied backend and free any resources that are held by it. Once a backend has been deleted, further calls to an evaluation function on that backend will signal an error.

Package

petalisp-1.0.

Source

backend.lisp.

Methods
Method: delete-backend ((testing-backend testing-backend))
Source

testing-backend.lisp.

Method: delete-backend ((backend backend))
Source

backend.lisp.

Method: delete-backend ((backend backend))
Generic Reader: device-cores (device)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: device-cores ((device device))

automatically generated reader method

Target Slot

%cores.

Generic Reader: device-memory (device)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: device-memory ((device device))

automatically generated reader method

Target Slot

%memory.

Generic Reader: device-name (device)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: device-name ((device device))

automatically generated reader method

Target Slot

%name.

Generic Function: enlarge-transformation (transformation scale offset)

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).

Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: enlarge-transformation ((transformation hairy-transformation) (scaling rational) (offset rational))
Method: enlarge-transformation ((transformation identity-transformation) (scale rational) (offset rational))
Method: enlarge-transformation ((transformation identity-transformation) (scale (eql 1)) (offset (eql 0)))
Generic Function: inflate-transformation (transformation n)
Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: inflate-transformation ((transformation hairy-transformation) (n integer))
Method: inflate-transformation ((transformation identity-transformation) (n integer))
Method: inflate-transformation :around ((transformation transformation) (n integer))
Generic Function: instruction-number-of-values (instruction)
Package

petalisp.ir.

Source

ir.lisp.

Methods
Method: instruction-number-of-values ((call-instruction call-instruction))
Method: instruction-number-of-values ((iref-instruction iref-instruction))
Method: instruction-number-of-values ((load-instruction load-instruction))
Method: instruction-number-of-values ((store-instruction store-instruction))
Generic Function: invert-transformation (transformation)

Returns the inverse of the supplied transformation, or signals an error 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)

(handler-case (invert-transformation (transform a b to a)) (error nil :error)) => :error

Package

petalisp-1.0.

Source

transformation.lisp.

Methods
Method: invert-transformation ((transformation hairy-transformation))
Method: invert-transformation ((transformation identity-transformation))
Generic Function: load-function (client ntype)

Returns the name of a function for loading an object of the supplied ntype from some base and index.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: load-function ((backend backend) (ntype ntype))
Source

compilation.lisp.

Method: load-function ((ir-backend ir-backend) (ntype ntype))
Source

ir-backend.lisp.

Generic Function: map-transformation-inputs (function transformation &key from-end)

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.

Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: map-transformation-inputs ((function function) (transformation hairy-transformation) &key from-end)
Method: map-transformation-inputs ((function function) (transformation identity-transformation) &key from-end)
Generic Function: map-transformation-outputs (function 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.

Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: map-transformation-outputs ((function function) (transformation hairy-transformation) &key from-end)
Method: map-transformation-outputs ((function function) (transformation identity-transformation) &key from-end)
Generic Reader: memory-bandwidth (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-bandwidth ((memory memory))

automatically generated reader method

Target Slot

%bandwidth.

Generic Reader: memory-children (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-children ((memory memory))

automatically generated reader method

Target Slot

%children.

Generic Reader: memory-cores (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-cores ((memory memory))

automatically generated reader method

Target Slot

%cores.

Generic Reader: memory-granularity (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-granularity ((memory memory))

automatically generated reader method

Target Slot

%granularity.

Generic Reader: memory-latency (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-latency ((memory memory))

automatically generated reader method

Target Slot

%latency.

Generic Reader: memory-name (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-name ((memory memory))

automatically generated reader method

Target Slot

%name.

Generic Reader: memory-parent (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-parent ((memory memory))

automatically generated reader method

Target Slot

%parent.

Generic Reader: memory-parent-bandwidth (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-parent-bandwidth ((memory memory))

automatically generated reader method

Target Slot

%parent-bandwidth.

Generic Reader: memory-size (memory)
Package

petalisp.ir.

Source

device.lisp.

Methods
Reader Method: memory-size ((memory memory))

automatically generated reader method

Target Slot

%size.

Generic Function: request-completedp (request)

Returns whether all lazy arrays that are part of the supplied request have already been computed.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: request-completedp ((request request))
Source

request.lisp.

Method: request-completedp ((completed-request completed-request))
Method: request-completedp ((request request))
Generic Function: request-wait (request)

Blocks until all lazy arrays that are part of the supplied request have been computed.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: request-wait ((request request))
Source

request.lisp.

Method: request-wait ((completed-request completed-request))
Generic Function: requestp (object)

Returns whether the supplied object is a request.

Package

petalisp.core.

Source

backend.lisp.

Methods
Method: requestp ((request request))
Source

request.lisp.

Method: requestp ((request request))
Method: requestp (object)
Generic Function: shape-designator-shape (shape-designator)

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 designator is any other object, the result is a shape with rank zero.

Package

petalisp-1.0.

Source

shape.lisp.

Methods
Method: shape-designator-shape ((lazy-array lazy-array))
Source

lazy-array.lisp.

Method: shape-designator-shape (object)
Method: shape-designator-shape ((shape shape))
Method: shape-designator-shape ((array array))
Generic Function: source-function (client)

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.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: source-function ((backend backend))
Source

compilation.lisp.

Method: source-function ((ir-backend ir-backend))
Source

ir-backend.lisp.

Method: source-function :around (client)
Generic Function: store-function (client ntype)

Returns the name of a function for storing an object of the supplied ntype at some base and index.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: store-function ((backend backend) (ntype ntype))
Source

compilation.lisp.

Method: store-function ((ir-backend ir-backend) (ntype ntype))
Source

ir-backend.lisp.

Generic Function: substitute-delayed-action (delayed-action)
Package

petalisp.core.

Source

substitute-lazy-arrays.lisp.

Methods
Method: substitute-delayed-action ((delayed-action delayed-action))
Method: substitute-delayed-action ((delayed-fuse delayed-fuse))
Method: substitute-delayed-action ((delayed-reshape delayed-reshape))
Method: substitute-delayed-action ((delayed-nth-value delayed-nth-value))
Method: substitute-delayed-action ((delayed-multiple-value-map delayed-multiple-value-map))
Method: substitute-delayed-action ((delayed-map delayed-map))
Generic Function: target-function (client)

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.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: target-function ((backend backend))
Source

compilation.lisp.

Method: target-function ((ir-backend ir-backend))
Source

ir-backend.lisp.

Method: target-function :around (client)
Generic Function: transform-axis (axis transformation)
Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: transform-axis ((axis integer) (hairy-transformation hairy-transformation))
Method: transform-axis ((axis integer) (transformation identity-transformation))
Method: transform-axis ((axis integer) (transformation transformation))
Generic Function: transform-index (index transformation)

Returns the index that results from applying the supplied transformation to the supplied index.

Examples:

(transform-index ’(10) (transform i to (+ i 2)))
=> (12)

(transform-index ’(1 2 3) (transform i j k to j (* 3 i) (1+ k)))
=> (2 3 4)

Package

petalisp-1.0.

Source

transformation.lisp.

Methods
Method: transform-index ((vector vector) (transformation hairy-transformation))
Method: transform-index ((list list) (transformation hairy-transformation))
Method: transform-index ((sequence sequence) (transformation identity-transformation))
Method: transform-index :before ((sequence sequence) (transformation hairy-transformation))
Method: transform-index :before ((sequence sequence) (transformation transformation))
Generic Function: transform-shape (shape transformation)

Returns the shape that describes the set of all results of applying the supplied transformation to each index of the supplied shape.

Examples:

(transform-shape (~ 2 ~ 3) (transform i j to j i))
=> (~ 3 ~ 2)

(transform-shape (~ 10) (transform i to (1+ (* 2 i))))
=> (~ 1 20 2)

Package

petalisp-1.0.

Source

transformation.lisp.

Methods
Method: transform-shape ((shape shape) (transformation hairy-transformation))
Method: transform-shape ((shape shape) (operator identity-transformation))
Method: transform-shape :before ((shape shape) (transformation hairy-transformation))
Method: transform-shape :before ((shape shape) (transformation transformation))
Generic Function: transformation-similar (transformation1 transformation2 delta)

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:

(petalisp.core:transformation-similar (transform a to a)
(transform a to (1+ a)) 0)
=> nil

(petalisp.core:transformation-similar (transform a to a)
(transform a to (1+ a)) 1)
=> t

(petalisp.core:transformation-similar (transform i j to (+ j 2) i) (transform i j to (- j 1) i) 2) => nil

(petalisp.core:transformation-similar (transform i j to (+ j 2) i) (transform i j to (- j 1) i) 3) => t

Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: transformation-similar ((t1 transformation) (t2 transformation) (delta integer))
Generic Function: transformation= (transformation1 transformation2)

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

Package

petalisp-1.0.

Source

transformation.lisp.

Methods
Method: transformation= ((t1 hairy-transformation) (t2 hairy-transformation))
Method: transformation= ((t1 identity-transformation) (t2 identity-transformation))
Method: transformation= ((t1 transformation) (t2 transformation))
Generic Function: unpack-function (client ntype rank)

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.

Package

petalisp.codegen.

Source

generic-functions.lisp.

Methods
Method: unpack-function ((backend backend) (ntype ntype) (rank integer))
Source

compilation.lisp.

Method: unpack-function ((ir-backend ir-backend) (ntype ntype) (rank integer))
Source

ir-backend.lisp.

Method: unpack-function :around (client ntype rank)

5.1.7 Standalone methods

Method: generate-graph-from-roots :around ((graph partitioning-graph) roots &optional attributes)
Package

cl-dot.

Source

partitioning.lisp.

Method: generate-graph-from-roots :around ((graph any-graph) objects &optional attributes)
Package

cl-dot.

Source

protocol.lisp.

Method: generate-graph-from-roots :around ((graph ir-graph) roots &optional attributes)
Package

cl-dot.

Source

ir.lisp.

Method: graph-object-cluster ((graph partitioning-graph) (kernel-shard kernel-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-cluster ((graph ir-graph) (buffer buffer))
Package

cl-dot.

Source

ir.lisp.

Method: graph-object-cluster ((graph ir-graph) (kernel kernel))
Package

cl-dot.

Source

ir.lisp.

Method: graph-object-knows-of ((graph partitioning-graph) (node kernel-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-knows-of ((graph any-graph) object)
Package

cl-dot.

Source

protocol.lisp.

Method: graph-object-node ((graph partitioning-graph) (node kernel-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-node ((graph partitioning-graph) (node buffer-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-node ((graph any-graph) node)
Package

cl-dot.

Source

protocol.lisp.

Method: graph-object-node ((graph class-diagram) (class class))
Package

cl-dot.

Source

class-diagram.lisp.

Method: graph-object-pointed-to-by ((graph partitioning-graph) (buffer-shard buffer-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-pointed-to-by ((graph any-graph) node)
Package

cl-dot.

Source

protocol.lisp.

Method: graph-object-points-to ((graph partitioning-graph) (buffer-shard buffer-shard))
Package

cl-dot.

Source

partitioning.lisp.

Method: graph-object-points-to ((graph any-graph) node)
Package

cl-dot.

Source

protocol.lisp.

Method: initialize-instance :after ((backend backend) &key &allow-other-keys)
Source

backend.lisp.

Method: print-object ((ad-record ad-record) stream)
Source

differentiator.lisp.

Method: print-object ((node node) stream)
Source

scheduling.lisp.

Method: print-object ((shape shape) stream)
Source

shape-syntax.lisp.

Method: print-object ((lazy-array lazy-array) stream)
Source

lazy-array.lisp.

Method: print-object ((transformation transformation) stream)
Source

transform.lisp.

Method: print-object ((empty-range empty-range) stream)
Source

range.lisp.

Method: print-object ((range non-empty-range) stream)
Source

range.lisp.

Method: print-object ((kernel-shard kernel-shard) stream)
Source

partitioning.lisp.

Method: print-object ((buffer buffer) stream)
Source

ir.lisp.

Method: print-object ((store-instruction store-instruction) stream)
Source

ir.lisp.

Method: print-object ((program program) stream)
Source

ir.lisp.

Method: print-object ((buffer-shard buffer-shard) stream)
Source

partitioning.lisp.

Method: print-object ((core core) stream)
Source

device.lisp.

Method: print-object ((iref-instruction iref-instruction) stream)
Source

ir.lisp.

Method: print-object ((memory memory) stream)
Source

device.lisp.

Method: print-object ((split split) stream)
Source

partitioning.lisp.

Method: print-object ((kernel kernel) stream)
Source

ir.lisp.

Method: print-object ((load-instruction load-instruction) stream)
Source

ir.lisp.

Method: print-object ((task task) stream)
Source

ir.lisp.

Method: print-object ((device device) stream)
Source

device.lisp.

Method: print-object ((call-instruction call-instruction) stream)
Source

ir.lisp.

Method: print-object ((worker worker) stream)
Source

worker-pool.lisp.

Method: shared-initialize :after ((core core) slot-names &key &allow-other-keys)
Source

device.lisp.

Method: shared-initialize :after ((memory memory) slot-names &key &allow-other-keys)
Source

device.lisp.


5.1.8 Structures

Structure: buffer

A buffer is a mapping from indices of a particular shape to memory locations of a particular type. It has the following slots:

- A shape that describes the size and virtual layout of the buffer.

- A conservative approximation of the type of each element of the buffer, represented as an ntype of the type inference library Typo.

- The depth of the lazy array corresponding to the buffer.

- The writers of the buffer, encoded as an association list where the key of each entry is a kernel and the value is the list of all the store instructions in that kernel that write to the buffer.

- The readers of the buffer, encoded as an association where the key of each entry is a kernel and the value is a list of all the load instructions in that kernel that load from the buffer.

- The task that contains all kernels that write into this buffer.

- The storage of the buffer, which is an opaque, backend-specific object.

- A number that is unique among all buffers in the program and less than the total number of buffers in the program.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: shape
Package

petalisp-1.0.

Type

petalisp-1.0:shape

Readers

buffer-shape.

Writers

(setf buffer-shape).

Slot: ntype
Type

typo:ntype

Readers

buffer-ntype.

Writers

(setf buffer-ntype).

Slot: depth
Type

(and unsigned-byte fixnum)

Readers

buffer-depth.

Writers

(setf buffer-depth).

Slot: writers
Type

list

Initform

(quote nil)

Readers

buffer-writers.

Writers

(setf buffer-writers).

Slot: readers
Type

list

Initform

(quote nil)

Readers

buffer-readers.

Writers

(setf buffer-readers).

Slot: task
Type

(or null petalisp.ir:task)

Readers

buffer-task.

Writers

(setf buffer-task).

Slot: number
Package

common-lisp.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

buffer-number.

Writers

(setf buffer-number).

Slot: storage
Readers

buffer-storage.

Writers

(setf buffer-storage).

Structure: buffer-shard

A buffer shard describes one portion of a buffer and how it relates to neighboring parts of that buffer. It also tracks the kernel shards reading from it and writing to it, and it may contain a split that describes how it is subdivided into smaller buffer shards. Each buffer shard has the following slots:

- The buffer being partitioned by this buffer shard.

- The domain, which is the part of the buffer’s shape that is exclusively managed by this buffer shard and its children.

- The shape, which is the union of the buffer shard’s domain and any auxiliary ghost layers.

- The parent, which is either the buffer shard that was split to create this one, or NIL if this buffer shard has no parent. We call any buffer shard whose parent is NIL a primogenitor, and its domain is equal to the shape of its buffer.

- The writers, which is a list of kernel shards that write to this buffer shard.

- The readers, which is a list of kernel shards that read from this buffer shard.

- The split priority cache, which is used to cache the user-supplied cost function for the buffer shard once it is computed for the first time.

- The split operation if this buffer shard has been split into two child buffer shards, or NIL if it hasn’t been split so far.

- The layout assigned to the buffer shard, or NIL if no layout has been assigned so far.

Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: buffer
Type

petalisp.ir:buffer

Readers

buffer-shard-buffer.

Writers

This slot is read-only.

Slot: parent
Type

(or null petalisp.ir:buffer-shard)

Readers

buffer-shard-parent.

Writers

This slot is read-only.

Slot: domain
Type

petalisp-1.0:shape

Readers

buffer-shard-domain.

Writers

This slot is read-only.

Slot: shape
Package

petalisp-1.0.

Type

petalisp-1.0:shape

Readers

buffer-shard-shape.

Writers

This slot is read-only.

Slot: writers
Type

list

Initform

(quote nil)

Readers

buffer-shard-writers.

Writers

(setf buffer-shard-writers).

Slot: readers
Type

list

Initform

(quote nil)

Readers

buffer-shard-readers.

Writers

(setf buffer-shard-readers).

Slot: split-priority-cache
Type

(or null unsigned-byte)

Readers

buffer-shard-split-priority-cache.

Writers

(setf buffer-shard-split-priority-cache).

Slot: split
Type

(or null structure-object)

Readers

buffer-shard-split.

Writers

(setf buffer-shard-split).

Slot: layout
Type

(or null petalisp.ir:layout)

Readers

buffer-shard-layout.

Writers

(setf buffer-shard-layout).

Structure: call-instruction

A call instruction represents the application of a function to some arguments. It consists of an fnrecord from the type inference library Typo, 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 fewer values than specified, the missing values are set to NIL.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

instruction.

Direct methods
Direct slots
Slot: fnrecord
Type

typo:fnrecord

Readers

call-instruction-fnrecord.

Writers

(setf call-instruction-fnrecord).

Slot: number-of-values
Type

(integer 0 (1073741824))

Readers

call-instruction-number-of-values.

Writers

(setf call-instruction-number-of-values).

Structure: cqueue
Package

petalisp.cqueue.

Source

cqueue.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: h-lock
Type

bt2:lock

Initform

(bt2:make-lock :name "h-lock")

Readers

cqueue-h-lock.

Writers

(setf cqueue-h-lock).

Slot: t-lock
Type

bt2:lock

Initform

(bt2:make-lock :name "t-lock")

Readers

cqueue-t-lock.

Writers

(setf cqueue-t-lock).

Slot: head
Type

cons

Readers

cqueue-head.

Writers

(setf cqueue-head).

Slot: tail
Type

cons

Readers

cqueue-tail.

Writers

(setf cqueue-tail).

Structure: delayed-action
Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods
Structure: delayed-array

A delayed array describes the process of assigning each index the value of some existing Common Lisp array at that index. It has one slot that is the existing array being referenced.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Direct slots
Slot: storage
Type

array

Initform

(alexandria:required-argument :storage)

Readers

delayed-array-storage.

Writers

(setf delayed-array-storage).

Structure: delayed-failure

A delayed failure describes a lazy array that was involved in an asynchronous evaluation that signaled an error. It has one slot that is the condition that should be resignaled whenever this delayed action is part of a synchronous evaluation.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Type

condition

Initform

(alexandria:required-argument :condition)

Readers

delayed-failure-condition.

Writers

This slot is read-only.

Structure: delayed-fuse

A delayed fuse describes the process of assigning each index the corresponding value from the one input lazy array whose shape contains that index. It has a single slot
that is the list of lazy arrays being fused.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Direct slots
Slot: inputs
Type

list

Initform

(alexandria:required-argument :inputs)

Readers

delayed-fuse-inputs.

Writers

(setf delayed-fuse-inputs).

Structure: delayed-map

A delayed map describes the element-wise application of a function to some number of lazy arrays. A delayed map has two slots: The first slot is the fnrecord of the function being mapped, i.e., the entry of that function in the database of the type inference library Typo. The second slot is a list of lazy arrays that the function is being mapped over. All lazy arrays that appear as an input to a delayed map must have the same shape.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct subclasses

delayed-multiple-value-map.

Direct methods
Direct slots
Slot: fnrecord
Type

typo:fnrecord

Initform

(alexandria:required-argument :fnrecord)

Readers

delayed-map-fnrecord.

Writers

(setf delayed-map-fnrecord).

Slot: inputs
Type

list

Initform

(alexandria:required-argument :inputs)

Readers

delayed-map-inputs.

Writers

(setf delayed-map-inputs).

Structure: delayed-multiple-value-map

A delayed multiple value map describes the element-wise application of a multiple-valued function to some number of lazy arrays of the same shape. It has the same first two slots as a delayed map, a third slot that is Typo’s description of the type of the multiple values it returns, and a fourth slot that is a mutable bit vector that tracks which of the multiple values have been referenced so far. The bit vector is later used to eliminate unused values altogether.

Because of the nature of its return values, a lazy array whose delayed action is a delayed multiple value map must appear only as the input of a delayed nth value action and never be visible to the user.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-map.

Direct methods
Direct slots
Slot: values-ntype
Type

typo:values-ntype

Initform

(alexandria:required-argument :values-ntype)

Readers

delayed-multiple-value-map-values-ntype.

Writers

This slot is read-only.

Slot: refbits
Type

unsigned-byte

Initform

0

Readers

delayed-multiple-value-map-refbits.

Writers

(setf delayed-multiple-value-map-refbits).

Slot: refbits-lock
Type

bt2:lock

Initform

(bt2:make-lock :name "refbits lock")

Readers

delayed-multiple-value-map-refbits-lock.

Writers

(setf delayed-multiple-value-map-refbits-lock).

Structure: delayed-nop

A delayed nop is the delayed action of any lazy array with zero elements. It cannot be computed.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods

delayed-action-value.

Structure: delayed-nth-value

A delayed nth value describes the process of referencing the nth value of some lazy array whose delayed action is a delayed multiple value map. Its first slot is the position of the value being referenced, and its second slot is a lazy array defined by a delayed multiple value map.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Direct slots
Slot: number
Package

common-lisp.

Type

typo:argument-index

Initform

(alexandria:required-argument :number)

Readers

delayed-nth-value-number.

Writers

(setf delayed-nth-value-number).

Slot: input
Type

petalisp-1.0:lazy-array

Initform

(alexandria:required-argument :input)

Readers

delayed-nth-value-input.

Writers

(setf delayed-nth-value-input).

Structure: delayed-range

A delayed range describes the process of assigning each index the sole integer contained in that index. This delayed action must appear only in the definition of lazy arrays of rank one.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Structure: delayed-reshape

A delayed reshape describes the process of assigning each index the value of the specified input lazy array at the position that is obtained by applying the specified transformation to that index. It has one slot that stores the transformation and one slot that stores that lazy array being referenced.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Direct slots
Slot: transformation
Package

petalisp-1.0.

Type

petalisp-1.0:transformation

Initform

(alexandria:required-argument :transformation)

Readers

delayed-reshape-transformation.

Writers

(setf delayed-reshape-transformation).

Slot: input
Type

petalisp-1.0:lazy-array

Initform

(alexandria:required-argument :input)

Readers

delayed-reshape-input.

Writers

(setf delayed-reshape-input).

Structure: delayed-unknown

A delayed unknown is used as the delayed action of any lazy array created by the function MAKE-UNKNOWN. It cannot be computed.

Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods
Structure: delayed-wait
Package

petalisp.core.

Source

lazy-array.lisp.

Direct superclasses

delayed-action.

Direct methods

grow-dendrite-aux.

Direct slots
Slot: request
Initform

(alexandria:required-argument :request)

Readers

delayed-wait-request.

Writers

This slot is read-only.

Slot: delayed-action
Type

petalisp.core:delayed-action

Initform

(alexandria:required-argument :delayed-action)

Readers

delayed-wait-delayed-action.

Writers

(setf delayed-wait-delayed-action).

Structure: empty-range

An empty range is a range with zero elements.

Package

petalisp.core.

Source

range.lisp.

Direct superclasses

range.

Direct methods

print-object.

Structure: graph
Package

petalisp.scheduling.

Source

scheduling.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: object-nodes
Type

hash-table

Initform

(make-hash-table)

Readers

graph-object-nodes.

Writers

(setf graph-object-nodes).

Structure: identity-transformation

An identity transformation of rank N maps every list of length N to itself. An identity transformation is its own inverse.

Package

petalisp.core.

Source

transformation.lisp.

Direct superclasses

transformation.

Direct methods
Structure: instruction

An instruction describes part of the semantics of the kernel that contains it. This abstract base class outlines behavior that is shared among all instructions. It prescribes two slots:

- The instruction number, which is an integer that is unique among all instructions of the containing kernel. Instruction numbers are handed out in depth-first order of instruction dependencies, such that the roots (store instructions) have the highest numbers and the leaf nodes (load and iref instructions) have the lowest numbers.

- A list of inputs, whose elements are cons cells whose CDR is another instruction in the same kernel and whose CAR is an integer denoting which of the multiple values returned by the instruction in the CDR is being referenced. An instruction with zero inputs is called a leaf instruction.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods
Direct slots
Slot: inputs
Type

list

Initform

(quote nil)

Readers

instruction-inputs.

Writers

(setf instruction-inputs).

Slot: number
Package

common-lisp.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

instruction-number.

Writers

(setf instruction-number).

Structure: iref-instruction

An iref instruction represents an access to elements of the iteration space itself. It 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.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

iterating-instruction.

Direct methods
Structure: iterating-instruction

The class of all instructions whose behavior directly depends on the current position in the surrounding iteration space.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

instruction.

Direct subclasses
Direct methods
Direct slots
Slot: transformation
Package

petalisp-1.0.

Type

petalisp-1.0:transformation

Readers

instruction-transformation.

Writers

(setf instruction-transformation).

Structure: kernel

A kernel represents a computation that executes some instructions once for each element in its iteration space. It has the following slots:

- The iteration space, encoded as a shape.

- The instruction vector that contains the instructions of that kernel sorted by their instruction numbers.

- The sources of that kernel, encoded as an association list where the key of each entry is a buffer and where the value is a list of stencils of load instructions reading from that buffer.

- The targets of that kernel, encoded as an association list where the key of each entry is a buffer and where the value is a list of stencils of store instructions writing into that buffer.

- The task that contains this kernel.

- A number that is unique among all kernels in the program and less than the total number of kernels in the program.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: iteration-space
Type

petalisp-1.0:shape

Readers

kernel-iteration-space.

Writers

(setf kernel-iteration-space).

Slot: sources
Type

list

Initform

(quote nil)

Readers

kernel-sources.

Writers

(setf kernel-sources).

Slot: targets
Type

list

Initform

(quote nil)

Readers

kernel-targets.

Writers

(setf kernel-targets).

Slot: instruction-vector
Type

simple-vector

Initform

#()

Readers

kernel-instruction-vector.

Writers

(setf kernel-instruction-vector).

Slot: task
Type

(or null petalisp.ir:task)

Readers

kernel-task.

Writers

(setf kernel-task).

Slot: number
Package

common-lisp.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

kernel-number.

Writers

(setf kernel-number).

Slot: data
Readers

kernel-data.

Writers

(setf kernel-data).

Structure: kernel-shard

A kernel shard describes one portion of a kernel to be executed and the buffer shards it reads from and writes to. A kernel shard has the following slots:

- The kernel being partitioned by this kernel shard.

- The iteration space, which is a shape that describes the subset of the kernel iteration space that is uniquely assigned to this kernel shard.

- The targets of the kernel shard, which is a list of buffer shards, one per target buffer of the kernel being partitioned.

- The sources of the kernel shard, which is a list of buffer shards, one per source buffer of the kernel being partitioned.

Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: kernel
Type

petalisp.ir:kernel

Readers

kernel-shard-kernel.

Writers

This slot is read-only.

Slot: iteration-space
Type

petalisp-1.0:shape

Readers

kernel-shard-iteration-space.

Writers

This slot is read-only.

Slot: targets
Type

list

Initform

(quote nil)

Readers

kernel-shard-targets.

Writers

(setf kernel-shard-targets).

Slot: sources
Type

list

Initform

(quote nil)

Readers

kernel-shard-sources.

Writers

(setf kernel-shard-sources).

Structure: layout

A layout describes how the indices of a shape relate to a particular region of memory with linear addressing. After the partitioning, each buffer shard that is referenced at least once is assigned a layout. If a buffer shard has a layout, its children must have the same layout. A layout has the following slots:

- The strides, which is a vector of unsigned integers that describes the mapping from indices that are tuples of integers to a single integer that is the address of an element of this layout. Its Ith entry denotes the address increment when bumping the Ith component of an index by one.

- The offset, which is an integer that is the linear address corresponding to the index tuple of all zeros.

- The ntype of the elements of the layout.

- The size, i.e., the number of elements contained in the layout.

- The ghost layer alist, which is an association list whose keys are shapes and whose values are layouts. Its entries describe from where the ghost layers of this layout can be loaded.

Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: offset
Type

fixnum

Initform

0

Readers

layout-offset.

Writers

This slot is read-only.

Slot: strides
Type

(simple-array unsigned-byte (*))

Readers

layout-strides.

Writers

This slot is read-only.

Slot: ntype
Type

typo:ntype

Readers

layout-ntype.

Writers

This slot is read-only.

Slot: size
Type

unsigned-byte

Readers

layout-size.

Writers

This slot is read-only.

Slot: ghost-layer-alist
Type

list

Readers

layout-ghost-layer-alist.

Writers

(setf layout-ghost-layer-alist).

Slot: allocation
Readers

layout-allocation.

Writers

(setf layout-allocation).

Structure: lazy-array

A lazy array encapsulates some information that can be used to compute actual Common Lisp arrays.

Package

petalisp-1.0.

Source

lazy-array.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: shape
Type

petalisp-1.0:shape

Initform

(alexandria:required-argument :shape)

Readers

lazy-array-shape.

Writers

This slot is read-only.

Slot: ntype
Package

petalisp.core.

Type

typo:ntype

Initform

(alexandria:required-argument :ntype)

Readers

lazy-array-ntype.

Writers

This slot is read-only.

Slot: depth
Package

petalisp.core.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

lazy-array-depth.

Writers

This slot is read-only.

Slot: refcount
Package

petalisp.core.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

lazy-array-refcount.

Writers

(setf lazy-array-refcount).

Slot: delayed-action
Package

petalisp.core.

Type

petalisp.core:delayed-action

Initform

(alexandria:required-argument :delayed-action)

Readers

lazy-array-delayed-action.

Writers

(setf lazy-array-delayed-action).

Structure: load-instruction

A load instruction represents a read from main memory. It 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.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

load-or-store-instruction.

Direct methods
Structure: load-or-store-instruction
Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

iterating-instruction.

Direct subclasses
Direct slots
Slot: buffer
Type

petalisp.ir:buffer

Readers

instruction-buffer.

Writers

(setf instruction-buffer).

Structure: node
Package

petalisp.scheduling.

Source

scheduling.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: predecessor-alist
Type

list

Initform

(quote nil)

Readers

node-predecessor-alist.

Writers

(setf node-predecessor-alist).

Slot: successor-alist
Type

list

Initform

(quote nil)

Readers

node-successor-alist.

Writers

(setf node-successor-alist).

Slot: object
Readers

node-object.

Writers

(setf node-object).

Slot: depth
Type

unsigned-byte

Initform

0

Readers

node-depth.

Writers

(setf node-depth).

Slot: height
Type

unsigned-byte

Initform

0

Readers

node-height.

Writers

(setf node-height).

Slot: eagerness
Type

unsigned-byte

Initform

0

Readers

node-eagerness.

Writers

(setf node-eagerness).

Slot: affinity
Type

(or unsigned-byte null)

Readers

node-affinity.

Writers

(setf node-affinity).

Slot: counter
Type

unsigned-byte

Initform

0

Readers

node-counter.

Writers

(setf node-counter).

Slot: position
Package

common-lisp.

Readers

node-position.

Writers

(setf node-position).

Structure: non-empty-range

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.

Package

petalisp.core.

Source

range.lisp.

Direct superclasses

range.

Direct methods

print-object.

Direct slots
Slot: step
Package

common-lisp.

Type

(integer 1 *)

Readers

range-step.

Writers

This slot is read-only.

Slot: start
Type

integer

Readers

range-start.

Writers

This slot is read-only.

Structure: program

A program is the largest organizational unit in Petalisp’s IR and fully describes the semantics of a particular graph of lazy arrays. It has the following slots:

- The initial task, which is the unique task in the program with zero predecessors.

- The final task, which is the unique task in the program with zero successors.

- An association list where each entry has a key that is a leaf buffer and a value that is the corresponding lazy array.

- A list of all root buffers of the program in the order that they were submitted for evaluation.

- A simple vector that contains all the tasks in the program sorted by their task number.

- The number of buffers in the program.

- The number of kernels in the program.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: initial-task
Readers

program-initial-task.

Writers

(setf program-initial-task).

Slot: final-task
Readers

program-final-task.

Writers

(setf program-final-task).

Slot: leaf-alist
Type

list

Initform

(quote nil)

Readers

program-leaf-alist.

Writers

(setf program-leaf-alist).

Slot: root-buffers
Type

list

Initform

(quote nil)

Readers

program-root-buffers.

Writers

(setf program-root-buffers).

Slot: task-vector
Type

simple-vector

Initform

#()

Readers

program-task-vector.

Writers

(setf program-task-vector).

Slot: number-of-buffers
Type

(and unsigned-byte fixnum)

Initform

0

Readers

program-number-of-buffers.

Writers

(setf program-number-of-buffers).

Slot: number-of-kernels
Type

(and unsigned-byte fixnum)

Initform

0

Readers

program-number-of-kernels.

Writers

(setf program-number-of-kernels).

Structure: range

A range denotes a possibly empty set of integers.

Package

petalisp-1.0.

Source

range.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct slots
Slot: size
Package

petalisp.core.

Type

(integer 0 *)

Readers

range-size.

Writers

This slot is read-only.

Structure: shape

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).

Package

petalisp-1.0.

Source

shape.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: ranges
Package

petalisp.core.

Type

list

Readers

shape-ranges.

Writers

This slot is read-only.

Slot: rank
Package

petalisp.core.

Type

petalisp.core:rank

Readers

shape-rank.

Writers

This slot is read-only.

Slot: size
Package

petalisp.core.

Type

unsigned-byte

Readers

shape-size.

Writers

This slot is read-only.

Structure: shape-table
Package

petalisp.core.

Source

shape.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: ht
Type

hash-table

Initform

(make-hash-table :test (function equalp))

Readers

shape-table-ht.

Writers

This slot is read-only.

Structure: split

A split describes how an axis of an existing buffer shard is split into two smaller child buffer shards. Each split has the following slots:

- The axis at which the buffer-shard is split.

- The position of the smallest element of the right child’s range in the axis being split.

- The buffer shard that is the left child of the split.

- The buffer shard that is the right child of the split.

Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: axis
Package

petalisp.core.

Type

petalisp.core:axis

Readers

split-axis.

Writers

This slot is read-only.

Slot: position
Package

common-lisp.

Type

integer

Readers

split-position.

Writers

This slot is read-only.

Slot: left-child
Type

petalisp.ir:buffer-shard

Readers

split-left-child.

Writers

This slot is read-only.

Slot: right-child
Type

petalisp.ir:buffer-shard

Readers

split-right-child.

Writers

This slot is read-only.

Structure: stencil

A stencil is a set of either load or store instructions that all have the same buffer, kernel, output mask, and scalings, and whose offsets are off 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 a vector containing the averages of the offsets of its instructions rounded to the nearest integer.

Stencils are crucial for reasoning about memory locality. During buffer partitioning, memory that is accessed by exactly one stencil per kernel can be split by introducing ghost layers. The maximum distance of any offset from the stencil’s center determines the number of ghost layers that have to be introduced.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: center
Type

simple-vector

Readers

stencil-center.

Writers

(setf stencil-center).

Slot: instructions
Type

(cons petalisp.ir:load-or-store-instruction list)

Readers

stencil-instructions.

Writers

(setf stencil-instructions).

Structure: store-instruction

A store instruction represents a write to memory. It 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.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

load-or-store-instruction.

Direct methods
Structure: task

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.

Package

petalisp.ir.

Source

ir.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: program
Type

petalisp.ir:program

Initform

(quote nil)

Readers

task-program.

Writers

(setf task-program).

Slot: predecessors
Type

list

Initform

(quote nil)

Readers

task-predecessors.

Writers

(setf task-predecessors).

Slot: successors
Type

list

Initform

(quote nil)

Readers

task-successors.

Writers

(setf task-successors).

Slot: kernels
Type

list

Initform

(quote nil)

Readers

task-kernels.

Writers

(setf task-kernels).

Slot: defined-buffers
Type

list

Initform

(quote nil)

Readers

task-defined-buffers.

Writers

(setf task-defined-buffers).

Slot: number
Package

common-lisp.

Type

(and unsigned-byte fixnum)

Initform

0

Readers

task-number.

Writers

(setf task-number).

Structure: transformation

A transformation with input rank N and output rank M is a mapping from lists of length N to lists of rank M.

Package

petalisp-1.0.

Source

transformation.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods
Direct slots
Slot: input-rank
Package

petalisp.core.

Type

petalisp.core:rank

Readers

transformation-input-rank.

Writers

This slot is read-only.

Slot: output-rank
Package

petalisp.core.

Type

petalisp.core:rank

Readers

transformation-output-rank.

Writers

This slot is read-only.

Slot: input-mask
Package

petalisp.core.

Type

simple-vector

Readers

transformation-input-mask.

Writers

This slot is read-only.

Slot: output-mask
Package

petalisp.core.

Type

simple-vector

Readers

transformation-output-mask.

Writers

This slot is read-only.

Slot: scalings
Package

petalisp.core.

Type

simple-vector

Readers

transformation-scalings.

Writers

This slot is read-only.

Slot: offsets
Package

petalisp.core.

Type

simple-vector

Readers

transformation-offsets.

Writers

This slot is read-only.

Slot: inverse
Package

petalisp.core.

Type

(or boolean petalisp-1.0:transformation)

Readers

transformation-inverse.

Writers

(setf transformation-inverse).

Structure: vicinity
Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: left-neighbors-vec
Type

simple-vector

Readers

vicinity-left-neighbors-vec.

Writers

This slot is read-only.

Slot: right-neighbors-vec
Type

simple-vector

Readers

vicinity-right-neighbors-vec.

Writers

This slot is read-only.


5.1.9 Classes

Class: backend
Package

petalisp-1.0.

Source

backend.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: %debug-flag
Package

petalisp.core.

Type

boolean

Initargs

:debug

Readers

backend-debug-flag.

Writers

(setf backend-debug-flag).

Class: compile-cache-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct subclasses

backend.

Direct methods
Direct slots
Slot: %compile-cache
Type

petalisp.codegen::compile-cache

Initform

(petalisp.codegen::make-compile-cache)

Readers

compile-cache.

Writers

This slot is read-only.

Class: core
Package

petalisp.ir.

Source

device.lisp.

Direct methods
Direct slots
Slot: %name
Type

string

Initform

(alexandria:required-argument :name)

Initargs

:name

Readers

core-name.

Writers

This slot is read-only.

Slot: %memory
Type

petalisp.ir:memory

Initform

(alexandria:required-argument :memory)

Initargs

:memory

Readers

core-memory.

Writers

This slot is read-only.

Class: cpp-compiler-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct methods

compile-blueprint.

Class: cuda-compiler-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct methods

compile-blueprint.

Class: device
Package

petalisp.ir.

Source

device.lisp.

Direct methods
Direct slots
Slot: %name
Type

string

Initform

(alexandria:required-argument :name)

Initargs

:name

Readers

device-name.

Writers

This slot is read-only.

Slot: %memory
Type

petalisp.ir:memory

Initform

(alexandria:required-argument :memory)

Initargs

:memory

Readers

device-memory.

Writers

This slot is read-only.

Slot: %cores
Type

(vector petalisp.ir:core)

Initargs

:cores

Readers

device-cores.

Writers

This slot is read-only.

Class: lisp-compiler-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct subclasses

backend.

Direct methods

compile-blueprint.

Class: lisp-interpreter-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct methods

compile-blueprint.

Class: lisp-plus-cpp-compiler-mixin
Package

petalisp.codegen.

Source

mixins.lisp.

Direct methods

compile-blueprint.

Class: memory
Package

petalisp.ir.

Source

device.lisp.

Direct methods
Direct slots
Slot: %name
Type

string

Initform

(alexandria:required-argument :name)

Initargs

:name

Readers

memory-name.

Writers

This slot is read-only.

Slot: %parent
Type

(or null petalisp.ir:memory)

Initargs

:parent

Readers

memory-parent.

Writers

This slot is read-only.

Slot: %children
Type

list

Initform

(quote nil)

Initargs

:children

Readers
Writers

(setf memory-children-slot).

Slot: %cores
Type

list

Initform

(quote nil)

Initargs

:cores

Readers
Writers

(setf memory-cores-slot).

Slot: %size
Type

unsigned-byte

Initform

(alexandria:required-argument :size)

Initargs

:size

Readers

memory-size.

Writers

This slot is read-only.

Slot: %granularity
Type

unsigned-byte

Initform

(alexandria:required-argument :granularity)

Initargs

:granularity

Readers

memory-granularity.

Writers

This slot is read-only.

Slot: %latency
Type

unsigned-byte

Initform

(alexandria:required-argument :latency)

Initargs

:latency

Readers

memory-latency.

Writers

This slot is read-only.

Slot: %bandwidth
Type

unsigned-byte

Initform

(alexandria:required-argument :bandwidth)

Initargs

:bandwidth

Readers

memory-bandwidth.

Writers

This slot is read-only.

Slot: %parent-bandwidth
Type

(or null unsigned-byte)

Initargs

:parent-bandwidth

Readers

memory-parent-bandwidth.

Writers

This slot is read-only.

Class: request
Package

petalisp.core.

Source

backend.lisp.

Direct subclasses

completed-request.

Direct methods

5.1.10 Types

Type: axis ()
Package

petalisp.core.

Source

shape.lisp.

Type: index ()
Package

petalisp.codegen.

Source

indexing.lisp.

Type: rank ()
Package

petalisp.core.

Source

shape.lisp.


5.2 Internals


5.2.1 Constants

Constant: +argument-allocation-category+
Package

petalisp.native-backend.

Source

allocation.lisp.

Constant: +constant-allocation-category+
Package

petalisp.native-backend.

Source

allocation.lisp.

Constant: +empty-colorset+
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Constant: +n-fixnum-tag-bits+
Package

petalisp.native-backend.

Source

compilation.lisp.

Constant: +result-allocation-category+
Package

petalisp.native-backend.

Source

allocation.lisp.

Constant: +table-of-primes+
Package

petalisp.utilities.

Source

prime-factors.lisp.

Constant: +worker-allocation-category-offset+
Package

petalisp.native-backend.

Source

allocation.lisp.


5.2.2 Special variables

Special Variable: *alphabet*
Package

petalisp.api.

Source

transform.lisp.

Special Variable: *backend-compute-recursion*
Package

petalisp.core.

Source

backend.lisp.

Special Variable: *bpinfo-indices*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-instructions*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-ranges*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-reversed-functions*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-reversed-ioffsets*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-reversed-iscalings*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-reversed-levels*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-sources*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpinfo-targets*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpnames*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *bpvar-counter*
Package

petalisp.codegen.

Source

bpinfo.lisp.

Special Variable: *buffer-ghostspec-vector*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *buffer-shard-queue*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *buffer-shard-split-max-imbalance*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *buffer-shard-split-max-redundancy*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *buffer-shard-split-min-priority*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *buffer-shard-split-priority*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *check-count*
Package

petalisp.test-suite.

Source

test-suite.lisp.

Special Variable: *check-shards-buffer-shards*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *check-shards-kernel-shards*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *check-shards-table*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *check-shards-worklist*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *chunks*
Package

petalisp.codegen.

Source

ir-backend.lisp.

Special Variable: *failed-random-state*
Package

petalisp.test-suite.

Source

test-suite.lisp.

Special Variable: *free-variables*
Package

petalisp.api.

Source

transform.lisp.

Special Variable: *function-cpp-info-table*
Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Special Variable: *index-ntype*
Package

petalisp.codegen.

Source

indexing.lisp.

Special Variable: *instruction-table*
Package

petalisp.ir.

Source

ir-conversion.lisp.

Special Variable: *instruction-tables*
Package

petalisp.ir.

Source

ir-conversion.lisp.

Special Variable: *ir-checker-table*
Package

petalisp.ir.

Source

ir-checker.lisp.

Special Variable: *ir-checker-worklist*
Package

petalisp.ir.

Source

ir-checker.lisp.

Special Variable: *ir-converter*
Package

petalisp.ir.

Source

ir-conversion.lisp.

Special Variable: *k*
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Special Variable: *kernel-cluster-table*
Package

petalisp.graphviz.

Source

partitioning.lisp.

Special Variable: *layout-action-table*
Package

petalisp.native-backend.

Source

scheduling.lisp.

Special Variable: *nodes*
Package

petalisp.codegen.

Source

ir-backend.lisp.

Special Variable: *pass-count*
Package

petalisp.test-suite.

Source

test-suite.lisp.

Special Variable: *petalisp-view-directory*
Package

petalisp.graphviz.

Source

view.lisp.

Special Variable: *pin-current-thread-code*
Package

petalisp.native-backend.

Source

pin-current-thread.lisp.

Special Variable: *pin-current-thread-library*
Package

petalisp.native-backend.

Source

pin-current-thread.lisp.

Special Variable: *primogenitor-buffer-shard-vector*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *prune*
Package

petalisp.ir.

Source

ir-conversion.lisp.

Special Variable: *simulator-step*
Package

petalisp.native-backend.

Source

evaluator.lisp.

Special Variable: *small-kernel-p*

Whether a kernel is so small that there is no need including every detail in its blueprint.

Package

petalisp.codegen.

Source

blueprint.lisp.

Special Variable: *split-queue*
Package

petalisp.ir.

Source

partitioning.lisp.

Special Variable: *substitutions*
Package

petalisp.core.

Source

substitute-lazy-arrays.lisp.

Special Variable: *suffix-factors*
Package

petalisp.ir.

Source

device.lisp.

Special Variable: *table*
Package

petalisp.core.

Source

reference-backend.lisp.

Special Variable: *task-cluster-table*
Package

petalisp.graphviz.

Source

ir.lisp.

Special Variable: *test-count*
Package

petalisp.test-suite.

Source

test-suite.lisp.

Special Variable: *tests*
Package

petalisp.test-suite.

Source

test-suite.lisp.

Special Variable: *weight*
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Special Variable: *worker*
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Special Variable: *worklist*
Package

petalisp.codegen.

Source

ir-backend.lisp.


5.2.3 Macros

Macro: ad-record-input-gradient-cache (ad-record index)
Package

petalisp.api.

Source

differentiator.lisp.

Macro: bind (&body bindings)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Macro: buffer-dendrites (buffer)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Macro: defgenerator (name lambda-list &body body)
Package

petalisp.test-suite.

Source

defgenerator.lisp.

Macro: define-float-generator (type)
Package

petalisp.test-suite.

Source

generators.lisp.

Macro: defwrapper (name lambda-list &body body)
Package

petalisp.test-suite.

Source

defgenerator.lisp.

Macro: do-kernel-stencils ((stencil kernel &optional result) &body body)
Package

petalisp.ir.

Source

ir.lisp.

Macro: document-type (name &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: document-types (names &body body)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: ensure-instruction-clone (instruction clone-form)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Macro: expand-documentation (form &rest examples)
Package

petalisp.utilities.

Source

documentation.lisp.

Macro: maxf (place &rest numbers)
Package

petalisp.ir.

Source

partitioning.lisp.

Macro: with-collector ((result-fn gather-fn) &body body)
Package

petalisp.utilities.

Source

with-collectors.lisp.

Macro: with-random-state (&body body)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Macro: with-test-harness (&body body)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Macro: with-testing-backend (&body body)
Package

petalisp.test-suite.

Source

testing-backend.lisp.


5.2.4 Ordinary functions

Function: %make-cenv (&key backend schedule result-shapes result-ntypes argument-shapes argument-ntypes constant-arrays constant-storage-vectors allocations)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: %make-delayed-array (storage)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-delayed-fuse (&key inputs)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-delayed-map (&key fnrecord inputs)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-delayed-multiple-value-map (&key fnrecord inputs values-ntype refbits refbits-lock)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-delayed-nth-value (&key number input)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-delayed-reshape (&key transformation input)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: %make-dendrite (&key stem shape transformation depth cons)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: %make-denv (&key cenv result-arrays pointers serious-conditions serious-condition-lock request)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: %make-empty-range ()
Package

petalisp.core.

Source

range.lisp.

Function: %make-hairy-transformation (input-rank output-rank input-mask output-mask scalings offsets inverse)
Package

petalisp.core.

Source

transformation.lisp.

Function: %make-identity-transformation (input-rank output-rank input-mask output-mask scalings offsets inverse)
Package

petalisp.core.

Source

transformation.lisp.

Function: %make-kernel-shard (&key kernel iteration-space targets sources)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: %make-load-instruction (buffer transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: %make-shape (ranges rank size)
Package

petalisp.core.

Source

shape.lisp.

Function: %make-stencil (&key center instructions)
Package

petalisp.ir.

Source

ir.lisp.

Function: %make-store-instruction (inputs buffer transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: %make-worker (id worker-pool)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: %make-worker-pool (size)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: %requestp (object)
Package

petalisp.native-backend.

Source

request.lisp.

Reader: action-copy-invocations (instance)
Writer: (setf action-copy-invocations) (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

copy-invocations.

Reader: action-work-invocations (instance)
Writer: (setf action-work-invocations) (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

work-invocations.

Function: actionp (object)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Reader: ad-record-alist (instance)
Writer: (setf ad-record-alist) (instance)
Package

petalisp.api.

Source

differentiator.lisp.

Target Slot

alist.

Function: ad-record-input-gradient (ad-record index)
Package

petalisp.api.

Source

differentiator.lisp.

Reader: ad-record-input-gradient-caches (instance)
Writer: (setf ad-record-input-gradient-caches) (instance)
Package

petalisp.api.

Source

differentiator.lisp.

Target Slot

input-gradient-caches.

Reader: ad-record-lazy-array (instance)
Package

petalisp.api.

Source

differentiator.lisp.

Target Slot

lazy-array.

Function: ad-record-output-gradient (ad-record)
Package

petalisp.api.

Source

differentiator.lisp.

Reader: ad-record-output-gradient-cache (instance)
Writer: (setf ad-record-output-gradient-cache) (instance)
Package

petalisp.api.

Source

differentiator.lisp.

Target Slot

output-gradient-cache.

Function: add-child-kernel-shard (kernel-shard new-iteration-space)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: add-transformation-constraints (shape transformation)
Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: allocate-memory (allocation)
Package

petalisp.native-backend.

Source

allocation.lisp.

Reader: allocation-category (instance)
Writer: (setf allocation-category) (instance)
Package

petalisp.native-backend.

Source

allocation.lisp.

Target Slot

category.

Reader: allocation-color (instance)
Package

petalisp.native-backend.

Source

allocation.lisp.

Target Slot

color.

Reader: allocation-size-in-bytes (instance)
Package

petalisp.native-backend.

Source

allocation.lisp.

Target Slot

size-in-bytes.

Reader: allocation-unboxed (instance)
Writer: (setf allocation-unboxed) (instance)
Package

petalisp.native-backend.

Source

allocation.lisp.

Target Slot

unboxed.

Function: allocationp (object)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: argument-variables (n)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: array-element-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: array-size-in-bytes (array)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: array-storage-pointer (array)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: array-storage-vector (array)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: assign-layout (primogenitor-buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: assign-layout-ghost-layer-alist (buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: attempt-split (buffer-shard axis position)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: barrier ()
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: base-char-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf base-char-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: batcher-odd-even-shapes (n p k)
Package

petalisp.api.

Source

lazy-sort.lisp.

Function: bind-argument (denv argument index)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: bind-result (denv result index)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: blueprint-bpinfo (blueprint)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: blueprint-cpp-translatable-p (blueprint)

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.

Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Function: bpcall (number-of-values fn &rest args)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpcall-argument (bpcall &optional position)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpcall-arguments (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

arguments.

Reader: bpcall-function (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

function.

Function: bpcall-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpcall-value (bpcall &optional value-n)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpcall-values (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpcallp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpconstant-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpconstant-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpconstant-value (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

value.

Function: bpconstantp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpeval (instruction instruction-number)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpfunction-instruction-number (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpfunction-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpfunction-name (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpfunction-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpfunctionp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpindex* (&rest bpvalues)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpindex+ (&rest bpvalues)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpinfo-cpp-arguments (bpinfo)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Reader: bpinfo-functions (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

functions.

Reader: bpinfo-indices (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

indices.

Reader: bpinfo-instructions (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

instructions.

Reader: bpinfo-ioffsets (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

ioffsets.

Reader: bpinfo-iscalings (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

iscalings.

Reader: bpinfo-levels (instance)
Writer: (setf bpinfo-levels) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

levels.

Reader: bpinfo-ranges (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

ranges.

Function: bpinfo-rank (bpinfo)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpinfo-sources (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

sources.

Reader: bpinfo-targets (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

targets.

Function: bpinfop (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpinstinfo (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpinstinfo-instruction-number (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

instruction-number.

Function: bpinstinfo-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpinstinfo-name (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpinstinfo-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpinstruction-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

level.

Function: bpinstruction-value (bpinstruction &optional value-n)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpinstruction-values (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

values.

Function: bpinstruction-values-ntype (bpinstruction)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpinstructionp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpioffset-instruction-number (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpioffset-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpioffset-name (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpioffset-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpioffsetp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiref-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpiref-offset (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

offset.

Reader: bpiref-scaling (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

scaling.

Function: bpiref-values (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpirefp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiscaling-instruction-number (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiscaling-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiscaling-name (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiscaling-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpiscalingp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpload-index (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

index.

Function: bpload-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpload-source (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

source.

Function: bpload-values (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bploadp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpmemref-base (instance)
Writer: (setf bpmemref-base) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

base.

Reader: bpmemref-ntype (instance)
Writer: (setf bpmemref-ntype) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

ntype.

Reader: bpmemref-rank (instance)
Writer: (setf bpmemref-rank) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

rank.

Reader: bpmemref-start (instance)
Writer: (setf bpmemref-start) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

start.

Function: bpmemref-stencil (bpmemref index)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpmemref-stencils (instance)
Writer: (setf bpmemref-stencils) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

stencils.

Function: bpmemref-stride (bpmemref axis)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpmemref-strides (instance)
Writer: (setf bpmemref-strides) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

strides.

Function: bpmemrefp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpname (fmt &rest args)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bprange-end (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

end.

Reader: bprange-start (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

start.

Reader: bprange-step (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

step.

Function: bprangep (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpref (spec)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpstencil-center (instance)
Writer: (setf bpstencil-center) (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

center.

Reader: bpstencil-offsets (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

offsets.

Reader: bpstencil-scalings (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

scalings.

Function: bpstencilp (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpstore-index (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

index.

Function: bpstore-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpstore-target (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

target.

Reader: bpstore-value (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

value.

Function: bpstore-values (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpstorep (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpvalue-cffi-type (bpvalue)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: bpvalue-cpp-string (bpvalue)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: bpvalue-cpp-type (bpvalue)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Reader: bpvalue-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

level.

Reader: bpvalue-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

ntype.

Function: bpvaluep (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpvariable-level (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: bpvariable-name (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Target Slot

name.

Function: bpvariable-ntype (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: bpvariablep (object)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: broadcast-ranges (range-1 range-2)
Package

petalisp.api.

Source

broadcast.lisp.

Function: buffer-ghostspec (buffer)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: buffer-readers (instance)
Writer: (setf buffer-readers) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

readers.

Function: buffer-shard-add-reader (buffer-shard kernel-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-add-writer (buffer-shard kernel-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-bind (buffer-shard allocation)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: buffer-shard-chains (buffer-shard)

A list of all chains of buffer shards writing to buffer shard and its children. Useful for debugging.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-guardian (buffer-shard)

Returns the buffer shard’s oldest ancestor that has the same layout as this one. A buffer shard can be its own guardian.

Signals an error if the layout of the supplied buffer is NIL.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-infants (buffer-shard)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-label (buffer-shard)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Function: buffer-shard-more-important-p (buffer-shard-1 buffer-shard-2)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-port (buffer-shard)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Function: buffer-shard-queue-cleanup ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-queue-emptyp ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-queue-maybe-push (buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-queue-pop ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: buffer-shard-split-priority (buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: buffer-shard-split-priority-cache (instance)
Writer: (setf buffer-shard-split-priority-cache) (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

split-priority-cache.

Function: buffer-size-in-bytes (buffer)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: buffer-stencils-alist-blueprint (alist)
Package

petalisp.codegen.

Source

blueprint.lisp.

Reader: buffer-writers (instance)
Writer: (setf buffer-writers) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

writers.

Function: build-documentation (docstring example-forms example-thunks)
Package

petalisp.utilities.

Source

documentation.lisp.

Function: bytes-from-bits (bits)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: c128-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf c128-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: c64-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf c64-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: call-instruction-number (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf call-instruction-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: call-with-pinned-objects (objects thunk)
Package

petalisp.utilities.

Source

with-pinned-objects.lisp.

Function: call-with-random-state (thunk)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: call-with-test-harness (thunk)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: call-with-testing-backend (thunk)
Package

petalisp.test-suite.

Source

testing-backend.lisp.

Function: canonicalize-inputs (input-mask supplied-p input-rank)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: canonicalize-outputs (input-rank output-rank input-mask output-mask output-mask-supplied-p scalings scalings-supplied-p offsets offsets-supplied-p)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: canonicalize-transform-input (input)
Package

petalisp.api.

Source

transform.lisp.

Reader: cenv-allocations (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

allocations.

Reader: cenv-argument-ntypes (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

argument-ntypes.

Reader: cenv-argument-shapes (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

argument-shapes.

Reader: cenv-backend (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

backend.

Reader: cenv-constant-arrays (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

constant-arrays.

Reader: cenv-constant-storage-vectors (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

constant-storage-vectors.

Reader: cenv-result-ntypes (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

result-ntypes.

Reader: cenv-result-shapes (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

result-shapes.

Reader: cenv-schedule (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

schedule.

Function: cenvp (object)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: cgraph-p (object)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Reader: cgraph-table (instance)
Writer: (setf cgraph-table) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

table.

Function: character-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf character-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: check-cenv (cenv)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: check-ir-node-eventually (node)
Package

petalisp.ir.

Source

ir-checker.lisp.

Function: check-program (program)
Package

petalisp.ir.

Source

ir-checker.lisp.

Package

petalisp.ir.

Source

ir-checker.lisp.

Function: check-shard-eventually (shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: check-shards ()

Raise an error if any shards are malformed. Useful for debugging.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: class-name-p (symbol)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Reader: cnode-color (instance)
Writer: (setf cnode-color) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

color.

Reader: cnode-colorset (instance)
Writer: (setf cnode-colorset) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

colorset.

Reader: cnode-degree (instance)
Writer: (setf cnode-degree) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

degree.

Reader: cnode-neighbors (instance)
Writer: (setf cnode-neighbors) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

neighbors.

Reader: cnode-object (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

object.

Function: cnode-p (object)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Reader: cnode-queue-node (instance)
Writer: (setf cnode-queue-node) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

queue-node.

Reader: cnode-saturation (instance)
Writer: (setf cnode-saturation) (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Target Slot

saturation.

Function: cnode> (cnode1 cnode2)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: coerce-to-ntype (lazy-array ntype)
Package

petalisp.api.

Source

differentiator.lisp.

Function: collect-prune-buffer-dendrites-alist (buffer)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: colorset-add (colorset color)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: colorset-contains (colorset color)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: colorset-next-free-color (colorset)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: colorset-union (colorset1 colorset2)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: combine-subsets (subset1 subset2)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: combine-tuples (tuple1 tuple2)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: compare-solutions (solutions1 solutions2)
Package

petalisp.test-suite.

Source

testing-backend.lisp.

Function: compile-cache-p (object)
Package

petalisp.codegen.

Source

compile-cache.lisp.

Reader: compile-cache-table (instance)
Package

petalisp.codegen.

Source

compile-cache.lisp.

Target Slot

table.

Function: compute-allocations (schedule primogenitor-buffer-shard-vector unknowns backend)

Returns a vector of vectors of allocations, and ensures that each layout 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.

Package

petalisp.native-backend.

Source

allocation.lisp.

Function: compute-bpinfo-index (bprange level)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bpinfo-indices ()
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bpinfo-ranges (iteration-space)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bpmemref (spec prefix number)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bpmemrefs (specs prefix)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bprange (range-spec axis)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-bpstencil (irefs start strides prefix number index)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: compute-buffer-ghostspec (buffer)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: compute-buffer-shard-shape (domain buffer)

Extend the domain of a buffer shard with suitable ghost layers.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: compute-delayed-array (lazy-array)
Package

petalisp.core.

Source

reference-backend.lisp.

Function: compute-program-primogenitor-buffer-shard-vector (program)

Returns a vector whose Nth entry is the primogenitor buffer shard corresponding to the buffer with number N.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: compute-schedule (primogenitor-buffer-shard-vector backend)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: compute-transform-input-mask (input-constraints)
Package

petalisp.api.

Source

transform.lisp.

Function: compute-transform-output-functions (output-variables output-forms)
Package

petalisp.api.

Source

transform.lisp.

Function: copy-action (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: copy-allocation (instance)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: copy-bpcall (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpconstant (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpfunction (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpinfo (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpinstinfo (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpinstruction (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpioffset (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpiref (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpiscaling (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpload (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpmemref (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bprange (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpstencil (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpstore (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpvalue (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-bpvariable (instance)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: copy-buffer (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: copy-buffer-shard (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: copy-cenv (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: copy-cgraph (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: copy-cnode (instance)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: copy-compile-cache (instance)
Package

petalisp.codegen.

Source

compile-cache.lisp.

Function: copy-delayed-array (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-failure (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-fuse (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-map (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-multiple-value-map (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-nop (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-nth-value (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-range (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-reshape (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-unknown (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-delayed-wait (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: copy-dendrite (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: copy-denv (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: copy-ghostspec (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: copy-graph (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: copy-invocation (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: copy-ir-converter (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: copy-kernel (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: copy-kernel-shard (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: copy-layout (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: copy-node (instance)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Function: copy-node (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: copy-node-into (node other-node)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: copy-nucleus (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: copy-pdfs-queue (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: copy-program (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: copy-prune (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: copy-simulated-memory (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: copy-split (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: copy-stem (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: copy-subset (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: copy-task (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: copy-tuple (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: copy-vicinity (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: count-mapped-elements (map-fn what)
Package

petalisp.ir.

Source

ir.lisp.

Function: cpp-compile-blueprint (client blueprint)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: cpp-translate-argument (argument)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: cpp-translate-blueprint (client blueprint)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: cpp-write-defun (bpinfo name arguments stream)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: cpp-write-instructions (bpinfo level stream)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Function: cpp-write-loop (bpinfo level stream)
Package

petalisp.codegen.

Source

cpp-compiler.lisp.

Reader: cqueue-h-lock (instance)
Writer: (setf cqueue-h-lock) (instance)
Package

petalisp.cqueue.

Source

cqueue.lisp.

Target Slot

h-lock.

Reader: cqueue-head (instance)
Writer: (setf cqueue-head) (instance)
Package

petalisp.cqueue.

Source

cqueue.lisp.

Target Slot

head.

Reader: cqueue-t-lock (instance)
Writer: (setf cqueue-t-lock) (instance)
Package

petalisp.cqueue.

Source

cqueue.lisp.

Target Slot

t-lock.

Reader: cqueue-tail (instance)
Writer: (setf cqueue-tail) (instance)
Package

petalisp.cqueue.

Source

cqueue.lisp.

Target Slot

tail.

Function: defgeneric-name-p (symbol)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: defined-by-graphviz (&rest args)
Package

petalisp.core.

Source

inspect.lisp.

Function: defun-name-p (symbol)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Reader: delayed-multiple-value-map-refbits-lock (instance)
Writer: (setf delayed-multiple-value-map-refbits-lock) (instance)
Package

petalisp.core.

Source

lazy-array.lisp.

Target Slot

refbits-lock.

Function: delete-kernel (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Reader: dendrite-cons (instance)
Writer: (setf dendrite-cons) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

cons.

Reader: dendrite-depth (instance)
Writer: (setf dendrite-depth) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

depth.

Function: dendrite-kernel (dendrite)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: dendrite-nucleus (dendrite)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: dendrite-p (object)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: dendrite-shape (instance)
Writer: (setf dendrite-shape) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

shape.

Reader: dendrite-stem (instance)
Writer: (setf dendrite-stem) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

stem.

Reader: dendrite-transformation (instance)
Writer: (setf dendrite-transformation) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

transformation.

Function: dendrite-validp (dendrite)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: dendrite-value-n (dendrite)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: denv-cenv (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

cenv.

Reader: denv-pointers (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

pointers.

Reader: denv-request (instance)
Writer: (setf denv-request) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

request.

Reader: denv-result-arrays (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

result-arrays.

Reader: denv-serious-condition-lock (instance)
Writer: (setf denv-serious-condition-lock) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

serious-condition-lock.

Reader: denv-serious-conditions (instance)
Writer: (setf denv-serious-conditions) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

serious-conditions.

Function: denvp (object)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: destructure-transformoid (transformoid)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: differs-exactly-at (index)
Package

petalisp.ir.

Source

ir.lisp.

Function: duplicates (list)
Package

petalisp.ir.

Source

ir-checker.lisp.

Function: empty-range-size (instance)
Package

petalisp.core.

Source

range.lisp.

Function: ensure-actions (buffer-shard backend)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: ensure-buffer-task (buffer program)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: ensure-documentation (name new-value kind)
Package

petalisp.utilities.

Source

documentation.lisp.

Function: ensure-instruction-table (kernel transformation)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: ensure-kernel-shard-invocation (kernel-shard backend)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: ensure-node (kernel ir-backend)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Function: ensure-nucleus (lazy-array)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: ensure-result (cenv index result)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: ensure-tasks (root-buffers)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: enter-test (test-name)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: evaluate (denv)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: evaluator-template (number-of-results number-of-arguments)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: event-horizon (buffers depth)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: execute-node (node)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Function: expand-transform (forms)
Package

petalisp.api.

Source

transform.lisp.

Function: expect-condition (expected thunk)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: f32-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf f32-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: f64-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf f64-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: factorize-shape (shape start end)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: fallback-host-device ()
Package

petalisp.ir.

Source

device.lisp.

Function: file-open-p (file)
Package

petalisp.graphviz.

Source

view.lisp.

Function: finalize-buffer (buffer)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: finalize-ir (root-buffers)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: finalize-kernel (kernel)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: find-optimal-buffer-shard-split-axis (buffer-shard)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: find-optimal-buffer-shard-split-position (buffer-shard 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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: find-prune (buffer)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: fixnum-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf fixnum-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: flatten (thing)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: fnrecord-blueprint (fnrecord)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: fragment-difference-list (fragment1 fragment2)
Package

petalisp.core.

Source

shape.lisp.

Function: fragment-intersections (fragment1 fragment2)
Package

petalisp.core.

Source

shape.lisp.

Function: free-memory (allocation memory)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: free-variables (expression candidates)
Package

petalisp.api.

Source

transform.lisp.

Function: from-storage-transformation (shape)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: function-cpp-info (function-name)

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.

Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Function: function-cpp-translatable-p (function-name)
Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Function: fusion-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: generate-double-float (&rest rest77 &key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-integer (&rest rest29 &key min max)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-lazy-array (&rest rest49 &key element-type element-generator shape-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-long-float (&rest rest77 &key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-matrix (&rest rest69 &key element-type element-generator size-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-range (&rest rest34 &key start-generator step-generator size-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-shape (&rest rest35 &key rank-generator range-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-short-float (&rest rest65 &key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: generate-single-float (&rest rest65 &key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: get-result (denv index)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Reader: ghostspec-buffer (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

buffer.

Function: ghostspec-left-padding (ghostspec axis)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: ghostspec-left-padding-vec (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

left-padding-vec.

Reader: ghostspec-pattern (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

pattern.

Function: ghostspec-right-padding (ghostspec axis)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: ghostspec-right-padding-vec (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

right-padding-vec.

Function: ghostspecp (object)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: graph-compute-distances (graph get-distance set-distance input-alist output-alist)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: graph-compute-node-depth (graph)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: graph-compute-node-height (graph)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: grow-dendrite (dendrite lazy-array)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: hairy-transformation-input-mask (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-input-rank (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-inverse (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: (setf hairy-transformation-inverse) (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-offsets (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-output-mask (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-output-rank (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-p (object)
Package

petalisp.core.

Source

transformation.lisp.

Function: hairy-transformation-scalings (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: hide-buffers (references)
Package

petalisp.graphviz.

Source

ir.lisp.

Function: identity-transformation-input-mask (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-input-rank (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-inverse (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: (setf identity-transformation-inverse) (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-offsets (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-output-mask (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-output-rank (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: identity-transformation-scalings (instance)
Package

petalisp.core.

Source

transformation.lisp.

Function: indices-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: insert-axis-after (lazy-array axis k)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: insert-axis-before (lazy-array axis k)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: insert-copy-kernel (iteration-space target-buffer source-buffer)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: instruction-blueprints (kernel)
Package

petalisp.codegen.

Source

blueprint.lisp.

Reader: instruction-buffer (instance)
Writer: (setf instruction-buffer) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

buffer.

Function: interpret-kernel (kernel iteration-space targets sources environment)
Package

petalisp.codegen.

Source

lisp-interpreter.lisp.

Reader: invocation-iteration-space (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

iteration-space.

Reader: invocation-kernel (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

kernel.

Reader: invocation-kfn (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

kfn.

Reader: invocation-sources (instance)
Writer: (setf invocation-sources) (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

sources.

Reader: invocation-targets (instance)
Writer: (setf invocation-targets) (instance)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Target Slot

targets.

Function: invocationp (object)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: ir-backend-array (alist index)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Reader: ir-converter-array-table (instance)
Writer: (setf ir-converter-array-table) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

array-table.

Reader: ir-converter-buffer-dendrites-table (instance)
Writer: (setf ir-converter-buffer-dendrites-table) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

buffer-dendrites-table.

Reader: ir-converter-cons-updates (instance)
Writer: (setf ir-converter-cons-updates) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

cons-updates.

Function: ir-converter-empty-p (ir-converter)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: ir-converter-kernel-size-threshold (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

kernel-size-threshold.

Reader: ir-converter-leaf-alist (instance)
Writer: (setf ir-converter-leaf-alist) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

leaf-alist.

Function: ir-converter-next-nucleus (ir-converter)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: ir-converter-nucleus-table (instance)
Writer: (setf ir-converter-nucleus-table) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

nucleus-table.

Function: ir-converter-p (object)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: ir-converter-potentially-superfluous-buffers (instance)
Writer: (setf ir-converter-potentially-superfluous-buffers) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

potentially-superfluous-buffers.

Reader: ir-converter-pqueue (instance)
Writer: (setf ir-converter-pqueue) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

pqueue.

Reader: ir-converter-scalar-table (instance)
Writer: (setf ir-converter-scalar-table) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

scalar-table.

Reader: ir-converter-unknown-table (instance)
Writer: (setf ir-converter-unknown-table) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

unknown-table.

Function: iref-instruction-inputs (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf iref-instruction-inputs) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: iref-instruction-number (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf iref-instruction-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: jacobi-test ()
Package

petalisp.test-suite.

Source

petalisp.examples.lisp.

Function: kernel-cluster (kernel)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Reader: kernel-data (instance)
Writer: (setf kernel-data) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

data.

Function: kernel-highest-instruction-number (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-number-of-inputs (kernel)
Package

petalisp.ir.

Source

ir.lisp.

Function: kernel-shard-label (kernel-shard)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Function: layout-bind (layout allocation)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: layout-label (layout domain shape)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Function: layout-size-in-bytes (layout)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: lazy-array-size-in-bytes (lazy-array)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: lazy-array-value (lazy-array index)
Package

petalisp.core.

Source

reference-backend.lisp.

Function: lazy-keysort (x y predicate)
Package

petalisp.api.

Source

lazy-sort.lisp.

Function: lazy-map-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: lazy-multireshape (lazy-arrays &rest modifiers)
Package

petalisp.api.

Source

lazy-reduce.lisp.

Function: lazy-rearrange-test ()
Package

petalisp.test-suite.

Source

petalisp.api.lisp.

Function: lazy-rearrange/normalized (lazy-array output-shape)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: lazy-reduce-aux (function lazy-arrays)
Package

petalisp.api.

Source

lazy-reduce.lisp.

Function: lazy-reshape-aux (lazy-array modifier)

An auxiliary function for LAZY-RESHAPE that processes a single modifier.

Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: lazy-reshape-using-function (lazy-array function)
Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: lazy-reshape-using-shape (lazy-array shape)
Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: lazy-reshape-using-transformation (lazy-array transformation)
Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: lazy-sort-test ()
Package

petalisp.test-suite.

Source

petalisp.api.lisp.

Function: lazy-valuesort (x predicate)
Package

petalisp.api.

Source

lazy-sort.lisp.

Function: linear-algebra-test ()
Package

petalisp.test-suite.

Source

petalisp.examples.lisp.

Function: linux-host-device ()
Package

petalisp.ir.

Source

device.lisp.

Function: lisp-compile-blueprint (client blueprint)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: lisp-translate-blueprint (client blueprint)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: listify-range-for-printing (range)
Package

petalisp.api.

Source

shape-syntax.lisp.

Function: listify-shape-for-printing (shape)
Package

petalisp.api.

Source

shape-syntax.lisp.

Function: load-instruction-inputs (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf load-instruction-inputs) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: load-instruction-number (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf load-instruction-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: macro-name-p (symbol)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: make-action (&key copy-invocations work-invocations)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: make-ad-record (lazy-array)
Package

petalisp.api.

Source

differentiator.lisp.

Function: make-allocation (&key size-in-bytes category unboxed color)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: make-bpcall (&key level values function arguments)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpconstant (value)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpfunction (instruction-number)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpinfo (&key ranges indices targets sources functions ioffsets iscalings instructions levels)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpinstruction (&key level values)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpioffset (instruction-number)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpiref (&key level values offset scaling)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpiscaling (instruction-number)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpload (&key level values source index)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpmemref (&key ntype rank base start strides stencils)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bprange (&key start end step)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpstencil (&key center offsets scalings)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpstore (&key level values target index value)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpvalue (&key level ntype)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-bpvariable (&key level ntype name)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Function: make-broadcasting-transformation (source-shape target-shape &optional position)

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.

Package

petalisp.api.

Source

broadcast.lisp.

Function: make-buffer-shard (&key buffer parent domain shape writers readers split-priority-cache split layout)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-buffer-shard-queue ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-call-form (function &rest arguments)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: make-call-instruction (number-of-values fnrecord inputs)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-cenv (backend unknowns lazy-arrays)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: make-cnode (&key neighbors object color colorset saturation degree queue-node)
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Function: make-compile-cache (&key table)
Package

petalisp.codegen.

Source

compile-cache.lisp.

Function: make-copy-invocation (iteration-space target source backend)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: make-delayed-failure (&key condition)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-fuse (&key inputs)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-map (&key fnrecord inputs)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-multiple-value-map (&key fnrecord inputs values-ntype refbits)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-nop (&key)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-nth-value (&key number input)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-range (&key)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-reshape (&key transformation input)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-unknown (&key)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-delayed-wait (&key request delayed-action)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-dendrite (nucleus shape buffers)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-denv (cenv)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: make-double-float-generator (&key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-ghostspec (&key buffer left-padding-vec right-padding-vec pattern)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-html-label (&key caption properties)
Package

petalisp.graphviz.

Source

utilities.lisp.

Function: make-html-table-row (property)
Package

petalisp.graphviz.

Source

utilities.lisp.

Function: make-identity-transformation (rank)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: make-integer-generator (&key min max)

Generate an integer between MIN (inclusive) and MAX (exclusive).

Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-invocation (&key kfn kernel iteration-space targets sources)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: make-ir-converter (&key pqueue nucleus-table array-table scalar-table unknown-table leaf-alist cons-updates kernel-size-threshold potentially-superfluous-buffers buffer-dendrites-table)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-iref-instruction (transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-kernel-shard (&key kernel iteration-space targets sources)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-layout (&key offset strides ntype size ghost-layer-alist allocation)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-lazy-array (&key shape ntype depth refcount delayed-action)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: make-lazy-array-generator (&key element-type element-generator shape-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-load-instruction (kernel buffer transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-long-float-generator (&key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-matrix-generator (&key element-type element-generator size-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-node (&key kernel dependencies users fn)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Function: make-node (&key predecessor-alist successor-alist object depth height eagerness affinity counter position)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: make-non-empty-range (start step size)
Package

petalisp.core.

Source

range.lisp.

Function: make-nucleus (lazy-array)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-pdfs-queue ()
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: make-prune (&key bits buffers)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-range (start end step)
Package

petalisp.core.

Source

range.lisp.

Function: make-range-generator (&key start-generator step-generator size-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-request (&key lock cvar done)
Package

petalisp.native-backend.

Source

request.lisp.

Function: make-reshape-transformation (target-shape source-shape)

Returns a transformation that maps every element of the supplied target shape to an element of the supplied source shape. Signals an error if the supplied shapes don’t have the same rank.

Package

petalisp.core.

Source

lazy-reshape.lisp.

Function: make-shape-generator (&key rank-generator range-generator)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-short-float-generator (&key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-simulated-memory (allocation)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: make-single-float-generator (&key mean standard-deviation)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: make-split (&key axis position left-child right-child)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-split-queue ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-stem (&key nucleus kernel buffers validp)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-store-instruction (kernel input buffer transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: make-subset (&key elements weight)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: make-substitute-kernel (kernel)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: make-table-of-primes (size)
Package

petalisp.utilities.

Source

prime-factors.lisp.

Function: make-transform-transformation (input-mask output-mask functions variables forms)
Package

petalisp.api.

Source

transform.lisp.

Function: make-tuple (&key subsets weight)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: make-vicinity (&key left-neighbors-vec right-neighbors-vec)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: make-work-invocation (kernel-shard backend)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: make-worker-pool (size)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: maxdepth (lazy-arrays)
Package

petalisp.core.

Source

lazy-array.lisp.

Function: maybe-add-to-stencil (instruction stencil)
Package

petalisp.ir.

Source

ir.lisp.

Function: maybe-prune (prune)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: merge-actions (action1 action2)
Package

petalisp.native-backend.

Source

scheduling.lisp.

Function: mergeable-dendrites-p (d1 d2)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: message (format-string &rest arguments)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: mksym (fmt &rest args)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: multiple-arguments ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: native-backend-unpack (layout denv)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: ndarray (rank)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: next-bpvar (&key level ntype)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Reader: node-affinity (instance)
Writer: (setf node-affinity) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

affinity.

Reader: node-counter (instance)
Writer: (setf node-counter) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

counter.

Reader: node-dependencies (instance)
Writer: (setf node-dependencies) (instance)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Target Slot

dependencies.

Reader: node-eagerness (instance)
Writer: (setf node-eagerness) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

eagerness.

Reader: node-fn (instance)
Writer: (setf node-fn) (instance)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Target Slot

fn.

Reader: node-kernel (instance)
Writer: (setf node-kernel) (instance)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Target Slot

kernel.

Function: node-more-important-p (node1 node2)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Reader: node-object (instance)
Writer: (setf node-object) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

object.

Function: node-p (object)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Reader: node-position (instance)
Writer: (setf node-position) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

position.

Reader: node-users (instance)
Writer: (setf node-users) (instance)
Package

petalisp.codegen.

Source

ir-backend.lisp.

Target Slot

users.

Function: nth-prime-max-bits (n)
Package

petalisp.utilities.

Source

prime-factors.lisp.

Function: nth-prime-upper-bound (n)
Package

petalisp.utilities.

Source

prime-factors.lisp.

Function: ntype-bits-per-element (ntype)
Package

petalisp.native-backend.

Source

allocation.lisp.

Function: ntype-cpp-info (ntype &optional errorp)
Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Function: ntype-cpp-translatable-p (ntype)
Package

petalisp.codegen.

Source

cpp-from-lisp.lisp.

Function: ntype-unboxed-p (ntype)
Package

petalisp.native-backend.

Source

allocation.lisp.

Reader: nucleus-dendrites (instance)
Writer: (setf nucleus-dendrites) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

dendrites.

Reader: nucleus-lazy-array (instance)
Writer: (setf nucleus-lazy-array) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

lazy-array.

Function: nucleus-ntype (nucleus)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: nucleus-p (object)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: nucleus-shape (nucleus)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: parse-cache-type (string)
Package

petalisp.ir.

Source

device.lisp.

Function: parse-defwrapper-lambda-list (lambda-list)
Package

petalisp.test-suite.

Source

defgenerator.lisp.

Function: parse-integer-set (string)
Package

petalisp.ir.

Source

device.lisp.

Function: parse-shape (syntax)
Package

petalisp.api.

Source

shape-syntax.lisp.

Function: parse-shape-pattern (syntax)
Package

petalisp.api.

Source

shape-syntax.lisp.

Function: parse-size (string &key start end)
Package

petalisp.ir.

Source

device.lisp.

Function: parse-transform-inputs (inputs)
Package

petalisp.api.

Source

transform.lisp.

Function: parse-transform-output (output input-variables)
Package

petalisp.api.

Source

transform.lisp.

Function: parse-transform-outputs (outputs input-variables)
Package

petalisp.api.

Source

transform.lisp.

Function: partition-dendrites (dendrites)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: pass ()
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: pdfs-queue-increase-node-eagerness (pdfs-queue node increment)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: pdfs-queue-p (object)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: pdfs-queue-pop (pdfs-queue)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Reader: pdfs-queue-priority-queue (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

priority-queue.

Function: pdfs-queue-push (pdfs-queue node)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Function: pdfs-queue-size (pdfs-queue)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Reader: pdfs-queue-tmpnode (instance)
Writer: (setf pdfs-queue-tmpnode) (instance)
Package

petalisp.scheduling.

Source

scheduling.lisp.

Target Slot

tmpnode.

Function: pin-current-thread (cpu-number)

Ensure that the current thread will only run on the specified CPU. Returns whether the pinning was successful.

Package

petalisp.native-backend.

Source

pin-current-thread.lisp.

Function: plist-union (&rest plists)
Package

petalisp.graphviz.

Source

utilities.lisp.

Function: potentially-superfluous-buffer-p (buffer dendrites)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: primogenitor-buffer-shard (buffer)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: print-package-statistics (package &optional stream)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: print-platform-information (&optional stream)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: print-system-statistics (system &optional stream)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: propagate-split (split)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: propagate-split/bmap (function kernel-shard axis position)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: propagate-split/kmap (function buffer-shard axis position)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Reader: prune-bits (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

bits.

Reader: prune-buffers (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

buffers.

Function: prune-p (object)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: prune-superfluous-buffers (potentially-superfluous-buffers)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: purge-unused-files-in-directory (directory)

Delete all files in the supplied directory that are not currently open.

Package

petalisp.graphviz.

Source

view.lisp.

Function: range-difference-list--contiguous (start1 last1 start2 last2 step2 make-range-fn)
Package

petalisp.core.

Source

range.lisp.

Function: range-difference-list--single (range index)
Package

petalisp.core.

Source

range.lisp.

Function: range-intersection-start-end-step (range1 range2)
Package

petalisp.core.

Source

range.lisp.

Function: range-peeler (amount-specifier)
Package

petalisp.api.

Source

reshapers.lisp.

Function: range-slicer (slice-specifier)
Package

petalisp.api.

Source

reshapers.lisp.

Function: range-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: ranges-blueprint (ranges)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: rbgs-test ()
Package

petalisp.test-suite.

Source

petalisp.examples.lisp.

Function: recompute-kernel-instruction-vector (kernel)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: recompute-program-task-vector (program)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: reduction-of-fusions ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: reduction-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: reference-to-delayed-unknown ()
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: refine-buffer-shard (iteration-space transformoid buffer-shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: refine-kernel-shard (kernel-shard)

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.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: refine-source (kernel-or-kernel-shard iteration-space source)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: refine-target (kernel-or-kernel-shard iteration-space target)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: register-free-variable (free-variable)
Package

petalisp.api.

Source

transform.lisp.

Function: relative-position (iteration-space transformoid axis position)

Returns either :LEFT, :RIGHT, or :BOTH, depending how the iteration space relates to the supplied transformoid.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: remove-axis-after (lazy-array axis)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: remove-axis-before (lazy-array axis)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: report (test-count pass-count)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Reader: request-cvar (instance)
Package

petalisp.native-backend.

Source

request.lisp.

Target Slot

cvar.

Reader: request-done (instance)
Writer: (setf request-done) (instance)
Package

petalisp.native-backend.

Source

request.lisp.

Target Slot

done.

Reader: request-lock (instance)
Package

petalisp.native-backend.

Source

request.lisp.

Target Slot

lock.

Function: reshape-randomly (array)
Package

petalisp.test-suite.

Source

generators.lisp.

Function: reshape-test ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: reshape/flatten (lazy-array start end)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: reshape/unflatten (lazy-array shape start end)
Package

petalisp.api.

Source

lazy-rearrange.lisp.

Function: result-variables (n)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: reverse-transform-axis-and-position (transformoid axis position)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: s16-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf s16-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: s32-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf s32-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: s64-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf s64-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: s8-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf s8-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: select-masked-elements (list bitmask)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Function: shape-strides (shape)
Package

petalisp.ir.

Source

partitioning.lisp.

Reader: shape-table-ht (instance)
Package

petalisp.core.

Source

shape.lisp.

Target Slot

ht.

Function: simplify-array (array)

Returns an array with the same shape and elements as ARRAY, but that is guaranteed to be simple.

Package

petalisp.core.

Source

lazy-array.lisp.

Function: simplify-input (input)
Package

petalisp.ir.

Source

ir.lisp.

Function: simplify-input (input)
Package

petalisp.graphviz.

Source

ir.lisp.

Function: simulate-cenv-evaluation (cenv)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: simulate-references (layout shape)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Reader: simulated-memory-allocation (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

allocation.

Reader: simulated-memory-generation (instance)
Writer: (setf simulated-memory-generation) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

generation.

Reader: simulated-memory-mode (instance)
Writer: (setf simulated-memory-mode) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

mode.

Function: simulated-memory-p (object)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: simulated-memory-read-index (simulated-memory index)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: simulated-memory-read-shape (simulated-memory shape)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Reader: simulated-memory-table (instance)
Writer: (setf simulated-memory-table) (instance)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Target Slot

table.

Function: simulated-memory-write-index (simulated-memory index)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: simulated-memory-write-shape (simulated-memory shape)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Function: size-one-range-removing-transformation (shape)
Package

petalisp.core.

Source

transformation-constructors.lisp.

Function: split-label (split)
Package

petalisp.graphviz.

Source

partitioning.lisp.

Function: split-more-important-p (split-1 split-2)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: split-queue-emptyp ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: split-queue-pop ()
Package

petalisp.ir.

Source

partitioning.lisp.

Function: split-queue-push (split)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: start-worker (worker)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Reader: stem-buffers (instance)
Writer: (setf stem-buffers) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

buffers.

Reader: stem-kernel (instance)
Writer: (setf stem-kernel) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

kernel.

Reader: stem-nucleus (instance)
Writer: (setf stem-nucleus) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

nucleus.

Function: stem-p (object)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Reader: stem-validp (instance)
Writer: (setf stem-validp) (instance)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Target Slot

validp.

Function: stencil-instruction-offsets (stencil instruction)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: stencils-blueprint (stencils)
Package

petalisp.codegen.

Source

blueprint.lisp.

Function: store-instruction-inputs (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf store-instruction-inputs) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-number (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: (setf store-instruction-number) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Function: store-instruction-offsets (store-instruction)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: store-instruction-scalings (store-instruction)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Function: stringify (x)
Package

petalisp.graphviz.

Source

utilities.lisp.

Function: subdivide-fragments (old-fragments new-fragment)

Takes a list of fragments whose shapes are disjoint, and one new
fragment, and returns a list of disjoint fragments that partition the old fragments and the new fragment. The resulting list consists of three parts:

1. One fragment for each old fragment that has an intersection with the new fragment. Its shape is that intersection, and its mask is the LOGIOR of the mask of the old fragment and the mask of the new fragment.

2. All elements of the fragment difference list of any old fragment and the new fragment. Their masks are the same as those of the old fragment they were derived from.

3. Fragments that, together, cover every part of the new fragment that is not already covered by the intersections from the first step. Each one has the same mask as the new fragment.

Package

petalisp.core.

Source

shape.lisp.

Reader: subset-elements (instance)
Writer: (setf subset-elements) (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Target Slot

elements.

Function: subset-p (object)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Reader: subset-weight (instance)
Writer: (setf subset-weight) (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Target Slot

weight.

Function: subtract-fragment-lists (fragment-list1 fragment-list2)
Package

petalisp.core.

Source

shape.lisp.

Function: suffix-factor (suffix)
Package

petalisp.ir.

Source

device.lisp.

Function: sum-axis (array axis)
Package

petalisp.api.

Source

differentiator.lisp.

Function: sum-of-pairs ()
Package

petalisp.test-suite.

Source

petalisp.core.lisp.

Function: symbol-defined-p (symbol)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: symbol-methods (symbol)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: system-git-revision (system)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: system-source-file-pathnames (system)
Package

petalisp.test-suite.

Source

code-statistics.lisp.

Function: task-cluster (task)
Package

petalisp.graphviz.

Source

ir.lisp.

Reader: task-defined-buffers (instance)
Writer: (setf task-defined-buffers) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

defined-buffers.

Reader: task-kernels (instance)
Writer: (setf task-kernels) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

kernels.

Reader: task-predecessors (instance)
Writer: (setf task-predecessors) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

predecessors.

Reader: task-successors (instance)
Writer: (setf task-successors) (instance)
Package

petalisp.ir.

Source

ir.lisp.

Target Slot

successors.

Function: touch (object)
Package

petalisp.utilities.

Source

with-pinned-objects.lisp.

Function: transform-axis-and-position (transformoid axis position)
Package

petalisp.ir.

Source

partitioning.lisp.

Function: transform-buffer (buffer transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: transform-kernel (kernel transformation)
Package

petalisp.ir.

Source

ir.lisp.

Function: transformation-input-symbol (position)
Package

petalisp.api.

Source

transform.lisp.

Reader: transformation-inverse (instance)
Writer: (setf transformation-inverse) (instance)
Package

petalisp.core.

Source

transformation.lisp.

Target Slot

inverse.

Function: trivial-object-p (object)

Returns whether the supplied OBJECT is an array, a lazy array that can be cheaply converted to an array, or a scalar.

Package

petalisp.core.

Source

lazy-array.lisp.

Function: trivial-object-value (object)

Returns the value of an OBJECT that is trivial in the sense of TRIVIAL-OBJECT-P.

Package

petalisp.core.

Source

lazy-array.lisp.

Function: tuple-from-object (object)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: tuple-p (object)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: tuple-subset (tuple index)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Reader: tuple-subsets (instance)
Writer: (setf tuple-subsets) (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Target Slot

subsets.

Reader: tuple-weight (instance)
Writer: (setf tuple-weight) (instance)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Target Slot

weight.

Function: tuple> (tuple1 tuple2)
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Function: type-specifier-p (object)
Package

petalisp.test-suite.

Source

test-suite.lisp.

Function: u1-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u1-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u16-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u16-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u2-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u2-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u32-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u32-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u4-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u4-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u64-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u64-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: u8-memref (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Function: (setf u8-memref) (pointer offset)
Package

petalisp.native-backend.

Source

compilation.lisp.

Ensure that no buffer shards reference this kernel shard.

Package

petalisp.ir.

Source

partitioning.lisp.

Function: v-cycle-test ()
Package

petalisp.test-suite.

Source

petalisp.examples.lisp.

Function: value-blueprint (value)
Package

petalisp.codegen.

Source

blueprint.lisp.

Reader: vicinity-left-neighbors-vec (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

left-neighbors-vec.

Reader: vicinity-right-neighbors-vec (instance)
Package

petalisp.ir.

Source

partitioning.lisp.

Target Slot

right-neighbors-vec.

Reader: worker-barrier-sense (instance)
Writer: (setf worker-barrier-sense) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

barrier-sense.

Function: worker-enqueue (worker thunk)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: worker-evaluate (denv)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Reader: worker-id (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

id.

Function: worker-loop ()
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: worker-pool-active (worker-pool)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Reader: worker-pool-barrier-countdown (instance)
Writer: (setf worker-pool-barrier-countdown) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

barrier-countdown.

Reader: worker-pool-barrier-sense (instance)
Writer: (setf worker-pool-barrier-sense) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

barrier-sense.

Function: worker-pool-join (worker-pool)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Reader: worker-pool-liveness (instance)
Writer: (setf worker-pool-liveness) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

liveness.

Function: worker-pool-p (object)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: worker-pool-size (worker-pool)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Function: worker-pool-worker (worker-pool worker-id)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Reader: worker-pool-workers (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

workers.

Reader: worker-queue (instance)
Writer: (setf worker-queue) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

queue.

Reader: worker-serious-conditions (instance)
Writer: (setf worker-serious-conditions) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

serious-conditions.

Function: worker-synchronize-and-invoke (denv invocations)
Package

petalisp.native-backend.

Source

evaluator.lisp.

Reader: worker-thread (instance)
Writer: (setf worker-thread) (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

thread.

Reader: worker-worker-pool (instance)
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Target Slot

worker-pool.

Function: workerp (object)
Package

petalisp.native-backend.

Source

worker-pool.lisp.


5.2.5 Generic functions

Generic Function: approximately-equal (a b)
Package

petalisp.test-suite.

Source

testing-backend.lisp.

Methods
Method: approximately-equal ((a double-float) (b double-float))
Method: approximately-equal ((a single-float) (b single-float))
Method: approximately-equal ((array-1 array) (array-2 array))
Method: approximately-equal (a b)
Method: approximately-equal ((a delayed-array) (b delayed-array))
Generic Reader: backend-worker-pool (backend)
Package

petalisp.native-backend.

Source

backend.lisp.

Methods
Reader Method: backend-worker-pool ((backend backend))

automatically generated reader method

Target Slot

%worker-pool.

Generic Function: bpinstruction-form (client bpinstruction)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Methods
Method: bpinstruction-form (client (bpcall bpcall))
Method: bpinstruction-form (client (bpload bpload))
Method: bpinstruction-form (client (bpstore bpstore))
Method: bpinstruction-form (client (bpiref bpiref))
Generic Function: bpvalue-form (client bpvalue)
Package

petalisp.codegen.

Source

lisp-compiler.lisp.

Methods
Method: bpvalue-form (client (bpconstant bpconstant))
Method: bpvalue-form (client (bpvariable bpvariable))
Generic Function: bpvalue= (v1 v2)
Package

petalisp.codegen.

Source

bpinfo.lisp.

Methods
Method: bpvalue= ((v1 bpvariable) (v2 bpvariable))
Method: bpvalue= ((v1 bpconstant) (v2 bpconstant))
Method: bpvalue= ((v1 bpvalue) (v2 bpvalue))
Generic Function: check-ir-node (node)
Package

petalisp.ir.

Source

ir-checker.lisp.

Methods
Method: check-ir-node ((task task))
Method: check-ir-node :after ((store-instruction store-instruction))
Method: check-ir-node ((instruction instruction))
Method: check-ir-node ((kernel kernel))
Method: check-ir-node ((buffer buffer))
Method: check-ir-node ((program program))
Method: check-ir-node :around (object)
Generic Function: check-shard (shard)
Package

petalisp.ir.

Source

partitioning.lisp.

Methods
Method: check-shard ((kernel-shard kernel-shard))
Method: check-shard ((buffer-shard buffer-shard))
Generic Function: clone-reference (value-n instruction kernel transformation)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Methods
Method: clone-reference ((value-n (eql 0)) (load-instruction load-instruction) (kernel kernel) (transformation transformation))
Method: clone-reference ((value-n (eql 0)) (iref-instruction iref-instruction) (kernel kernel) (transformation transformation))
Method: clone-reference ((value-n integer) (call-instruction call-instruction) (kernel kernel) (transformation transformation))
Generic Reader: compile-cache (object)
Package

petalisp.codegen.

Methods
Reader Method: compile-cache ((compile-cache-mixin compile-cache-mixin))

automatically generated reader method

Source

mixins.lisp.

Target Slot

%compile-cache.

Generic Function: compose-two-transformations (g f)
Package

petalisp.core.

Source

transformation.lisp.

Methods
Method: compose-two-transformations ((g hairy-transformation) (f hairy-transformation))
Method: compose-two-transformations ((g transformation) (f identity-transformation))
Method: compose-two-transformations ((g identity-transformation) (f transformation))
Method: compose-two-transformations :before ((g transformation) (f transformation))
Generic Function: convert-nucleus (nucleus lazy-array delayed-action)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Methods
Method: convert-nucleus ((nucleus nucleus) (lazy-array lazy-array) (delayed-multiple-value-map delayed-multiple-value-map))
Method: convert-nucleus ((nucleus nucleus) (lazy-array lazy-array) (delayed-action delayed-action))
Method: convert-nucleus :around ((nucleus nucleus) (lazy-array lazy-array) (delayed-action delayed-action))
Generic Function: delayed-action-value (delayed-action index)
Package

petalisp.core.

Source

reference-backend.lisp.

Methods
Method: delayed-action-value ((delayed-failure delayed-failure) index)
Method: delayed-action-value ((delayed-unknown delayed-unknown) index)
Method: delayed-action-value ((delayed-nop delayed-nop) index)
Method: delayed-action-value ((delayed-array delayed-array) index)
Method: delayed-action-value ((delayed-range delayed-range) index)
Method: delayed-action-value ((delayed-fuse delayed-fuse) index)
Method: delayed-action-value ((delayed-reshape delayed-reshape) index)
Method: delayed-action-value ((delayed-nth-value delayed-nth-value) index)
Method: delayed-action-value ((delayed-multiple-value-map delayed-multiple-value-map) index)
Method: delayed-action-value ((delayed-map delayed-map) index)
Generic Function: graphviz-default-graph (node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Methods
Method: graphviz-default-graph ((node node))
Source

scheduling.lisp.

Method: graphviz-default-graph ((node buffer-shard))
Source

partitioning.lisp.

Method: graphviz-default-graph ((node kernel-shard))
Source

partitioning.lisp.

Method: graphviz-default-graph ((node buffer))
Source

ir.lisp.

Method: graphviz-default-graph ((node kernel))
Source

ir.lisp.

Method: graphviz-default-graph ((node lazy-array))
Source

data-flow-graph.lisp.

Method: graphviz-default-graph ((list cons))
Method: graphviz-default-graph (node)
Method: graphviz-default-graph :around (node)
Generic Function: graphviz-edge-attributes (graph edge from to edge-number)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

graphviz-attributes.

Methods
Method: graphviz-edge-attributes ((graph scheduling-graph) (edge scheduling-edge) (from node) (to node) (n integer))
Source

scheduling.lisp.

Method: graphviz-edge-attributes ((graph class-diagram) (edge direct-subclass-edge) (from class) (to class) edge-number)
Source

class-diagram.lisp.

Method: graphviz-edge-attributes ((graph partitioning-graph) (edge writer-edge) (from kernel-shard) (to buffer-shard) n)
Source

partitioning.lisp.

Method: graphviz-edge-attributes ((graph partitioning-graph) (edge reader-edge) (to buffer-shard) (from kernel-shard) n)
Source

partitioning.lisp.

Method: graphviz-edge-attributes ((graph petalisp-graph) (edge petalisp-edge) form to edge-number)
Source

petalisp.lisp.

Method: graphviz-edge-attributes ((graph any-graph) (edge any-edge) from to edge-number)
Generic Function: graphviz-graph-attributes (graph)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

graphviz-attributes.

Methods
Method: graphviz-graph-attributes ((graph class-diagram))
Source

class-diagram.lisp.

Method: graphviz-graph-attributes ((graph petalisp-graph))
Source

petalisp.lisp.

Method: graphviz-graph-attributes ((graph any-graph))
Generic Function: graphviz-incoming-edge-origins (graph edge node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Methods
Method: graphviz-incoming-edge-origins ((graph class-diagram) (edge direct-subclass-edge) (class class))
Source

class-diagram.lisp.

Method: graphviz-incoming-edge-origins ((graph ir-graph) (edge load-edge) (kernel kernel))
Source

ir.lisp.

Method: graphviz-incoming-edge-origins ((graph ir-graph) (edge input-edge) (buffer buffer))
Source

ir.lisp.

Method: graphviz-incoming-edge-origins ((graph data-flow-graph) (edge data-flow-edge) (lazy-array lazy-array))
Source

data-flow-graph.lisp.

Method: graphviz-incoming-edge-origins ((graph any-graph) (edge any-edge) node)
Generic Function: graphviz-known-nodes (graph node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

append.

Options

:most-specific-first

Methods
Method: graphviz-known-nodes append ((graph scheduling-graph) (node node))
Source

scheduling.lisp.

Method: graphviz-known-nodes append ((graph any-graph) node)
Generic Function: graphviz-node-attributes (graph node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

graphviz-attributes.

Methods
Method: graphviz-node-attributes ((graph ir-graph) (node buffer))
Source

ir.lisp.

Method: graphviz-node-attributes ((graph ir-graph) (node kernel))
Source

ir.lisp.

Method: graphviz-node-attributes ((graph data-flow-graph) (node delayed-reshape))
Source

data-flow-graph.lisp.

Method: graphviz-node-attributes ((graph data-flow-graph) (node delayed-fuse))
Source

data-flow-graph.lisp.

Method: graphviz-node-attributes ((graph data-flow-graph) (node delayed-map))
Source

data-flow-graph.lisp.

Method: graphviz-node-attributes ((graph data-flow-graph) (node delayed-array))
Source

data-flow-graph.lisp.

Method: graphviz-node-attributes ((graph data-flow-graph) (node lazy-array))
Source

data-flow-graph.lisp.

Method: graphviz-node-attributes ((graph petalisp-graph) node)
Source

petalisp.lisp.

Method: graphviz-node-attributes ((graph any-graph) node)
Generic Function: graphviz-node-caption (graph node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Methods
Method: graphviz-node-caption ((graph data-flow-graph) (node lazy-array))
Source

data-flow-graph.lisp.

Method: graphviz-node-caption ((graph any-graph) node)
Generic Function: graphviz-node-properties (graph node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

append.

Options

:most-specific-first

Methods
Method: graphviz-node-properties append ((graph scheduling-graph) (node node))
Source

scheduling.lisp.

Method: graphviz-node-properties append ((graph ir-graph) (kernel kernel))
Source

ir.lisp.

Method: graphviz-node-properties append ((graph ir-graph) (buffer buffer))
Source

ir.lisp.

Method: graphviz-node-properties append ((graph data-flow-graph) (node delayed-reshape))
Source

data-flow-graph.lisp.

Method: graphviz-node-properties append ((graph data-flow-graph) (node delayed-map))
Source

data-flow-graph.lisp.

Method: graphviz-node-properties append ((graph data-flow-graph) (delayed-array delayed-array))
Source

data-flow-graph.lisp.

Method: graphviz-node-properties append ((graph data-flow-graph) (delayed-nth-value delayed-nth-value))
Source

data-flow-graph.lisp.

Method: graphviz-node-properties append ((graph data-flow-graph) (node lazy-array))
Source

data-flow-graph.lisp.

Method: graphviz-node-properties append ((graph any-graph) node)
Generic Function: graphviz-outgoing-edge-targets (graph edge node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Methods
Method: graphviz-outgoing-edge-targets ((graph scheduling-graph) (edge scheduling-edge) (node node))
Source

scheduling.lisp.

Method: graphviz-outgoing-edge-targets ((graph ir-graph) (edge store-edge) (kernel kernel))
Source

ir.lisp.

Method: graphviz-outgoing-edge-targets ((graph ir-graph) (edge output-edge) (buffer buffer))
Source

ir.lisp.

Method: graphviz-outgoing-edge-targets ((graph any-graph) (edge any-edge) node)
Generic Function: graphviz-potential-edges (graph node)
Package

petalisp.graphviz.

Source

protocol.lisp.

Method Combination

append.

Options

:most-specific-first

Methods
Method: graphviz-potential-edges append ((graph scheduling-graph) node)
Source

scheduling.lisp.

Method: graphviz-potential-edges append ((graph class-diagram) (class class))
Source

class-diagram.lisp.

Method: graphviz-potential-edges append ((graph ir-graph) node)
Source

ir.lisp.

Method: graphviz-potential-edges append ((graph data-flow-graph) node)
Source

data-flow-graph.lisp.

Method: graphviz-potential-edges append ((graph any-graph) node)
Generic Function: grow-dendrite-aux (dendrite lazy-array delayed-action)
Package

petalisp.ir.

Source

ir-conversion.lisp.

Methods
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-failure delayed-failure))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-wait delayed-wait))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-unknown delayed-unknown))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-range delayed-range))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-array delayed-array))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-nth-value delayed-nth-value))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-map delayed-map))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-reshape delayed-reshape))
Method: grow-dendrite-aux ((dendrite dendrite) (lazy-array lazy-array) (delayed-fuse delayed-fuse))
Method: grow-dendrite-aux :around ((dendrite dendrite) (lazy-array lazy-array) (delayed-action delayed-action))
Generic Function: input-gradient (lazy-array delayed-action output-gradient index)
Package

petalisp.api.

Source

differentiator.lisp.

Methods
Method: input-gradient ((lazy-array lazy-array) (delayed-reshape delayed-reshape) (output-gradient lazy-array) (index (eql 0)))
Method: input-gradient ((lazy-array lazy-array) (delayed-fuse delayed-fuse) (output-gradient lazy-array) index)
Method: input-gradient ((lazy-array lazy-array) (delayed-map delayed-map) (output-gradient lazy-array) index)
Generic Function: instruction-blueprint (instruction kernel)
Package

petalisp.codegen.

Source

blueprint.lisp.

Methods
Method: instruction-blueprint ((iref-instruction iref-instruction) (kernel kernel))
Method: instruction-blueprint ((store-instruction store-instruction) (kernel kernel))
Method: instruction-blueprint ((load-instruction load-instruction) (kernel kernel))
Method: instruction-blueprint ((call-instruction call-instruction) (kernel kernel))
Generic Reader: ir-backend-compile-cache (object)
Package

petalisp.codegen.

Methods
Reader Method: ir-backend-compile-cache ((ir-backend ir-backend))

automatically generated reader method

Source

ir-backend.lisp.

Target Slot

%compile-cache.

Generic Reader: ir-backend-compiled (object)
Package

petalisp.test-suite.

Methods
Reader Method: ir-backend-compiled ((testing-backend testing-backend))

automatically generated reader method

Source

testing-backend.lisp.

Target Slot

%ir-backend-compiled.

Generic Reader: ir-backend-interpreted (object)
Package

petalisp.test-suite.

Methods
Reader Method: ir-backend-interpreted ((testing-backend testing-backend))

automatically generated reader method

Source

testing-backend.lisp.

Target Slot

%ir-backend-interpreted.

Generic Reader: ir-backend-mode (object)
Package

petalisp.codegen.

Methods
Reader Method: ir-backend-mode ((ir-backend ir-backend))

automatically generated reader method

Source

ir-backend.lisp.

Target Slot

%mode.

Generic Reader: memory-children-slot (object)
Package

petalisp.ir.

Methods
Reader Method: memory-children-slot ((memory memory))

automatically generated reader method

Source

device.lisp.

Target Slot

%children.

Generic Writer: (setf memory-children-slot) (object)
Package

petalisp.ir.

Methods
Writer Method: (setf memory-children-slot) ((memory memory))

automatically generated writer method

Source

device.lisp.

Target Slot

%children.

Generic Reader: memory-cores-slot (object)
Package

petalisp.ir.

Methods
Reader Method: memory-cores-slot ((memory memory))

automatically generated reader method

Source

device.lisp.

Target Slot

%cores.

Generic Writer: (setf memory-cores-slot) (object)
Package

petalisp.ir.

Methods
Writer Method: (setf memory-cores-slot) ((memory memory))

automatically generated writer method

Source

device.lisp.

Target Slot

%cores.

Generic Reader: native-backend (object)
Package

petalisp.test-suite.

Methods
Reader Method: native-backend ((testing-backend testing-backend))

automatically generated reader method

Source

testing-backend.lisp.

Target Slot

%native-backend.

Generic Reader: reference-backend (object)
Package

petalisp.test-suite.

Methods
Reader Method: reference-backend ((testing-backend testing-backend))

automatically generated reader method

Source

testing-backend.lisp.

Target Slot

%reference-backend.

Generic Reader: serious-conditions (condition)
Package

petalisp.native-backend.

Methods
Reader Method: serious-conditions ((condition evaluation-failure))
Source

evaluator.lisp.

Target Slot

%serious-conditions.

Generic Function: transform-instruction-input (instruction transformation)
Package

petalisp.ir.

Source

ir.lisp.

Methods
Method: transform-instruction-input ((instruction instruction) (transformation transformation))
Method: transform-instruction-input ((instruction iterating-instruction) (transformation transformation))
Generic Function: transform-instruction-output (instruction transformation)
Package

petalisp.ir.

Source

ir.lisp.

Methods
Method: transform-instruction-output ((instruction instruction) (transformation transformation))
Method: transform-instruction-output ((instruction iterating-instruction) (transformation transformation))
Generic Function: trivial-lazy-array-p (lazy-array delayed-action)

Returns whether the supplied LAZY-ARRAYS and its DELAYED-ACTION have a corresponding deflated array that can be obtained cheaply.

Package

petalisp.core.

Source

lazy-array.lisp.

Methods
Method: trivial-lazy-array-p ((lazy-array lazy-array) (delayed-action delayed-action))
Method: trivial-lazy-array-p ((lazy-array lazy-array) (delayed-array delayed-array))
Method: trivial-lazy-array-p ((lazy-array lazy-array) (delayed-reshape delayed-reshape))
Generic Function: trivial-lazy-array-value (lazy-array delayed-action)

Obtain the array corresponding to the supplied LAZY-ARRAY, which must be trivial in the sense of TRIVIAL-LAZY-ARRAY-P.

Package

petalisp.core.

Source

lazy-array.lisp.

Methods
Method: trivial-lazy-array-value ((lazy-array lazy-array) (delayed-array delayed-array))
Method: trivial-lazy-array-value ((lazy-array lazy-array) (delayed-reshape delayed-reshape))

5.2.6 Method combinations

Method Combination: graphviz-attributes ()
Package

petalisp.graphviz.

Source

utilities.lisp.

Client Functions

5.2.7 Conditions

Condition: evaluation-failure
Package

petalisp.native-backend.

Source

evaluator.lisp.

Direct superclasses

error.

Direct methods

serious-conditions.

Direct slots
Slot: %serious-conditions
Initform

(quote (alexandria:required-argument :serious-conditions))

Initargs

:serious-conditions

Readers

serious-conditions.

Writers

This slot is read-only.


5.2.8 Structures

Structure: action

An action consists of two lists of invocations that are processed by a worker:

1. A list of copy invocations that transfer data from the ghost layers of adjacent workers.

2. A list of work invocations that initialize the interior of their targets.

Package

petalisp.native-backend.

Source

scheduling.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: copy-invocations
Type

list

Initform

(quote nil)

Readers

action-copy-invocations.

Writers

(setf action-copy-invocations).

Slot: work-invocations
Type

list

Initform

(quote nil)

Readers

action-work-invocations.

Writers

(setf action-work-invocations).

Structure: ad-record
Package

petalisp.api.

Source

differentiator.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: lazy-array
Package

petalisp-1.0.

Type

petalisp-1.0:lazy-array

Readers

ad-record-lazy-array.

Writers

This slot is read-only.

Slot: alist
Type

list

Readers

ad-record-alist.

Writers

(setf ad-record-alist).

Slot: output-gradient-cache
Type

(or null petalisp-1.0:lazy-array)

Readers

ad-record-output-gradient-cache.

Writers

(setf ad-record-output-gradient-cache).

Slot: input-gradient-caches
Type

vector

Readers

ad-record-input-gradient-caches.

Writers

(setf ad-record-input-gradient-caches).

Structure: allocation
Package

petalisp.native-backend.

Source

allocation.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: size-in-bytes
Type

unsigned-byte

Readers

allocation-size-in-bytes.

Writers

This slot is read-only.

Slot: category
Type

unsigned-byte

Readers

allocation-category.

Writers

(setf allocation-category).

Slot: unboxed
Type

boolean

Readers

allocation-unboxed.

Writers

(setf allocation-unboxed).

Slot: color
Type

unsigned-byte

Readers

allocation-color.

Writers

This slot is read-only.

Structure: bpcall
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstruction.

Direct methods

bpinstruction-form.

Direct slots
Slot: function
Package

common-lisp.

Type

(or petalisp.codegen::bpfunction petalisp.codegen::bpconstant)

Readers

bpcall-function.

Writers

This slot is read-only.

Slot: arguments
Type

(simple-array petalisp.codegen::bpvalue (*))

Initform

#()

Readers

bpcall-arguments.

Writers

This slot is read-only.

Structure: bpconstant
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpvalue.

Direct methods
Direct slots
Slot: value
Readers

bpconstant-value.

Writers

This slot is read-only.

Structure: bpfunction
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstinfo.

Structure: bpinfo
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: ranges
Type

(simple-array petalisp.codegen::bprange (*))

Readers

bpinfo-ranges.

Writers

This slot is read-only.

Slot: indices
Type

(simple-array petalisp.codegen::bpvalue (*))

Readers

bpinfo-indices.

Writers

This slot is read-only.

Slot: targets
Type

(simple-array petalisp.codegen::bpmemref (*))

Readers

bpinfo-targets.

Writers

This slot is read-only.

Slot: sources
Type

(simple-array petalisp.codegen::bpmemref (*))

Readers

bpinfo-sources.

Writers

This slot is read-only.

Slot: functions
Type

list

Readers

bpinfo-functions.

Writers

This slot is read-only.

Slot: ioffsets
Type

list

Readers

bpinfo-ioffsets.

Writers

This slot is read-only.

Slot: iscalings
Type

list

Readers

bpinfo-iscalings.

Writers

This slot is read-only.

Slot: instructions
Type

(simple-array petalisp.codegen::bpinstruction (*))

Readers

bpinfo-instructions.

Writers

This slot is read-only.

Slot: levels
Type

(simple-array list (*))

Readers

bpinfo-levels.

Writers

(setf bpinfo-levels).

Structure: bpinstinfo
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpvariable.

Direct subclasses
Direct slots
Slot: instruction-number
Package

petalisp.ir.

Type

unsigned-byte

Readers

bpinstinfo-instruction-number.

Writers

This slot is read-only.

Structure: bpinstruction
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct slots
Slot: level
Type

unsigned-byte

Readers

bpinstruction-level.

Writers

This slot is read-only.

Slot: values
Package

common-lisp.

Type

(simple-array petalisp.codegen::bpvariable (*))

Initform

#()

Readers

bpinstruction-values.

Writers

This slot is read-only.

Structure: bpioffset
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstinfo.

Structure: bpiref
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstruction.

Direct methods

bpinstruction-form.

Direct slots
Slot: offset
Type

petalisp.codegen::bpvariable

Readers

bpiref-offset.

Writers

This slot is read-only.

Slot: scaling
Type

petalisp.codegen::bpvalue

Readers

bpiref-scaling.

Writers

This slot is read-only.

Structure: bpiscaling
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstinfo.

Structure: bpload
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstruction.

Direct methods

bpinstruction-form.

Direct slots
Slot: source
Type

petalisp.codegen::bpmemref

Readers

bpload-source.

Writers

This slot is read-only.

Slot: index
Type

petalisp.codegen::bpvalue

Readers

bpload-index.

Writers

This slot is read-only.

Structure: bpmemref
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: ntype
Type

typo:ntype

Readers

bpmemref-ntype.

Writers

(setf bpmemref-ntype).

Slot: rank
Package

petalisp.core.

Type

petalisp.core:rank

Readers

bpmemref-rank.

Writers

(setf bpmemref-rank).

Slot: base
Type

petalisp.codegen::bpvariable

Readers

bpmemref-base.

Writers

(setf bpmemref-base).

Slot: start
Type

petalisp.codegen::bpvariable

Readers

bpmemref-start.

Writers

(setf bpmemref-start).

Slot: strides
Type

(simple-array petalisp.codegen::bpvalue (*))

Readers

bpmemref-strides.

Writers

(setf bpmemref-strides).

Slot: stencils
Type

(simple-array petalisp.codegen::bpstencil (*))

Readers

bpmemref-stencils.

Writers

(setf bpmemref-stencils).

Structure: bprange
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: start
Type

petalisp.codegen::bpvariable

Readers

bprange-start.

Writers

This slot is read-only.

Slot: end
Type

petalisp.codegen::bpvariable

Readers

bprange-end.

Writers

This slot is read-only.

Slot: step
Package

common-lisp.

Type

petalisp.codegen::bpvalue

Readers

bprange-step.

Writers

This slot is read-only.

Structure: bpstencil
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: center
Type

petalisp.codegen::bpvalue

Readers

bpstencil-center.

Writers

(setf bpstencil-center).

Slot: offsets
Type

(simple-array petalisp.codegen::bpvariable (*))

Readers

bpstencil-offsets.

Writers

This slot is read-only.

Slot: scalings
Type

(simple-array petalisp.codegen::bpvalue (*))

Readers

bpstencil-scalings.

Writers

This slot is read-only.

Structure: bpstore
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpinstruction.

Direct methods

bpinstruction-form.

Direct slots
Slot: target
Type

petalisp.codegen::bpmemref

Readers

bpstore-target.

Writers

This slot is read-only.

Slot: index
Type

petalisp.codegen::bpvalue

Readers

bpstore-index.

Writers

This slot is read-only.

Slot: value
Type

petalisp.codegen::bpvalue

Readers

bpstore-value.

Writers

This slot is read-only.

Structure: bpvalue
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods

bpvalue=.

Direct slots
Slot: level
Type

unsigned-byte

Initform

0

Readers

bpvalue-level.

Writers

This slot is read-only.

Slot: ntype
Type

typo:ntype

Initform

(typo:universal-ntype)

Readers

bpvalue-ntype.

Writers

This slot is read-only.

Structure: bpvariable
Package

petalisp.codegen.

Source

bpinfo.lisp.

Direct superclasses

bpvalue.

Direct subclasses

bpinstinfo.

Direct methods
Direct slots
Slot: name
Type

typo:variable-name

Readers

bpvariable-name.

Writers

This slot is read-only.

Structure: cenv
Package

petalisp.native-backend.

Source

evaluator.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: backend
Type

petalisp.native-backend::backend

Readers

cenv-backend.

Writers

This slot is read-only.

Slot: schedule
Type

list

Readers

cenv-schedule.

Writers

This slot is read-only.

Slot: result-shapes
Type

(simple-array petalisp-1.0:shape (*))

Readers

cenv-result-shapes.

Writers

This slot is read-only.

Slot: result-ntypes
Type

(simple-array typo:ntype (*))

Readers

cenv-result-ntypes.

Writers

This slot is read-only.

Slot: argument-shapes
Type

(simple-array petalisp-1.0:shape (*))

Readers

cenv-argument-shapes.

Writers

This slot is read-only.

Slot: argument-ntypes
Type

(simple-array typo:ntype (*))

Readers

cenv-argument-ntypes.

Writers

This slot is read-only.

Slot: constant-arrays
Type

(simple-array array (*))

Readers

cenv-constant-arrays.

Writers

This slot is read-only.

Slot: constant-storage-vectors
Type

(simple-array vector (*))

Readers

cenv-constant-storage-vectors.

Writers

This slot is read-only.

Slot: allocations
Type

(simple-array simple-vector (*))

Readers

cenv-allocations.

Writers

This slot is read-only.

Structure: cgraph
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: table
Initform

(make-hash-table)

Readers

cgraph-table.

Writers

(setf cgraph-table).

Structure: cnode
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: neighbors
Type

list

Initform

(quote nil)

Readers

cnode-neighbors.

Writers

(setf cnode-neighbors).

Slot: object
Initform

(alexandria:required-argument :object)

Readers

cnode-object.

Writers

This slot is read-only.

Slot: color
Type

(or petalisp.utilities::color null)

Readers

cnode-color.

Writers

(setf cnode-color).

Slot: colorset
Type

petalisp.utilities::colorset

Initform

petalisp.utilities::+empty-colorset+

Readers

cnode-colorset.

Writers

(setf cnode-colorset).

Slot: saturation
Type

(and unsigned-byte fixnum)

Initform

0

Readers

cnode-saturation.

Writers

(setf cnode-saturation).

Slot: degree
Type

(and unsigned-byte fixnum)

Initform

0

Readers

cnode-degree.

Writers

(setf cnode-degree).

Slot: queue-node
Readers

cnode-queue-node.

Writers

(setf cnode-queue-node).

Structure: compile-cache
Package

petalisp.codegen.

Source

compile-cache.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: table
Type

hash-table

Initform

(make-hash-table :test (function eql) :synchronized t)

Readers

compile-cache-table.

Writers

This slot is read-only.

Structure: dendrite

A dendrite describes a set of indices and their mapping to the
iteration space of the dendrite’s stem. The dendrite holds a reference to an input of a not-yet-fully-initialized instruction and its job is to suitably initialize this instruction input. It has the following slots:

- A reference to the stem from which the dendrite originates.

- A shape that describes the indices being referenced.

- A transformation from the dendrite’s shape to the iteration space of the dendrite’s stem’s kernel.

- The depth of the nucleus that was most recently visited by the dendrite.

- The cons cell whose CDR should be set to the next instruction being emitted, and whose CAR is an integer denoting which of the multiple values of that instruction is being referenced.

Package

petalisp.ir.

Source

ir-conversion.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: stem
Type

petalisp.ir::stem

Readers

dendrite-stem.

Writers

(setf dendrite-stem).

Slot: shape
Package

petalisp-1.0.

Type

petalisp-1.0:shape

Readers

dendrite-shape.

Writers

(setf dendrite-shape).

Slot: transformation
Package

petalisp-1.0.

Type

petalisp-1.0:transformation

Readers

dendrite-transformation.

Writers

(setf dendrite-transformation).

Slot: depth
Type

unsigned-byte

Readers

dendrite-depth.

Writers

(setf dendrite-depth).

Slot: cons
Package

common-lisp.

Type

cons

Readers

dendrite-cons.

Writers

(setf dendrite-cons).

Structure: denv
Package

petalisp.native-backend.

Source

evaluator.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: cenv
Type

petalisp.native-backend::cenv

Initform

(alexandria:required-argument :cenv)

Readers

denv-cenv.

Writers

This slot is read-only.

Slot: result-arrays
Type

(simple-array array (*))

Initform

(alexandria:required-argument :result-arrays)

Readers

denv-result-arrays.

Writers

This slot is read-only.

Slot: pointers
Type

(simple-array simple-vector (*))

Readers

denv-pointers.

Writers

This slot is read-only.

Slot: serious-conditions
Type

list

Readers

denv-serious-conditions.

Writers

(setf denv-serious-conditions).

Slot: serious-condition-lock
Type

bt2:lock

Initform

(bt2:make-lock :name "denv serious condition lock")

Readers

denv-serious-condition-lock.

Writers

(setf denv-serious-condition-lock).

Slot: request
Type

petalisp.native-backend::request

Readers

denv-request.

Writers

(setf denv-request).

Structure: ghostspec
Package

petalisp.ir.

Source

partitioning.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: buffer
Type

petalisp.ir:buffer

Readers

ghostspec-buffer.

Writers

This slot is read-only.

Slot: left-padding-vec
Type

simple-vector

Readers

ghostspec-left-padding-vec.

Writers

This slot is read-only.

Slot: right-padding-vec
Type

simple-vector

Readers

ghostspec-right-padding-vec.

Writers

This slot is read-only.

Slot: pattern
Type

(simple-array bit)

Readers

ghostspec-pattern.

Writers

This slot is read-only.

Structure: hairy-transformation
Package

petalisp.core.

Source

transformation.lisp.

Direct superclasses

transformation.

Direct methods
Structure: invocation

An invocation represents one run of a kernel on a particular iteration space for some given source and target layouts.

Package

petalisp.native-backend.

Source

scheduling.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: kfn
Type

function

Readers

invocation-kfn.

Writers

This slot is read-only.

Slot: kernel
Package

petalisp.ir.

Type

petalisp.ir:kernel

Readers

invocation-kernel.

Writers

This slot is read-only.

Slot: iteration-space
Type

petalisp-1.0:shape

Readers

invocation-iteration-space.

Writers

This slot is read-only.

Slot: targets
Package

petalisp.ir.

Type

(simple-array petalisp.ir:layout (*))

Readers

invocation-targets.

Writers

(setf invocation-targets).

Slot: sources
Package

petalisp.ir.

Type

(simple-array petalisp.ir:layout (*))

Readers

invocation-sources.

Writers

(setf invocation-sources).

Structure: ir-converter

The ir-converter is a structure that tracks all the global state of one IR conversion process. Each of its slots used to be just a special variable that was bound when entering the IR conversion, but that turned out to be unwieldy. Now there is just a single special variable that holds an instance of this structure. The individual slots of an IR converter are as follows:

- A priority queue of nuclei, sorted by the depth of the corresponding lazy arrays.

- A hash table, mapping from lazy arrays to their nuclei.

- A hash table, mapping from Common Lisp arrays to buffers.

- A hash table, mapping from Common Lisp scalars to buffers of rank zero containing those scalars.

- A hash table, mapping from unknowns to buffers.

- An association list whose entries are conses of leaf buffers and their corresponding lazy arrays.

- A list of lists of conses that need to be updated by writing the value of the cdr of the first cons to the cdr of each remaining cons.

- The maximum size we allow a kernel to grow during buffer pruning.

- An list of potentially superfluous buffers, i.e., buffer where all dendrites are disjoint and cover the entire buffer. Nucleus conversion also makes sure that the data slot of each potentially superfluous buffer contains the list of dendrites reaching it.

- A hash table, mapping from potentially superfluous buffers to dendrites.

Package

petalisp.ir.

Source

ir-conversion.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: pqueue
Initform

(priority-queue:make-pqueue (function >))

Readers

ir-converter-pqueue.

Writers

(setf ir-converter-pqueue).

Slot: nucleus-table
Type

hash-table

Initform

(make-hash-table :test (function eq))

Readers

ir-converter-nucleus-table.

Writers

(setf ir-converter-nucleus-table).

Slot: array-table
Type

hash-table

Initform

(make-hash-table :test (function eq))

Readers

ir-converter-array-table.

Writers

(setf ir-converter-array-table).

Slot: scalar-table
Type

hash-table

Initform

(make-hash-table :test (function eql))

Readers

ir-converter-scalar-table.

Writers

(setf ir-converter-scalar-table).

Slot: unknown-table
Type

hash-table

Initform

(make-hash-table :test (function eq))

Readers

ir-converter-unknown-table.

Writers

(setf ir-converter-unknown-table).

Slot: leaf-alist
Type

list

Initform

(quote nil)

Readers

ir-converter-leaf-alist.

Writers

(setf ir-converter-leaf-alist).

Slot: cons-updates
Type

list

Initform

(quote nil)

Readers

ir-converter-cons-updates.

Writers

(setf ir-converter-cons-updates).

Slot: kernel-size-threshold
Type

unsigned-byte

Readers

ir-converter-kernel-size-threshold.

Writers

This slot is read-only.

Slot: potentially-superfluous-buffers
Type

list

Initform

(quote nil)

Readers

ir-converter-potentially-superfluous-buffers.

Writers

(setf ir-converter-potentially-superfluous-buffers).

Slot: buffer-dendrites-table
Type

hash-table

Initform

(make-hash-table :test (function eq))

Readers

ir-converter-buffer-dendrites-table.

Writers

(setf ir-converter-buffer-dendrites-table).

Structure: node
Package

petalisp.codegen.

Source

ir-backend.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: kernel
Package

petalisp.ir.

Type

petalisp.ir:kernel

Readers

node-kernel.

Writers

(setf node-kernel).

Slot: dependencies
Type

list

Initform

(quote nil)

Readers

node-dependencies.

Writers

(setf node-dependencies).

Slot: users
Type

list

Initform

(quote nil)

Readers

node-users.

Writers

(setf node-users).

Slot: fn
Type

(or function null)

Readers

node-fn.

Writers

(setf node-fn).

Structure: nucleus

A nucleus describes a lazy array that is either the root of a data flow graph or a lazy array that has been reached by more than one dendrite in the conversion process. Each nucleus has the following slots:

- The lazy array at which the nucleation occurs. When talking about the shape, depth and type of a nucleus, we refer to the shape, depth and type of the lazy array of that nucleus.

- A list of the dendrites that have reached this nucleus. This list is empty when the nucleus is at a root of the data flow graph, otherwise it contains two or more dendrites.

Package

petalisp.ir.

Source

ir-conversion.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: lazy-array
Package

petalisp-1.0.

Type

petalisp-1.0:lazy-array

Readers

nucleus-lazy-array.

Writers

(setf nucleus-lazy-array).

Slot: dendrites
Type

list

Initform

(quote nil)

Readers

nucleus-dendrites.

Writers

(setf nucleus-dendrites).

Structure: pdfs-queue
Package

petalisp.scheduling.

Source

scheduling.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: priority-queue
Type

queues:priority-queue

Initform

(queues:make-queue :priority-queue :compare (function petalisp.scheduling::node-more-important-p))

Readers

pdfs-queue-priority-queue.

Writers

This slot is read-only.

Slot: tmpnode
Type

petalisp.scheduling:node

Initform

(petalisp.scheduling::make-node)

Readers

pdfs-queue-tmpnode.

Writers

(setf pdfs-queue-tmpnode).

Structure: prune
Package

petalisp.ir.

Source

ir-conversion.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: bits
Type

unsigned-byte

Readers

prune-bits.

Writers

This slot is read-only.

Slot: buffers
Type

list

Initform

(quote nil)

Readers

prune-buffers.

Writers

This slot is read-only.

Structure: request
Package

petalisp.native-backend.

Source

request.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: lock
Initform

(bt2:make-lock)

Readers

request-lock.

Writers

This slot is read-only.

Slot: cvar
Initform

(bt2:make-condition-variable)

Readers

request-cvar.

Writers

This slot is read-only.

Slot: done
Type

boolean

Readers

request-done.

Writers

(setf request-done).

Structure: simulated-memory
Package

petalisp.native-backend.

Source

evaluator.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: allocation
Type

petalisp.native-backend::allocation

Readers

simulated-memory-allocation.

Writers

This slot is read-only.

Slot: table
Type

hash-table

Initform

(make-hash-table :test (function equal))

Readers

simulated-memory-table.

Writers

(setf simulated-memory-table).

Slot: generation
Type

unsigned-byte

Initform

0

Readers

simulated-memory-generation.

Writers

(setf simulated-memory-generation).

Slot: mode
Type

(member :r :w)

Initform

:w

Readers

simulated-memory-mode.

Writers

(setf simulated-memory-mode).

Structure: stem

A stem describes the process of assembling one kernel. Stems and their kernels are always created at the same time, but only the iteration space and the store instructions of the stem’s kernel are defined right away. All other instructions of the kernel are produced later by growing dendrites from the stem. A stem has the following slots:

- A reference to the nucleus from which the stem emanates.

- A reference to the not-yet-fully-initialized kernel that is grown from the stem. When talking about the iteration space of a stem, we refer to the iteration space of this kernel.

- A list of buffers that are written to by the stem’s kernel. If the stem’s nucleus occurs at a lazy array with a delayed multiple-value map action, this list has as many buffers as there are multiple values being returned. Otherwise, this list has a single buffer that will later hold the values of the lazy array corresponding to the stem’s nucleus. An element of this list can be NIL instead of a buffer if that particular value is never referenced.

- A flag that indicates whether the stem is valid. It is true initially, but is set to false in case the stem is split into multiple stems with smaller iteration spaces. When the conversion algorithm encounters a stem that is no longer valid, it discards the corresponding kernel and all dendrites rooted therein.

Package

petalisp.ir.

Source

ir-conversion.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: nucleus
Type

petalisp.ir::nucleus

Readers

stem-nucleus.

Writers

(setf stem-nucleus).

Slot: kernel
Type

petalisp.ir:kernel

Readers

stem-kernel.

Writers

(setf stem-kernel).

Slot: buffers
Type

list

Readers

stem-buffers.

Writers

(setf stem-buffers).

Slot: validp
Type

boolean

Initform

t

Readers

stem-validp.

Writers

(setf stem-validp).

Structure: subset
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: elements
Type

list

Initform

(quote nil)

Readers

subset-elements.

Writers

(setf subset-elements).

Slot: weight
Type

real

Initform

0

Readers

subset-weight.

Writers

(setf subset-weight).

Structure: tuple
Package

petalisp.karmarkar-karp.

Source

karmarkar-karp.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: subsets
Type

simple-vector

Initform

#()

Readers

tuple-subsets.

Writers

(setf tuple-subsets).

Slot: weight
Type

number

Initform

0

Readers

tuple-weight.

Writers

(setf tuple-weight).

Structure: worker
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: worker-pool
Type

petalisp.native-backend::worker-pool

Readers

worker-worker-pool.

Writers

This slot is read-only.

Slot: id
Type

petalisp.native-backend::worker-id

Readers

worker-id.

Writers

This slot is read-only.

Slot: thread
Type

(or bt2:thread null)

Readers

worker-thread.

Writers

(setf worker-thread).

Slot: queue
Initform

(lparallel.queue:make-queue)

Readers

worker-queue.

Writers

(setf worker-queue).

Slot: barrier-sense
Type

(member :a :b)

Initform

:b

Readers

worker-barrier-sense.

Writers

(setf worker-barrier-sense).

Slot: serious-conditions
Type

list

Initform

(quote nil)

Readers

worker-serious-conditions.

Writers

(setf worker-serious-conditions).

Structure: worker-pool
Package

petalisp.native-backend.

Source

worker-pool.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: workers
Type

simple-vector

Readers

worker-pool-workers.

Writers

This slot is read-only.

Slot: liveness
Initform

(bt2:make-atomic-integer :value 1)

Readers

worker-pool-liveness.

Writers

(setf worker-pool-liveness).

Slot: barrier-sense
Type

(member :a :b)

Initform

:a

Readers

worker-pool-barrier-sense.

Writers

(setf worker-pool-barrier-sense).

Slot: barrier-countdown
Readers

worker-pool-barrier-countdown.

Writers

(setf worker-pool-barrier-countdown).


5.2.9 Classes

Class: any-edge
Package

petalisp.graphviz.

Source

protocol.lisp.

Direct subclasses
Direct methods
Class: any-graph
Package

petalisp.graphviz.

Source

protocol.lisp.

Direct subclasses
Direct methods
Class: backend
Package

petalisp.native-backend.

Source

backend.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: %worker-pool
Type

petalisp.native-backend::worker-pool

Initform

(alexandria:required-argument :worker-pool)

Initargs

:worker-pool

Readers

backend-worker-pool.

Writers

This slot is read-only.

Class: backend-stats
Package

petalisp.core.

Source

backend.lisp.

Class: class-diagram
Package

petalisp.graphviz.

Source

class-diagram.lisp.

Direct superclasses

any-graph.

Direct methods
Class: completed-request
Package

petalisp.core.

Source

backend.lisp.

Direct superclasses

request.

Direct methods
Class: data-flow-edge
Package

petalisp.graphviz.

Source

data-flow-graph.lisp.

Direct superclasses

petalisp-edge.

Direct methods

graphviz-incoming-edge-origins.

Class: data-flow-graph
Package

petalisp.graphviz.

Source

data-flow-graph.lisp.

Direct superclasses

petalisp-graph.

Direct methods
Class: deleted-backend
Package

petalisp.core.

Source

backend.lisp.

Class: direct-subclass-edge
Package

petalisp.graphviz.

Source

class-diagram.lisp.

Direct superclasses

any-edge.

Direct methods
Class: input-edge
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

ir-edge.

Direct methods

graphviz-incoming-edge-origins.

Class: ir-backend
Package

petalisp.codegen.

Source

ir-backend.lisp.

Direct superclasses

backend.

Direct methods
Direct slots
Slot: %mode
Type

(member :interpreted :compiled)

Initform

:interpreted

Initargs

:mode

Readers

ir-backend-mode.

Writers

This slot is read-only.

Slot: %compile-cache
Type

hash-table

Initform

(make-hash-table)

Readers

ir-backend-compile-cache.

Writers

This slot is read-only.

Class: ir-edge
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

petalisp-edge.

Direct subclasses
Class: ir-graph
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

petalisp-graph.

Direct methods
Class: load-edge
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

ir-edge.

Direct methods

graphviz-incoming-edge-origins.

Class: output-edge
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

ir-edge.

Direct methods

graphviz-outgoing-edge-targets.

Class: partitioning-edge
Package

petalisp.graphviz.

Source

partitioning.lisp.

Direct superclasses

petalisp-edge.

Direct subclasses
Class: partitioning-graph
Package

petalisp.graphviz.

Source

partitioning.lisp.

Direct superclasses

petalisp-graph.

Direct methods
Class: petalisp-edge
Package

petalisp.graphviz.

Source

petalisp.lisp.

Direct superclasses

any-edge.

Direct subclasses
Direct methods

graphviz-edge-attributes.

Class: petalisp-graph
Package

petalisp.graphviz.

Source

petalisp.lisp.

Direct superclasses

any-graph.

Direct subclasses
Direct methods
Class: reader-edge
Package

petalisp.graphviz.

Source

partitioning.lisp.

Direct superclasses

partitioning-edge.

Direct methods

graphviz-edge-attributes.

Class: reference-backend
Package

petalisp.core.

Source

reference-backend.lisp.

Direct superclasses

backend.

Direct methods

backend-compute.

Class: scheduling-edge
Package

petalisp.graphviz.

Source

scheduling.lisp.

Direct superclasses

petalisp-edge.

Direct methods
Class: scheduling-graph
Package

petalisp.graphviz.

Source

scheduling.lisp.

Direct superclasses

petalisp-graph.

Direct methods
Class: store-edge
Package

petalisp.graphviz.

Source

ir.lisp.

Direct superclasses

ir-edge.

Direct methods

graphviz-outgoing-edge-targets.

Class: testing-backend
Package

petalisp.test-suite.

Source

testing-backend.lisp.

Direct superclasses

backend.

Direct methods
Direct slots
Slot: %reference-backend
Initform

(petalisp-1.0:make-reference-backend)

Readers

reference-backend.

Writers

This slot is read-only.

Slot: %ir-backend-interpreted
Initform

(petalisp-1.0:make-ir-backend :mode :interpreted)

Readers

ir-backend-interpreted.

Writers

This slot is read-only.

Slot: %ir-backend-compiled
Initform

(petalisp-1.0:make-ir-backend :mode :compiled)

Readers

ir-backend-compiled.

Writers

This slot is read-only.

Slot: %native-backend
Initform

(petalisp-1.0:make-native-backend :debug t)

Readers

native-backend.

Writers

This slot is read-only.

Class: writer-edge
Package

petalisp.graphviz.

Source

partitioning.lisp.

Direct superclasses

partitioning-edge.

Direct methods

graphviz-edge-attributes.


5.2.10 Types

Type: clp2-fixnum ()
Package

petalisp.utilities.

Source

powers-of-two.lisp.

Type: color ()
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Type: colorset ()
Package

petalisp.utilities.

Source

graph-coloring.lisp.

Type: shape-syntax-delimiter ()
Package

petalisp.api.

Source

shape-syntax.lisp.

Type: small-fixnum ()
Package

petalisp.utilities.

Source

extended-euclid.lisp.

Type: small-non-negative-fixnum ()
Package

petalisp.utilities.

Source

extended-euclid.lisp.

Type: worker-id ()
Package

petalisp.native-backend.

Source

worker-pool.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   ~  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   P   R   S   T   U   V   W  
Index Entry  Section

%
%make-cenv: Private ordinary functions
%make-delayed-array: Private ordinary functions
%make-delayed-fuse: Private ordinary functions
%make-delayed-map: Private ordinary functions
%make-delayed-multiple-value-map: Private ordinary functions
%make-delayed-nth-value: Private ordinary functions
%make-delayed-reshape: Private ordinary functions
%make-dendrite: Private ordinary functions
%make-denv: Private ordinary functions
%make-empty-range: Private ordinary functions
%make-hairy-transformation: Private ordinary functions
%make-identity-transformation: Private ordinary functions
%make-kernel-shard: Private ordinary functions
%make-load-instruction: Private ordinary functions
%make-shape: Private ordinary functions
%make-stencil: Private ordinary functions
%make-store-instruction: Private ordinary functions
%make-worker: Private ordinary functions
%make-worker-pool: Private ordinary functions
%requestp: Private ordinary functions

(
(setf action-copy-invocations): Private ordinary functions
(setf action-work-invocations): Private ordinary functions
(setf ad-record-alist): Private ordinary functions
(setf ad-record-input-gradient-caches): Private ordinary functions
(setf ad-record-output-gradient-cache): Private ordinary functions
(setf allocation-category): Private ordinary functions
(setf allocation-unboxed): Private ordinary functions
(setf backend-debug-flag): Public generic functions
(setf backend-debug-flag): Public generic functions
(setf base-char-memref): Private ordinary functions
(setf bpinfo-levels): Private ordinary functions
(setf bpmemref-base): Private ordinary functions
(setf bpmemref-ntype): Private ordinary functions
(setf bpmemref-rank): Private ordinary functions
(setf bpmemref-start): Private ordinary functions
(setf bpmemref-stencils): Private ordinary functions
(setf bpmemref-strides): Private ordinary functions
(setf bpstencil-center): Private ordinary functions
(setf buffer-depth): Public ordinary functions
(setf buffer-ntype): Public ordinary functions
(setf buffer-number): Public ordinary functions
(setf buffer-readers): Private ordinary functions
(setf buffer-shape): Public ordinary functions
(setf buffer-shard-layout): Public ordinary functions
(setf buffer-shard-readers): Public ordinary functions
(setf buffer-shard-split): Public ordinary functions
(setf buffer-shard-split-priority-cache): Private ordinary functions
(setf buffer-shard-writers): Public ordinary functions
(setf buffer-storage): Public ordinary functions
(setf buffer-task): Public ordinary functions
(setf buffer-writers): Private ordinary functions
(setf c128-memref): Private ordinary functions
(setf c64-memref): Private ordinary functions
(setf call-instruction-fnrecord): Public ordinary functions
(setf call-instruction-inputs): Public ordinary functions
(setf call-instruction-number): Private ordinary functions
(setf call-instruction-number-of-values): Public ordinary functions
(setf cgraph-table): Private ordinary functions
(setf character-memref): Private ordinary functions
(setf cnode-color): Private ordinary functions
(setf cnode-colorset): Private ordinary functions
(setf cnode-degree): Private ordinary functions
(setf cnode-neighbors): Private ordinary functions
(setf cnode-queue-node): Private ordinary functions
(setf cnode-saturation): Private ordinary functions
(setf cqueue-h-lock): Private ordinary functions
(setf cqueue-head): Private ordinary functions
(setf cqueue-t-lock): Private ordinary functions
(setf cqueue-tail): Private ordinary functions
(setf delayed-array-storage): Public ordinary functions
(setf delayed-fuse-inputs): Public ordinary functions
(setf delayed-map-fnrecord): Public ordinary functions
(setf delayed-map-inputs): Public ordinary functions
(setf delayed-multiple-value-map-fnrecord): Public ordinary functions
(setf delayed-multiple-value-map-inputs): Public ordinary functions
(setf delayed-multiple-value-map-refbits): Public ordinary functions
(setf delayed-multiple-value-map-refbits-lock): Private ordinary functions
(setf delayed-nth-value-input): Public ordinary functions
(setf delayed-nth-value-number): Public ordinary functions
(setf delayed-reshape-input): Public ordinary functions
(setf delayed-reshape-transformation): Public ordinary functions
(setf delayed-wait-delayed-action): Public ordinary functions
(setf dendrite-cons): Private ordinary functions
(setf dendrite-depth): Private ordinary functions
(setf dendrite-shape): Private ordinary functions
(setf dendrite-stem): Private ordinary functions
(setf dendrite-transformation): Private ordinary functions
(setf denv-request): Private ordinary functions
(setf denv-serious-condition-lock): Private ordinary functions
(setf denv-serious-conditions): Private ordinary functions
(setf f32-memref): Private ordinary functions
(setf f64-memref): Private ordinary functions
(setf fixnum-memref): Private ordinary functions
(setf graph-object-nodes): Public ordinary functions
(setf hairy-transformation-inverse): Private ordinary functions
(setf identity-transformation-inverse): Private ordinary functions
(setf instruction-buffer): Private ordinary functions
(setf instruction-inputs): Public ordinary functions
(setf instruction-number): Public ordinary functions
(setf instruction-transformation): Public ordinary functions
(setf invocation-sources): Private ordinary functions
(setf invocation-targets): Private ordinary functions
(setf ir-converter-array-table): Private ordinary functions
(setf ir-converter-buffer-dendrites-table): Private ordinary functions
(setf ir-converter-cons-updates): Private ordinary functions
(setf ir-converter-leaf-alist): Private ordinary functions
(setf ir-converter-nucleus-table): Private ordinary functions
(setf ir-converter-potentially-superfluous-buffers): Private ordinary functions
(setf ir-converter-pqueue): Private ordinary functions
(setf ir-converter-scalar-table): Private ordinary functions
(setf ir-converter-unknown-table): Private ordinary functions
(setf iref-instruction-inputs): Private ordinary functions
(setf iref-instruction-number): Private ordinary functions
(setf iref-instruction-transformation): Public ordinary functions
(setf kernel-data): Private ordinary functions
(setf kernel-instruction-vector): Public ordinary functions
(setf kernel-iteration-space): Public ordinary functions
(setf kernel-number): Public ordinary functions
(setf kernel-shard-sources): Public ordinary functions
(setf kernel-shard-targets): Public ordinary functions
(setf kernel-sources): Public ordinary functions
(setf kernel-targets): Public ordinary functions
(setf kernel-task): Public ordinary functions
(setf layout-allocation): Public ordinary functions
(setf layout-ghost-layer-alist): Public ordinary functions
(setf lazy-array-delayed-action): Public ordinary functions
(setf lazy-array-refcount): Public ordinary functions
(setf load-instruction-buffer): Public ordinary functions
(setf load-instruction-inputs): Private ordinary functions
(setf load-instruction-number): Private ordinary functions
(setf load-instruction-transformation): Public ordinary functions
(setf memory-children-slot): Private generic functions
(setf memory-children-slot): Private generic functions
(setf memory-cores-slot): Private generic functions
(setf memory-cores-slot): Private generic functions
(setf node-affinity): Private ordinary functions
(setf node-counter): Private ordinary functions
(setf node-dependencies): Private ordinary functions
(setf node-depth): Public ordinary functions
(setf node-eagerness): Private ordinary functions
(setf node-fn): Private ordinary functions
(setf node-height): Public ordinary functions
(setf node-kernel): Private ordinary functions
(setf node-object): Private ordinary functions
(setf node-position): Private ordinary functions
(setf node-predecessor-alist): Public ordinary functions
(setf node-successor-alist): Public ordinary functions
(setf node-users): Private ordinary functions
(setf nucleus-dendrites): Private ordinary functions
(setf nucleus-lazy-array): Private ordinary functions
(setf pdfs-queue-tmpnode): Private ordinary functions
(setf program-final-task): Public ordinary functions
(setf program-initial-task): Public ordinary functions
(setf program-leaf-alist): Public ordinary functions
(setf program-number-of-buffers): Public ordinary functions
(setf program-number-of-kernels): Public ordinary functions
(setf program-root-buffers): Public ordinary functions
(setf program-task-vector): Public ordinary functions
(setf request-done): Private ordinary functions
(setf s16-memref): Private ordinary functions
(setf s32-memref): Private ordinary functions
(setf s64-memref): Private ordinary functions
(setf s8-memref): Private ordinary functions
(setf shape-table-value): Public ordinary functions
(setf simulated-memory-generation): Private ordinary functions
(setf simulated-memory-mode): Private ordinary functions
(setf simulated-memory-table): Private ordinary functions
(setf stem-buffers): Private ordinary functions
(setf stem-kernel): Private ordinary functions
(setf stem-nucleus): Private ordinary functions
(setf stem-validp): Private ordinary functions
(setf stencil-center): Public ordinary functions
(setf stencil-instructions): Public ordinary functions
(setf store-instruction-buffer): Public ordinary functions
(setf store-instruction-inputs): Private ordinary functions
(setf store-instruction-number): Private ordinary functions
(setf store-instruction-transformation): Public ordinary functions
(setf subset-elements): Private ordinary functions
(setf subset-weight): Private ordinary functions
(setf task-defined-buffers): Private ordinary functions
(setf task-kernels): Private ordinary functions
(setf task-number): Public ordinary functions
(setf task-predecessors): Private ordinary functions
(setf task-program): Public ordinary functions
(setf task-successors): Private ordinary functions
(setf transformation-inverse): Private ordinary functions
(setf tuple-subsets): Private ordinary functions
(setf tuple-weight): Private ordinary functions
(setf u1-memref): Private ordinary functions
(setf u16-memref): Private ordinary functions
(setf u2-memref): Private ordinary functions
(setf u32-memref): Private ordinary functions
(setf u4-memref): Private ordinary functions
(setf u64-memref): Private ordinary functions
(setf u8-memref): Private ordinary functions
(setf worker-barrier-sense): Private ordinary functions
(setf worker-pool-barrier-countdown): Private ordinary functions
(setf worker-pool-barrier-sense): Private ordinary functions
(setf worker-pool-liveness): Private ordinary functions
(setf worker-queue): Private ordinary functions
(setf worker-serious-conditions): Private ordinary functions
(setf worker-thread): Private ordinary functions

~
~: Public ordinary functions
~*: Public ordinary functions

A
action-copy-invocations: Private ordinary functions
action-work-invocations: Private ordinary functions
actionp: Private ordinary functions
ad-record-alist: Private ordinary functions
ad-record-input-gradient: Private ordinary functions
ad-record-input-gradient-cache: Private macros
ad-record-input-gradient-caches: Private ordinary functions
ad-record-lazy-array: Private ordinary functions
ad-record-output-gradient: Private ordinary functions
ad-record-output-gradient-cache: Private ordinary functions
add-child-kernel-shard: Private ordinary functions
add-transformation-constraints: Private ordinary functions
all-tests: Public ordinary functions
allocate-memory: Private ordinary functions
allocation-category: Private ordinary functions
allocation-color: Private ordinary functions
allocation-size-in-bytes: Private ordinary functions
allocation-unboxed: Private ordinary functions
allocationp: Private ordinary functions
approximately-equal: Private generic functions
approximately-equal: Private generic functions
approximately-equal: Private generic functions
approximately-equal: Private generic functions
approximately-equal: Private generic functions
approximately-equal: Private generic functions
argument-variables: Private ordinary functions
array-element-test: Private ordinary functions
array-has-shape-p: Public ordinary functions
array-shape: Public ordinary functions
array-size-in-bytes: Private ordinary functions
array-storage-pointer: Private ordinary functions
array-storage-vector: Private ordinary functions
array-value: Public ordinary functions
assign-layout: Private ordinary functions
assign-layout-ghost-layer-alist: Private ordinary functions
attempt-split: Private ordinary functions

B
backend-compute: Public generic functions
backend-compute: Public generic functions
backend-compute: Public generic functions
backend-compute: Public generic functions
backend-compute: Public generic functions
backend-compute: Public generic functions
backend-compute-asynchronously: Public generic functions
backend-compute-asynchronously: Public generic functions
backend-compute-asynchronously: Public generic functions
backend-debug-flag: Public generic functions
backend-debug-flag: Public generic functions
backend-evaluator: Public generic functions
backend-evaluator: Public generic functions
backend-evaluator: Public generic functions
backend-evaluator: Public generic functions
backend-evaluator: Public generic functions
backend-worker-pool: Private generic functions
backend-worker-pool: Private generic functions
backendp: Public generic functions
backendp: Public generic functions
backendp: Public generic functions
barrier: Private ordinary functions
base-char-memref: Private ordinary functions
batcher-odd-even-shapes: Private ordinary functions
bind: Private macros
bind-argument: Private ordinary functions
bind-result: Private ordinary functions
blueprint-bpinfo: Private ordinary functions
blueprint-cpp-translatable-p: Private ordinary functions
bpcall: Private ordinary functions
bpcall-argument: Private ordinary functions
bpcall-arguments: Private ordinary functions
bpcall-function: Private ordinary functions
bpcall-level: Private ordinary functions
bpcall-value: Private ordinary functions
bpcall-values: Private ordinary functions
bpcallp: Private ordinary functions
bpconstant-level: Private ordinary functions
bpconstant-ntype: Private ordinary functions
bpconstant-value: Private ordinary functions
bpconstantp: Private ordinary functions
bpeval: Private ordinary functions
bpfunction-instruction-number: Private ordinary functions
bpfunction-level: Private ordinary functions
bpfunction-name: Private ordinary functions
bpfunction-ntype: Private ordinary functions
bpfunctionp: Private ordinary functions
bpindex*: Private ordinary functions
bpindex+: Private ordinary functions
bpinfo-cpp-arguments: Private ordinary functions
bpinfo-functions: Private ordinary functions
bpinfo-indices: Private ordinary functions
bpinfo-instructions: Private ordinary functions
bpinfo-ioffsets: Private ordinary functions
bpinfo-iscalings: Private ordinary functions
bpinfo-levels: Private ordinary functions
bpinfo-ranges: Private ordinary functions
bpinfo-rank: Private ordinary functions
bpinfo-sources: Private ordinary functions
bpinfo-targets: Private ordinary functions
bpinfop: Private ordinary functions
bpinstinfo: Private ordinary functions
bpinstinfo-instruction-number: Private ordinary functions
bpinstinfo-level: Private ordinary functions
bpinstinfo-name: Private ordinary functions
bpinstinfo-ntype: Private ordinary functions
bpinstruction-form: Private generic functions
bpinstruction-form: Private generic functions
bpinstruction-form: Private generic functions
bpinstruction-form: Private generic functions
bpinstruction-form: Private generic functions
bpinstruction-level: Private ordinary functions
bpinstruction-value: Private ordinary functions
bpinstruction-values: Private ordinary functions
bpinstruction-values-ntype: Private ordinary functions
bpinstructionp: Private ordinary functions
bpioffset-instruction-number: Private ordinary functions
bpioffset-level: Private ordinary functions
bpioffset-name: Private ordinary functions
bpioffset-ntype: Private ordinary functions
bpioffsetp: Private ordinary functions
bpiref-level: Private ordinary functions
bpiref-offset: Private ordinary functions
bpiref-scaling: Private ordinary functions
bpiref-values: Private ordinary functions
bpirefp: Private ordinary functions
bpiscaling-instruction-number: Private ordinary functions
bpiscaling-level: Private ordinary functions
bpiscaling-name: Private ordinary functions
bpiscaling-ntype: Private ordinary functions
bpiscalingp: Private ordinary functions
bpload-index: Private ordinary functions
bpload-level: Private ordinary functions
bpload-source: Private ordinary functions
bpload-values: Private ordinary functions
bploadp: Private ordinary functions
bpmemref-base: Private ordinary functions
bpmemref-ntype: Private ordinary functions
bpmemref-rank: Private ordinary functions
bpmemref-start: Private ordinary functions
bpmemref-stencil: Private ordinary functions
bpmemref-stencils: Private ordinary functions
bpmemref-stride: Private ordinary functions
bpmemref-strides: Private ordinary functions
bpmemrefp: Private ordinary functions
bpname: Private ordinary functions
bprange-end: Private ordinary functions
bprange-start: Private ordinary functions
bprange-step: Private ordinary functions
bprangep: Private ordinary functions
bpref: Private ordinary functions
bpstencil-center: Private ordinary functions
bpstencil-offsets: Private ordinary functions
bpstencil-scalings: Private ordinary functions
bpstencilp: Private ordinary functions
bpstore-index: Private ordinary functions
bpstore-level: Private ordinary functions
bpstore-target: Private ordinary functions
bpstore-value: Private ordinary functions
bpstore-values: Private ordinary functions
bpstorep: Private ordinary functions
bpvalue-cffi-type: Private ordinary functions
bpvalue-cpp-string: Private ordinary functions
bpvalue-cpp-type: Private ordinary functions
bpvalue-form: Private generic functions
bpvalue-form: Private generic functions
bpvalue-form: Private generic functions
bpvalue-level: Private ordinary functions
bpvalue-ntype: Private ordinary functions
bpvalue=: Private generic functions
bpvalue=: Private generic functions
bpvalue=: Private generic functions
bpvalue=: Private generic functions
bpvaluep: Private ordinary functions
bpvariable-level: Private ordinary functions
bpvariable-name: Private ordinary functions
bpvariable-ntype: Private ordinary functions
bpvariablep: Private ordinary functions
broadcast: Public ordinary functions
broadcast-for-fusion: Public ordinary functions
broadcast-ranges: Private ordinary functions
buffer-bits: Public ordinary functions
buffer-dendrites: Private macros
buffer-depth: Public ordinary functions
buffer-ghostspec: Private ordinary functions
buffer-ntype: Public ordinary functions
buffer-number: Public ordinary functions
buffer-number-of-inputs: Public ordinary functions
buffer-number-of-loads: Public ordinary functions
buffer-number-of-outputs: Public ordinary functions
buffer-number-of-stores: Public ordinary functions
buffer-program: Public ordinary functions
buffer-readers: Private ordinary functions
buffer-reuse-potential: Public ordinary functions
buffer-shape: Public ordinary functions
buffer-shard-add-reader: Private ordinary functions
buffer-shard-add-writer: Private ordinary functions
buffer-shard-bind: Private ordinary functions
buffer-shard-bits: Public ordinary functions
buffer-shard-buffer: Public ordinary functions
buffer-shard-chains: Private ordinary functions
buffer-shard-domain: Public ordinary functions
buffer-shard-guardian: Private ordinary functions
buffer-shard-infants: Private ordinary functions
buffer-shard-label: Private ordinary functions
buffer-shard-layout: Public ordinary functions
buffer-shard-maxdepth: Public ordinary functions
buffer-shard-more-important-p: Private ordinary functions
buffer-shard-p: Public ordinary functions
buffer-shard-parent: Public ordinary functions
buffer-shard-path: Public ordinary functions
buffer-shard-port: Private ordinary functions
buffer-shard-primogenitor: Public ordinary functions
buffer-shard-queue-cleanup: Private ordinary functions
buffer-shard-queue-emptyp: Private ordinary functions
buffer-shard-queue-maybe-push: Private ordinary functions
buffer-shard-queue-pop: Private ordinary functions
buffer-shard-readers: Public ordinary functions
buffer-shard-shape: Public ordinary functions
buffer-shard-split: Public ordinary functions
buffer-shard-split-priority: Private ordinary functions
buffer-shard-split-priority-cache: Private ordinary functions
buffer-shard-writers: Public ordinary functions
buffer-size: Public ordinary functions
buffer-size-in-bytes: Private ordinary functions
buffer-stencils-alist-blueprint: Private ordinary functions
buffer-storage: Public ordinary functions
buffer-task: Public ordinary functions
buffer-writers: Private ordinary functions
bufferp: Public ordinary functions
build-documentation: Private ordinary functions
bytes-from-bits: Private ordinary functions

C
c128-memref: Private ordinary functions
c64-memref: Private ordinary functions
call-instruction-fnrecord: Public ordinary functions
call-instruction-function: Public ordinary functions
call-instruction-inputs: Public ordinary functions
call-instruction-number: Private ordinary functions
call-instruction-number-of-values: Public ordinary functions
call-instruction-p: Public ordinary functions
call-with-pinned-objects: Private ordinary functions
call-with-random-state: Private ordinary functions
call-with-test-harness: Private ordinary functions
call-with-testing-backend: Private ordinary functions
callcount: Public ordinary functions
canonicalize-inputs: Private ordinary functions
canonicalize-outputs: Private ordinary functions
canonicalize-transform-input: Private ordinary functions
cenv-allocations: Private ordinary functions
cenv-argument-ntypes: Private ordinary functions
cenv-argument-shapes: Private ordinary functions
cenv-backend: Private ordinary functions
cenv-constant-arrays: Private ordinary functions
cenv-constant-storage-vectors: Private ordinary functions
cenv-result-ntypes: Private ordinary functions
cenv-result-shapes: Private ordinary functions
cenv-schedule: Private ordinary functions
cenvp: Private ordinary functions
cgraph-add-conflict: Public ordinary functions
cgraph-coloring: Public ordinary functions
cgraph-ensure-cnode: Public ordinary functions
cgraph-p: Private ordinary functions
cgraph-table: Private ordinary functions
character-memref: Private ordinary functions
check-cenv: Private ordinary functions
check-ir: Public ordinary functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node: Private generic functions
check-ir-node-eventually: Private ordinary functions
check-package: Public ordinary functions
check-program: Private ordinary functions
check-reverse-link: Private ordinary functions
check-shard: Private generic functions
check-shard: Private generic functions
check-shard: Private generic functions
check-shard-eventually: Private ordinary functions
check-shards: Private ordinary functions
class-name-p: Private ordinary functions
clear-shape-table: Public ordinary functions
clone-reference: Private generic functions
clone-reference: Private generic functions
clone-reference: Private generic functions
clone-reference: Private generic functions
clp2: Public ordinary functions
cnode-color: Private ordinary functions
cnode-colorset: Private ordinary functions
cnode-degree: Private ordinary functions
cnode-neighbors: Private ordinary functions
cnode-object: Private ordinary functions
cnode-p: Private ordinary functions
cnode-queue-node: Private ordinary functions
cnode-saturation: Private ordinary functions
cnode>: Private ordinary functions
coerce-to-ntype: Private ordinary functions
collect-prune-buffer-dendrites-alist: Private ordinary functions
colorset-add: Private ordinary functions
colorset-contains: Private ordinary functions
colorset-next-free-color: Private ordinary functions
colorset-union: Private ordinary functions
combine-subsets: Private ordinary functions
combine-tuples: Private ordinary functions
compare-solutions: Private ordinary functions
compatible-with-lazy-array-p: Public ordinary functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-blueprint: Public generic functions
compile-cache: Private generic functions
compile-cache: Private generic functions
compile-cache-p: Private ordinary functions
compile-cache-table: Private ordinary functions
compile-kernel: Public generic functions
compile-kernel: Public generic functions
Compiler Macro, compose-transformations: Public compiler macros
Compiler Macro, index*: Public compiler macros
Compiler Macro, index+: Public compiler macros
Compiler Macro, range: Public compiler macros
completedp: Public ordinary functions
compose-transformations: Public compiler macros
compose-transformations: Public ordinary functions
compose-two-transformations: Private generic functions
compose-two-transformations: Private generic functions
compose-two-transformations: Private generic functions
compose-two-transformations: Private generic functions
compose-two-transformations: Private generic functions
compute: Public ordinary functions
compute-allocations: Private ordinary functions
compute-asynchronously: Public ordinary functions
compute-bpinfo-index: Private ordinary functions
compute-bpinfo-indices: Private ordinary functions
compute-bpinfo-ranges: Private ordinary functions
compute-bpmemref: Private ordinary functions
compute-bpmemrefs: Private ordinary functions
compute-bprange: Private ordinary functions
compute-bpstencil: Private ordinary functions
compute-buffer-ghostspec: Private ordinary functions
compute-buffer-shard-shape: Private ordinary functions
compute-buffer-shard-vicinity: Public ordinary functions
compute-delayed-array: Private ordinary functions
compute-list-of-arrays: Public ordinary functions
compute-program-buffer-coloring: Public ordinary functions
compute-program-primogenitor-buffer-shard-vector: Private ordinary functions
compute-schedule: Private ordinary functions
compute-stencil-center: Public ordinary functions
compute-transform-input-mask: Private ordinary functions
compute-transform-output-functions: Private ordinary functions
convert-nucleus: Private generic functions
convert-nucleus: Private generic functions
convert-nucleus: Private generic functions
convert-nucleus: Private generic functions
copy-action: Private ordinary functions
copy-allocation: Private ordinary functions
copy-bpcall: Private ordinary functions
copy-bpconstant: Private ordinary functions
copy-bpfunction: Private ordinary functions
copy-bpinfo: Private ordinary functions
copy-bpinstinfo: Private ordinary functions
copy-bpinstruction: Private ordinary functions
copy-bpioffset: Private ordinary functions
copy-bpiref: Private ordinary functions
copy-bpiscaling: Private ordinary functions
copy-bpload: Private ordinary functions
copy-bpmemref: Private ordinary functions
copy-bprange: Private ordinary functions
copy-bpstencil: Private ordinary functions
copy-bpstore: Private ordinary functions
copy-bpvalue: Private ordinary functions
copy-bpvariable: Private ordinary functions
copy-buffer: Private ordinary functions
copy-buffer-shard: Private ordinary functions
copy-cenv: Private ordinary functions
copy-cgraph: Private ordinary functions
copy-cnode: Private ordinary functions
copy-compile-cache: Private ordinary functions
copy-delayed-array: Private ordinary functions
copy-delayed-failure: Private ordinary functions
copy-delayed-fuse: Private ordinary functions
copy-delayed-map: Private ordinary functions
copy-delayed-multiple-value-map: Private ordinary functions
copy-delayed-nop: Private ordinary functions
copy-delayed-nth-value: Private ordinary functions
copy-delayed-range: Private ordinary functions
copy-delayed-reshape: Private ordinary functions
copy-delayed-unknown: Private ordinary functions
copy-delayed-wait: Private ordinary functions
copy-dendrite: Private ordinary functions
copy-denv: Private ordinary functions
copy-ghostspec: Private ordinary functions
copy-graph: Private ordinary functions
copy-invocation: Private ordinary functions
copy-ir-converter: Private ordinary functions
copy-kernel: Private ordinary functions
copy-kernel-shard: Private ordinary functions
copy-layout: Private ordinary functions
copy-lazy-arrays: Public ordinary functions
copy-node: Private ordinary functions
copy-node: Private ordinary functions
copy-node-into: Private ordinary functions
copy-nucleus: Private ordinary functions
copy-pdfs-queue: Private ordinary functions
copy-program: Private ordinary functions
copy-prune: Private ordinary functions
copy-simulated-memory: Private ordinary functions
copy-split: Private ordinary functions
copy-stem: Private ordinary functions
copy-subset: Private ordinary functions
copy-task: Private ordinary functions
copy-tuple: Private ordinary functions
copy-vicinity: Private ordinary functions
core-memory: Public generic functions
core-memory: Public generic functions
core-name: Public generic functions
core-name: Public generic functions
count-mapped-elements: Private ordinary functions
cpp-compile-blueprint: Private ordinary functions
cpp-translate-argument: Private ordinary functions
cpp-translate-blueprint: Private ordinary functions
cpp-write-defun: Private ordinary functions
cpp-write-instructions: Private ordinary functions
cpp-write-loop: Private ordinary functions
cqueue-dequeue: Public ordinary functions
cqueue-enqueue: Public ordinary functions
cqueue-h-lock: Private ordinary functions
cqueue-head: Private ordinary functions
cqueue-t-lock: Private ordinary functions
cqueue-tail: Private ordinary functions
cqueuep: Public ordinary functions

D
defgenerator: Private macros
defgeneric-name-p: Private ordinary functions
define-float-generator: Private macros
define-test: Public macros
defined-by-graphviz: Private ordinary functions
deflater: Public ordinary functions
deflating-transformation: Public ordinary functions
defun-name-p: Private ordinary functions
defwrapper: Private macros
delayed-action-inputs: Public generic functions
delayed-action-inputs: Public generic functions
delayed-action-inputs: Public generic functions
delayed-action-inputs: Public generic functions
delayed-action-inputs: Public generic functions
delayed-action-inputs: Public generic functions
delayed-action-p: Public ordinary functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-action-value: Private generic functions
delayed-array-p: Public ordinary functions
delayed-array-storage: Public ordinary functions
delayed-failure-condition: Public ordinary functions
delayed-failure-p: Public ordinary functions
delayed-fuse-inputs: Public ordinary functions
delayed-fuse-p: Public ordinary functions
delayed-map-fnrecord: Public ordinary functions
delayed-map-inputs: Public ordinary functions
delayed-map-number-of-values: Public ordinary functions
delayed-map-p: Public ordinary functions
delayed-multiple-value-map-fnrecord: Public ordinary functions
delayed-multiple-value-map-inputs: Public ordinary functions
delayed-multiple-value-map-p: Public ordinary functions
delayed-multiple-value-map-refbits: Public ordinary functions
delayed-multiple-value-map-refbits-lock: Private ordinary functions
delayed-multiple-value-map-values-ntype: Public ordinary functions
delayed-nop-p: Public ordinary functions
delayed-nth-value-input: Public ordinary functions
delayed-nth-value-number: Public ordinary functions
delayed-nth-value-p: Public ordinary functions
delayed-range-p: Public ordinary functions
delayed-reshape-input: Public ordinary functions
delayed-reshape-p: Public ordinary functions
delayed-reshape-transformation: Public ordinary functions
delayed-unknown-p: Public ordinary functions
delayed-wait-delayed-action: Public ordinary functions
delayed-wait-p: Public ordinary functions
delayed-wait-request: Public ordinary functions
delete-backend: Public generic functions
delete-backend: Public generic functions
delete-backend: Public generic functions
delete-backend: Public generic functions
delete-kernel: Private ordinary functions
dendrite-cons: Private ordinary functions
dendrite-depth: Private ordinary functions
dendrite-kernel: Private ordinary functions
dendrite-nucleus: Private ordinary functions
dendrite-p: Private ordinary functions
dendrite-shape: Private ordinary functions
dendrite-stem: Private ordinary functions
dendrite-transformation: Private ordinary functions
dendrite-validp: Private ordinary functions
dendrite-value-n: Private ordinary functions
denv-cenv: Private ordinary functions
denv-pointers: Private ordinary functions
denv-request: Private ordinary functions
denv-result-arrays: Private ordinary functions
denv-serious-condition-lock: Private ordinary functions
denv-serious-conditions: Private ordinary functions
denvp: Private ordinary functions
destructure-transformoid: Private ordinary functions
device-cores: Public generic functions
device-cores: Public generic functions
device-memory: Public generic functions
device-memory: Public generic functions
device-name: Public generic functions
device-name: Public generic functions
differentiator: Public ordinary functions
differs-exactly-at: Private ordinary functions
do-buffer-inputs: Public macros
do-buffer-load-instructions: Public macros
do-buffer-outputs: Public macros
do-buffer-store-instructions: Public macros
do-instruction-inputs: Public macros
do-kernel-inputs: Public macros
do-kernel-instructions: Public macros
do-kernel-load-instructions: Public macros
do-kernel-outputs: Public macros
do-kernel-stencils: Private macros
do-kernel-store-instructions: Public macros
do-program-buffer-groups: Public macros
do-program-buffers: Public macros
do-program-kernels: Public macros
do-program-tasks: Public macros
do-stencil-instructions: Public macros
do-task-defined-buffers: Public macros
do-task-kernels: Public macros
do-task-predecessors: Public macros
do-task-successors: Public macros
document-compiler-macro: Public macros
document-compiler-macros: Public macros
document-function: Public macros
document-functions: Public macros
document-method-combination: Public macros
document-method-combinations: Public macros
document-setf-expander: Public macros
document-setf-expanders: Public macros
document-structure: Public macros
document-structures: Public macros
document-type: Private macros
document-types: Private macros
document-variable: Public macros
document-variables: Public macros
duplicates: Private ordinary functions

E
empty-lazy-array: Public ordinary functions
empty-lazy-arrays: Public ordinary functions
empty-range: Public ordinary functions
empty-range-p: Public ordinary functions
empty-range-size: Private ordinary functions
enlarge-shape: Public ordinary functions
enlarge-transformation: Public generic functions
enlarge-transformation: Public generic functions
enlarge-transformation: Public generic functions
enlarge-transformation: Public generic functions
ensure-actions: Private ordinary functions
ensure-array-buffer-compatibility: Public ordinary functions
ensure-array-shape-ntype-compatibility: Public ordinary functions
ensure-buffer-task: Private ordinary functions
ensure-documentation: Private ordinary functions
ensure-instruction-clone: Private macros
ensure-instruction-table: Private ordinary functions
ensure-kernel-shard-invocation: Private ordinary functions
ensure-node: Private ordinary functions
ensure-nucleus: Private ordinary functions
ensure-result: Private ordinary functions
ensure-tasks: Private ordinary functions
enter-test: Private ordinary functions
evaluate: Private ordinary functions
evaluator: Public ordinary functions
evaluator-template: Private ordinary functions
event-horizon: Private ordinary functions
execute-node: Private ordinary functions
expand-documentation: Private macros
expand-transform: Private ordinary functions
expect-condition: Private ordinary functions
extended-euclid: Public ordinary functions

F
f32-memref: Private ordinary functions
f64-memref: Private ordinary functions
factorize-shape: Private ordinary functions
fallback-host-device: Private ordinary functions
file-open-p: Private ordinary functions
finalize-buffer: Private ordinary functions
finalize-ir: Private ordinary functions
finalize-kernel: Private ordinary functions
find-optimal-buffer-shard-split-axis: Private ordinary functions
find-optimal-buffer-shard-split-position: Private ordinary functions
find-prune: Private ordinary functions
fixnum-memref: Private ordinary functions
flatten: Private ordinary functions
flp2: Public ordinary functions
fnrecord-blueprint: Private ordinary functions
fragment-difference-list: Private ordinary functions
fragment-intersections: Private ordinary functions
free-memory: Private ordinary functions
free-variables: Private ordinary functions
from-storage-transformation: Private ordinary functions
Function, %make-cenv: Private ordinary functions
Function, %make-delayed-array: Private ordinary functions
Function, %make-delayed-fuse: Private ordinary functions
Function, %make-delayed-map: Private ordinary functions
Function, %make-delayed-multiple-value-map: Private ordinary functions
Function, %make-delayed-nth-value: Private ordinary functions
Function, %make-delayed-reshape: Private ordinary functions
Function, %make-dendrite: Private ordinary functions
Function, %make-denv: Private ordinary functions
Function, %make-empty-range: Private ordinary functions
Function, %make-hairy-transformation: Private ordinary functions
Function, %make-identity-transformation: Private ordinary functions
Function, %make-kernel-shard: Private ordinary functions
Function, %make-load-instruction: Private ordinary functions
Function, %make-shape: Private ordinary functions
Function, %make-stencil: Private ordinary functions
Function, %make-store-instruction: Private ordinary functions
Function, %make-worker: Private ordinary functions
Function, %make-worker-pool: Private ordinary functions
Function, %requestp: Private ordinary functions
Function, (setf action-copy-invocations): Private ordinary functions
Function, (setf action-work-invocations): Private ordinary functions
Function, (setf ad-record-alist): Private ordinary functions
Function, (setf ad-record-input-gradient-caches): Private ordinary functions
Function, (setf ad-record-output-gradient-cache): Private ordinary functions
Function, (setf allocation-category): Private ordinary functions
Function, (setf allocation-unboxed): Private ordinary functions
Function, (setf base-char-memref): Private ordinary functions
Function, (setf bpinfo-levels): Private ordinary functions
Function, (setf bpmemref-base): Private ordinary functions
Function, (setf bpmemref-ntype): Private ordinary functions
Function, (setf bpmemref-rank): Private ordinary functions
Function, (setf bpmemref-start): Private ordinary functions
Function, (setf bpmemref-stencils): Private ordinary functions
Function, (setf bpmemref-strides): Private ordinary functions
Function, (setf bpstencil-center): Private ordinary functions
Function, (setf buffer-depth): Public ordinary functions
Function, (setf buffer-ntype): Public ordinary functions
Function, (setf buffer-number): Public ordinary functions
Function, (setf buffer-readers): Private ordinary functions
Function, (setf buffer-shape): Public ordinary functions
Function, (setf buffer-shard-layout): Public ordinary functions
Function, (setf buffer-shard-readers): Public ordinary functions
Function, (setf buffer-shard-split): Public ordinary functions
Function, (setf buffer-shard-split-priority-cache): Private ordinary functions
Function, (setf buffer-shard-writers): Public ordinary functions
Function, (setf buffer-storage): Public ordinary functions
Function, (setf buffer-task): Public ordinary functions
Function, (setf buffer-writers): Private ordinary functions
Function, (setf c128-memref): Private ordinary functions
Function, (setf c64-memref): Private ordinary functions
Function, (setf call-instruction-fnrecord): Public ordinary functions
Function, (setf call-instruction-inputs): Public ordinary functions
Function, (setf call-instruction-number): Private ordinary functions
Function, (setf call-instruction-number-of-values): Public ordinary functions
Function, (setf cgraph-table): Private ordinary functions
Function, (setf character-memref): Private ordinary functions
Function, (setf cnode-color): Private ordinary functions
Function, (setf cnode-colorset): Private ordinary functions
Function, (setf cnode-degree): Private ordinary functions
Function, (setf cnode-neighbors): Private ordinary functions
Function, (setf cnode-queue-node): Private ordinary functions
Function, (setf cnode-saturation): Private ordinary functions
Function, (setf cqueue-h-lock): Private ordinary functions
Function, (setf cqueue-head): Private ordinary functions
Function, (setf cqueue-t-lock): Private ordinary functions
Function, (setf cqueue-tail): Private ordinary functions
Function, (setf delayed-array-storage): Public ordinary functions
Function, (setf delayed-fuse-inputs): Public ordinary functions
Function, (setf delayed-map-fnrecord): Public ordinary functions
Function, (setf delayed-map-inputs): Public ordinary functions
Function, (setf delayed-multiple-value-map-fnrecord): Public ordinary functions
Function, (setf delayed-multiple-value-map-inputs): Public ordinary functions
Function, (setf delayed-multiple-value-map-refbits): Public ordinary functions
Function, (setf delayed-multiple-value-map-refbits-lock): Private ordinary functions
Function, (setf delayed-nth-value-input): Public ordinary functions
Function, (setf delayed-nth-value-number): Public ordinary functions
Function, (setf delayed-reshape-input): Public ordinary functions
Function, (setf delayed-reshape-transformation): Public ordinary functions
Function, (setf delayed-wait-delayed-action): Public ordinary functions
Function, (setf dendrite-cons): Private ordinary functions
Function, (setf dendrite-depth): Private ordinary functions
Function, (setf dendrite-shape): Private ordinary functions
Function, (setf dendrite-stem): Private ordinary functions
Function, (setf dendrite-transformation): Private ordinary functions
Function, (setf denv-request): Private ordinary functions
Function, (setf denv-serious-condition-lock): Private ordinary functions
Function, (setf denv-serious-conditions): Private ordinary functions
Function, (setf f32-memref): Private ordinary functions
Function, (setf f64-memref): Private ordinary functions
Function, (setf fixnum-memref): Private ordinary functions
Function, (setf graph-object-nodes): Public ordinary functions
Function, (setf hairy-transformation-inverse): Private ordinary functions
Function, (setf identity-transformation-inverse): Private ordinary functions
Function, (setf instruction-buffer): Private ordinary functions
Function, (setf instruction-inputs): Public ordinary functions
Function, (setf instruction-number): Public ordinary functions
Function, (setf instruction-transformation): Public ordinary functions
Function, (setf invocation-sources): Private ordinary functions
Function, (setf invocation-targets): Private ordinary functions
Function, (setf ir-converter-array-table): Private ordinary functions
Function, (setf ir-converter-buffer-dendrites-table): Private ordinary functions
Function, (setf ir-converter-cons-updates): Private ordinary functions
Function, (setf ir-converter-leaf-alist): Private ordinary functions
Function, (setf ir-converter-nucleus-table): Private ordinary functions
Function, (setf ir-converter-potentially-superfluous-buffers): Private ordinary functions
Function, (setf ir-converter-pqueue): Private ordinary functions
Function, (setf ir-converter-scalar-table): Private ordinary functions
Function, (setf ir-converter-unknown-table): Private ordinary functions
Function, (setf iref-instruction-inputs): Private ordinary functions
Function, (setf iref-instruction-number): Private ordinary functions
Function, (setf iref-instruction-transformation): Public ordinary functions
Function, (setf kernel-data): Private ordinary functions
Function, (setf kernel-instruction-vector): Public ordinary functions
Function, (setf kernel-iteration-space): Public ordinary functions
Function, (setf kernel-number): Public ordinary functions
Function, (setf kernel-shard-sources): Public ordinary functions
Function, (setf kernel-shard-targets): Public ordinary functions
Function, (setf kernel-sources): Public ordinary functions
Function, (setf kernel-targets): Public ordinary functions
Function, (setf kernel-task): Public ordinary functions
Function, (setf layout-allocation): Public ordinary functions
Function, (setf layout-ghost-layer-alist): Public ordinary functions
Function, (setf lazy-array-delayed-action): Public ordinary functions
Function, (setf lazy-array-refcount): Public ordinary functions
Function, (setf load-instruction-buffer): Public ordinary functions
Function, (setf load-instruction-inputs): Private ordinary functions
Function, (setf load-instruction-number): Private ordinary functions
Function, (setf load-instruction-transformation): Public ordinary functions
Function, (setf node-affinity): Private ordinary functions
Function, (setf node-counter): Private ordinary functions
Function, (setf node-dependencies): Private ordinary functions
Function, (setf node-depth): Public ordinary functions
Function, (setf node-eagerness): Private ordinary functions
Function, (setf node-fn): Private ordinary functions
Function, (setf node-height): Public ordinary functions
Function, (setf node-kernel): Private ordinary functions
Function, (setf node-object): Private ordinary functions
Function, (setf node-position): Private ordinary functions
Function, (setf node-predecessor-alist): Public ordinary functions
Function, (setf node-successor-alist): Public ordinary functions
Function, (setf node-users): Private ordinary functions
Function, (setf nucleus-dendrites): Private ordinary functions
Function, (setf nucleus-lazy-array): Private ordinary functions
Function, (setf pdfs-queue-tmpnode): Private ordinary functions
Function, (setf program-final-task): Public ordinary functions
Function, (setf program-initial-task): Public ordinary functions
Function, (setf program-leaf-alist): Public ordinary functions
Function, (setf program-number-of-buffers): Public ordinary functions
Function, (setf program-number-of-kernels): Public ordinary functions
Function, (setf program-root-buffers): Public ordinary functions
Function, (setf program-task-vector): Public ordinary functions
Function, (setf request-done): Private ordinary functions
Function, (setf s16-memref): Private ordinary functions
Function, (setf s32-memref): Private ordinary functions
Function, (setf s64-memref): Private ordinary functions
Function, (setf s8-memref): Private ordinary functions
Function, (setf shape-table-value): Public ordinary functions
Function, (setf simulated-memory-generation): Private ordinary functions
Function, (setf simulated-memory-mode): Private ordinary functions
Function, (setf simulated-memory-table): Private ordinary functions
Function, (setf stem-buffers): Private ordinary functions
Function, (setf stem-kernel): Private ordinary functions
Function, (setf stem-nucleus): Private ordinary functions
Function, (setf stem-validp): Private ordinary functions
Function, (setf stencil-center): Public ordinary functions
Function, (setf stencil-instructions): Public ordinary functions
Function, (setf store-instruction-buffer): Public ordinary functions
Function, (setf store-instruction-inputs): Private ordinary functions
Function, (setf store-instruction-number): Private ordinary functions
Function, (setf store-instruction-transformation): Public ordinary functions
Function, (setf subset-elements): Private ordinary functions
Function, (setf subset-weight): Private ordinary functions
Function, (setf task-defined-buffers): Private ordinary functions
Function, (setf task-kernels): Private ordinary functions
Function, (setf task-number): Public ordinary functions
Function, (setf task-predecessors): Private ordinary functions
Function, (setf task-program): Public ordinary functions
Function, (setf task-successors): Private ordinary functions
Function, (setf transformation-inverse): Private ordinary functions
Function, (setf tuple-subsets): Private ordinary functions
Function, (setf tuple-weight): Private ordinary functions
Function, (setf u1-memref): Private ordinary functions
Function, (setf u16-memref): Private ordinary functions
Function, (setf u2-memref): Private ordinary functions
Function, (setf u32-memref): Private ordinary functions
Function, (setf u4-memref): Private ordinary functions
Function, (setf u64-memref): Private ordinary functions
Function, (setf u8-memref): Private ordinary functions
Function, (setf worker-barrier-sense): Private ordinary functions
Function, (setf worker-pool-barrier-countdown): Private ordinary functions
Function, (setf worker-pool-barrier-sense): Private ordinary functions
Function, (setf worker-pool-liveness): Private ordinary functions
Function, (setf worker-queue): Private ordinary functions
Function, (setf worker-serious-conditions): Private ordinary functions
Function, (setf worker-thread): Private ordinary functions
Function, action-copy-invocations: Private ordinary functions
Function, action-work-invocations: Private ordinary functions
Function, actionp: Private ordinary functions
Function, ad-record-alist: Private ordinary functions
Function, ad-record-input-gradient: Private ordinary functions
Function, ad-record-input-gradient-caches: Private ordinary functions
Function, ad-record-lazy-array: Private ordinary functions
Function, ad-record-output-gradient: Private ordinary functions
Function, ad-record-output-gradient-cache: Private ordinary functions
Function, add-child-kernel-shard: Private ordinary functions
Function, add-transformation-constraints: Private ordinary functions
Function, all-tests: Public ordinary functions
Function, allocate-memory: Private ordinary functions
Function, allocation-category: Private ordinary functions
Function, allocation-color: Private ordinary functions
Function, allocation-size-in-bytes: Private ordinary functions
Function, allocation-unboxed: Private ordinary functions
Function, allocationp: Private ordinary functions
Function, argument-variables: Private ordinary functions
Function, array-element-test: Private ordinary functions
Function, array-has-shape-p: Public ordinary functions
Function, array-shape: Public ordinary functions
Function, array-size-in-bytes: Private ordinary functions
Function, array-storage-pointer: Private ordinary functions
Function, array-storage-vector: Private ordinary functions
Function, array-value: Public ordinary functions
Function, assign-layout: Private ordinary functions
Function, assign-layout-ghost-layer-alist: Private ordinary functions
Function, attempt-split: Private ordinary functions
Function, barrier: Private ordinary functions
Function, base-char-memref: Private ordinary functions
Function, batcher-odd-even-shapes: Private ordinary functions
Function, bind-argument: Private ordinary functions
Function, bind-result: Private ordinary functions
Function, blueprint-bpinfo: Private ordinary functions
Function, blueprint-cpp-translatable-p: Private ordinary functions
Function, bpcall: Private ordinary functions
Function, bpcall-argument: Private ordinary functions
Function, bpcall-arguments: Private ordinary functions
Function, bpcall-function: Private ordinary functions
Function, bpcall-level: Private ordinary functions
Function, bpcall-value: Private ordinary functions
Function, bpcall-values: Private ordinary functions
Function, bpcallp: Private ordinary functions
Function, bpconstant-level: Private ordinary functions
Function, bpconstant-ntype: Private ordinary functions
Function, bpconstant-value: Private ordinary functions
Function, bpconstantp: Private ordinary functions
Function, bpeval: Private ordinary functions
Function, bpfunction-instruction-number: Private ordinary functions
Function, bpfunction-level: Private ordinary functions
Function, bpfunction-name: Private ordinary functions
Function, bpfunction-ntype: Private ordinary functions
Function, bpfunctionp: Private ordinary functions
Function, bpindex*: Private ordinary functions
Function, bpindex+: Private ordinary functions
Function, bpinfo-cpp-arguments: Private ordinary functions
Function, bpinfo-functions: Private ordinary functions
Function, bpinfo-indices: Private ordinary functions
Function, bpinfo-instructions: Private ordinary functions
Function, bpinfo-ioffsets: Private ordinary functions
Function, bpinfo-iscalings: Private ordinary functions
Function, bpinfo-levels: Private ordinary functions
Function, bpinfo-ranges: Private ordinary functions
Function, bpinfo-rank: Private ordinary functions
Function, bpinfo-sources: Private ordinary functions
Function, bpinfo-targets: Private ordinary functions
Function, bpinfop: Private ordinary functions
Function, bpinstinfo: Private ordinary functions
Function, bpinstinfo-instruction-number: Private ordinary functions
Function, bpinstinfo-level: Private ordinary functions
Function, bpinstinfo-name: Private ordinary functions
Function, bpinstinfo-ntype: Private ordinary functions
Function, bpinstruction-level: Private ordinary functions
Function, bpinstruction-value: Private ordinary functions
Function, bpinstruction-values: Private ordinary functions
Function, bpinstruction-values-ntype: Private ordinary functions
Function, bpinstructionp: Private ordinary functions
Function, bpioffset-instruction-number: Private ordinary functions
Function, bpioffset-level: Private ordinary functions
Function, bpioffset-name: Private ordinary functions
Function, bpioffset-ntype: Private ordinary functions
Function, bpioffsetp: Private ordinary functions
Function, bpiref-level: Private ordinary functions
Function, bpiref-offset: Private ordinary functions
Function, bpiref-scaling: Private ordinary functions
Function, bpiref-values: Private ordinary functions
Function, bpirefp: Private ordinary functions
Function, bpiscaling-instruction-number: Private ordinary functions
Function, bpiscaling-level: Private ordinary functions
Function, bpiscaling-name: Private ordinary functions
Function, bpiscaling-ntype: Private ordinary functions
Function, bpiscalingp: Private ordinary functions
Function, bpload-index: Private ordinary functions
Function, bpload-level: Private ordinary functions
Function, bpload-source: Private ordinary functions
Function, bpload-values: Private ordinary functions
Function, bploadp: Private ordinary functions
Function, bpmemref-base: Private ordinary functions
Function, bpmemref-ntype: Private ordinary functions
Function, bpmemref-rank: Private ordinary functions
Function, bpmemref-start: Private ordinary functions
Function, bpmemref-stencil: Private ordinary functions
Function, bpmemref-stencils: Private ordinary functions
Function, bpmemref-stride: Private ordinary functions
Function, bpmemref-strides: Private ordinary functions
Function, bpmemrefp: Private ordinary functions
Function, bpname: Private ordinary functions
Function, bprange-end: Private ordinary functions
Function, bprange-start: Private ordinary functions
Function, bprange-step: Private ordinary functions
Function, bprangep: Private ordinary functions
Function, bpref: Private ordinary functions
Function, bpstencil-center: Private ordinary functions
Function, bpstencil-offsets: Private ordinary functions
Function, bpstencil-scalings: Private ordinary functions
Function, bpstencilp: Private ordinary functions
Function, bpstore-index: Private ordinary functions
Function, bpstore-level: Private ordinary functions
Function, bpstore-target: Private ordinary functions
Function, bpstore-value: Private ordinary functions
Function, bpstore-values: Private ordinary functions
Function, bpstorep: Private ordinary functions
Function, bpvalue-cffi-type: Private ordinary functions
Function, bpvalue-cpp-string: Private ordinary functions
Function, bpvalue-cpp-type: Private ordinary functions
Function, bpvalue-level: Private ordinary functions
Function, bpvalue-ntype: Private ordinary functions
Function, bpvaluep: Private ordinary functions
Function, bpvariable-level: Private ordinary functions
Function, bpvariable-name: Private ordinary functions
Function, bpvariable-ntype: Private ordinary functions
Function, bpvariablep: Private ordinary functions
Function, broadcast: Public ordinary functions
Function, broadcast-for-fusion: Public ordinary functions
Function, broadcast-ranges: Private ordinary functions
Function, buffer-bits: Public ordinary functions
Function, buffer-depth: Public ordinary functions
Function, buffer-ghostspec: Private ordinary functions
Function, buffer-ntype: Public ordinary functions
Function, buffer-number: Public ordinary functions
Function, buffer-number-of-inputs: Public ordinary functions
Function, buffer-number-of-loads: Public ordinary functions
Function, buffer-number-of-outputs: Public ordinary functions
Function, buffer-number-of-stores: Public ordinary functions
Function, buffer-program: Public ordinary functions
Function, buffer-readers: Private ordinary functions
Function, buffer-reuse-potential: Public ordinary functions
Function, buffer-shape: Public ordinary functions
Function, buffer-shard-add-reader: Private ordinary functions
Function, buffer-shard-add-writer: Private ordinary functions
Function, buffer-shard-bind: Private ordinary functions
Function, buffer-shard-bits: Public ordinary functions
Function, buffer-shard-buffer: Public ordinary functions
Function, buffer-shard-chains: Private ordinary functions
Function, buffer-shard-domain: Public ordinary functions
Function, buffer-shard-guardian: Private ordinary functions
Function, buffer-shard-infants: Private ordinary functions
Function, buffer-shard-label: Private ordinary functions
Function, buffer-shard-layout: Public ordinary functions
Function, buffer-shard-maxdepth: Public ordinary functions
Function, buffer-shard-more-important-p: Private ordinary functions
Function, buffer-shard-p: Public ordinary functions
Function, buffer-shard-parent: Public ordinary functions
Function, buffer-shard-path: Public ordinary functions
Function, buffer-shard-port: Private ordinary functions
Function, buffer-shard-primogenitor: Public ordinary functions
Function, buffer-shard-queue-cleanup: Private ordinary functions
Function, buffer-shard-queue-emptyp: Private ordinary functions
Function, buffer-shard-queue-maybe-push: Private ordinary functions
Function, buffer-shard-queue-pop: Private ordinary functions
Function, buffer-shard-readers: Public ordinary functions
Function, buffer-shard-shape: Public ordinary functions
Function, buffer-shard-split: Public ordinary functions
Function, buffer-shard-split-priority: Private ordinary functions
Function, buffer-shard-split-priority-cache: Private ordinary functions
Function, buffer-shard-writers: Public ordinary functions
Function, buffer-size: Public ordinary functions
Function, buffer-size-in-bytes: Private ordinary functions
Function, buffer-stencils-alist-blueprint: Private ordinary functions
Function, buffer-storage: Public ordinary functions
Function, buffer-task: Public ordinary functions
Function, buffer-writers: Private ordinary functions
Function, bufferp: Public ordinary functions
Function, build-documentation: Private ordinary functions
Function, bytes-from-bits: Private ordinary functions
Function, c128-memref: Private ordinary functions
Function, c64-memref: Private ordinary functions
Function, call-instruction-fnrecord: Public ordinary functions
Function, call-instruction-function: Public ordinary functions
Function, call-instruction-inputs: Public ordinary functions
Function, call-instruction-number: Private ordinary functions
Function, call-instruction-number-of-values: Public ordinary functions
Function, call-instruction-p: Public ordinary functions
Function, call-with-pinned-objects: Private ordinary functions
Function, call-with-random-state: Private ordinary functions
Function, call-with-test-harness: Private ordinary functions
Function, call-with-testing-backend: Private ordinary functions
Function, callcount: Public ordinary functions
Function, canonicalize-inputs: Private ordinary functions
Function, canonicalize-outputs: Private ordinary functions
Function, canonicalize-transform-input: Private ordinary functions
Function, cenv-allocations: Private ordinary functions
Function, cenv-argument-ntypes: Private ordinary functions
Function, cenv-argument-shapes: Private ordinary functions
Function, cenv-backend: Private ordinary functions
Function, cenv-constant-arrays: Private ordinary functions
Function, cenv-constant-storage-vectors: Private ordinary functions
Function, cenv-result-ntypes: Private ordinary functions
Function, cenv-result-shapes: Private ordinary functions
Function, cenv-schedule: Private ordinary functions
Function, cenvp: Private ordinary functions
Function, cgraph-add-conflict: Public ordinary functions
Function, cgraph-coloring: Public ordinary functions
Function, cgraph-ensure-cnode: Public ordinary functions
Function, cgraph-p: Private ordinary functions
Function, cgraph-table: Private ordinary functions
Function, character-memref: Private ordinary functions
Function, check-cenv: Private ordinary functions
Function, check-ir: Public ordinary functions
Function, check-ir-node-eventually: Private ordinary functions
Function, check-package: Public ordinary functions
Function, check-program: Private ordinary functions
Function, check-reverse-link: Private ordinary functions
Function, check-shard-eventually: Private ordinary functions
Function, check-shards: Private ordinary functions
Function, class-name-p: Private ordinary functions
Function, clear-shape-table: Public ordinary functions
Function, clp2: Public ordinary functions
Function, cnode-color: Private ordinary functions
Function, cnode-colorset: Private ordinary functions
Function, cnode-degree: Private ordinary functions
Function, cnode-neighbors: Private ordinary functions
Function, cnode-object: Private ordinary functions
Function, cnode-p: Private ordinary functions
Function, cnode-queue-node: Private ordinary functions
Function, cnode-saturation: Private ordinary functions
Function, cnode>: Private ordinary functions
Function, coerce-to-ntype: Private ordinary functions
Function, collect-prune-buffer-dendrites-alist: Private ordinary functions
Function, colorset-add: Private ordinary functions
Function, colorset-contains: Private ordinary functions
Function, colorset-next-free-color: Private ordinary functions
Function, colorset-union: Private ordinary functions
Function, combine-subsets: Private ordinary functions
Function, combine-tuples: Private ordinary functions
Function, compare-solutions: Private ordinary functions
Function, compatible-with-lazy-array-p: Public ordinary functions
Function, compile-cache-p: Private ordinary functions
Function, compile-cache-table: Private ordinary functions
Function, completedp: Public ordinary functions
Function, compose-transformations: Public ordinary functions
Function, compute: Public ordinary functions
Function, compute-allocations: Private ordinary functions
Function, compute-asynchronously: Public ordinary functions
Function, compute-bpinfo-index: Private ordinary functions
Function, compute-bpinfo-indices: Private ordinary functions
Function, compute-bpinfo-ranges: Private ordinary functions
Function, compute-bpmemref: Private ordinary functions
Function, compute-bpmemrefs: Private ordinary functions
Function, compute-bprange: Private ordinary functions
Function, compute-bpstencil: Private ordinary functions
Function, compute-buffer-ghostspec: Private ordinary functions
Function, compute-buffer-shard-shape: Private ordinary functions
Function, compute-buffer-shard-vicinity: Public ordinary functions
Function, compute-delayed-array: Private ordinary functions
Function, compute-list-of-arrays: Public ordinary functions
Function, compute-program-buffer-coloring: Public ordinary functions
Function, compute-program-primogenitor-buffer-shard-vector: Private ordinary functions
Function, compute-schedule: Private ordinary functions
Function, compute-stencil-center: Public ordinary functions
Function, compute-transform-input-mask: Private ordinary functions
Function, compute-transform-output-functions: Private ordinary functions
Function, copy-action: Private ordinary functions
Function, copy-allocation: Private ordinary functions
Function, copy-bpcall: Private ordinary functions
Function, copy-bpconstant: Private ordinary functions
Function, copy-bpfunction: Private ordinary functions
Function, copy-bpinfo: Private ordinary functions
Function, copy-bpinstinfo: Private ordinary functions
Function, copy-bpinstruction: Private ordinary functions
Function, copy-bpioffset: Private ordinary functions
Function, copy-bpiref: Private ordinary functions
Function, copy-bpiscaling: Private ordinary functions
Function, copy-bpload: Private ordinary functions
Function, copy-bpmemref: Private ordinary functions
Function, copy-bprange: Private ordinary functions
Function, copy-bpstencil: Private ordinary functions
Function, copy-bpstore: Private ordinary functions
Function, copy-bpvalue: Private ordinary functions
Function, copy-bpvariable: Private ordinary functions
Function, copy-buffer: Private ordinary functions
Function, copy-buffer-shard: Private ordinary functions
Function, copy-cenv: Private ordinary functions
Function, copy-cgraph: Private ordinary functions
Function, copy-cnode: Private ordinary functions
Function, copy-compile-cache: Private ordinary functions
Function, copy-delayed-array: Private ordinary functions
Function, copy-delayed-failure: Private ordinary functions
Function, copy-delayed-fuse: Private ordinary functions
Function, copy-delayed-map: Private ordinary functions
Function, copy-delayed-multiple-value-map: Private ordinary functions
Function, copy-delayed-nop: Private ordinary functions
Function, copy-delayed-nth-value: Private ordinary functions
Function, copy-delayed-range: Private ordinary functions
Function, copy-delayed-reshape: Private ordinary functions
Function, copy-delayed-unknown: Private ordinary functions
Function, copy-delayed-wait: Private ordinary functions
Function, copy-dendrite: Private ordinary functions
Function, copy-denv: Private ordinary functions
Function, copy-ghostspec: Private ordinary functions
Function, copy-graph: Private ordinary functions
Function, copy-invocation: Private ordinary functions
Function, copy-ir-converter: Private ordinary functions
Function, copy-kernel: Private ordinary functions
Function, copy-kernel-shard: Private ordinary functions
Function, copy-layout: Private ordinary functions
Function, copy-lazy-arrays: Public ordinary functions
Function, copy-node: Private ordinary functions
Function, copy-node: Private ordinary functions
Function, copy-node-into: Private ordinary functions
Function, copy-nucleus: Private ordinary functions
Function, copy-pdfs-queue: Private ordinary functions
Function, copy-program: Private ordinary functions
Function, copy-prune: Private ordinary functions
Function, copy-simulated-memory: Private ordinary functions
Function, copy-split: Private ordinary functions
Function, copy-stem: Private ordinary functions
Function, copy-subset: Private ordinary functions
Function, copy-task: Private ordinary functions
Function, copy-tuple: Private ordinary functions
Function, copy-vicinity: Private ordinary functions
Function, count-mapped-elements: Private ordinary functions
Function, cpp-compile-blueprint: Private ordinary functions
Function, cpp-translate-argument: Private ordinary functions
Function, cpp-translate-blueprint: Private ordinary functions
Function, cpp-write-defun: Private ordinary functions
Function, cpp-write-instructions: Private ordinary functions
Function, cpp-write-loop: Private ordinary functions
Function, cqueue-dequeue: Public ordinary functions
Function, cqueue-enqueue: Public ordinary functions
Function, cqueue-h-lock: Private ordinary functions
Function, cqueue-head: Private ordinary functions
Function, cqueue-t-lock: Private ordinary functions
Function, cqueue-tail: Private ordinary functions
Function, cqueuep: Public ordinary functions
Function, defgeneric-name-p: Private ordinary functions
Function, defined-by-graphviz: Private ordinary functions
Function, deflater: Public ordinary functions
Function, deflating-transformation: Public ordinary functions
Function, defun-name-p: Private ordinary functions
Function, delayed-action-p: Public ordinary functions
Function, delayed-array-p: Public ordinary functions
Function, delayed-array-storage: Public ordinary functions
Function, delayed-failure-condition: Public ordinary functions
Function, delayed-failure-p: Public ordinary functions
Function, delayed-fuse-inputs: Public ordinary functions
Function, delayed-fuse-p: Public ordinary functions
Function, delayed-map-fnrecord: Public ordinary functions
Function, delayed-map-inputs: Public ordinary functions
Function, delayed-map-number-of-values: Public ordinary functions
Function, delayed-map-p: Public ordinary functions
Function, delayed-multiple-value-map-fnrecord: Public ordinary functions
Function, delayed-multiple-value-map-inputs: Public ordinary functions
Function, delayed-multiple-value-map-p: Public ordinary functions
Function, delayed-multiple-value-map-refbits: Public ordinary functions
Function, delayed-multiple-value-map-refbits-lock: Private ordinary functions
Function, delayed-multiple-value-map-values-ntype: Public ordinary functions
Function, delayed-nop-p: Public ordinary functions
Function, delayed-nth-value-input: Public ordinary functions
Function, delayed-nth-value-number: Public ordinary functions
Function, delayed-nth-value-p: Public ordinary functions
Function, delayed-range-p: Public ordinary functions
Function, delayed-reshape-input: Public ordinary functions
Function, delayed-reshape-p: Public ordinary functions
Function, delayed-reshape-transformation: Public ordinary functions
Function, delayed-unknown-p: Public ordinary functions
Function, delayed-wait-delayed-action: Public ordinary functions
Function, delayed-wait-p: Public ordinary functions
Function, delayed-wait-request: Public ordinary functions
Function, delete-kernel: Private ordinary functions
Function, dendrite-cons: Private ordinary functions
Function, dendrite-depth: Private ordinary functions
Function, dendrite-kernel: Private ordinary functions
Function, dendrite-nucleus: Private ordinary functions
Function, dendrite-p: Private ordinary functions
Function, dendrite-shape: Private ordinary functions
Function, dendrite-stem: Private ordinary functions
Function, dendrite-transformation: Private ordinary functions
Function, dendrite-validp: Private ordinary functions
Function, dendrite-value-n: Private ordinary functions
Function, denv-cenv: Private ordinary functions
Function, denv-pointers: Private ordinary functions
Function, denv-request: Private ordinary functions
Function, denv-result-arrays: Private ordinary functions
Function, denv-serious-condition-lock: Private ordinary functions
Function, denv-serious-conditions: Private ordinary functions
Function, denvp: Private ordinary functions
Function, destructure-transformoid: Private ordinary functions
Function, differentiator: Public ordinary functions
Function, differs-exactly-at: Private ordinary functions
Function, duplicates: Private ordinary functions
Function, empty-lazy-array: Public ordinary functions
Function, empty-lazy-arrays: Public ordinary functions
Function, empty-range: Public ordinary functions
Function, empty-range-p: Public ordinary functions
Function, empty-range-size: Private ordinary functions
Function, enlarge-shape: Public ordinary functions
Function, ensure-actions: Private ordinary functions
Function, ensure-array-buffer-compatibility: Public ordinary functions
Function, ensure-array-shape-ntype-compatibility: Public ordinary functions
Function, ensure-buffer-task: Private ordinary functions
Function, ensure-documentation: Private ordinary functions
Function, ensure-instruction-table: Private ordinary functions
Function, ensure-kernel-shard-invocation: Private ordinary functions
Function, ensure-node: Private ordinary functions
Function, ensure-nucleus: Private ordinary functions
Function, ensure-result: Private ordinary functions
Function, ensure-tasks: Private ordinary functions
Function, enter-test: Private ordinary functions
Function, evaluate: Private ordinary functions
Function, evaluator: Public ordinary functions
Function, evaluator-template: Private ordinary functions
Function, event-horizon: Private ordinary functions
Function, execute-node: Private ordinary functions
Function, expand-transform: Private ordinary functions
Function, expect-condition: Private ordinary functions
Function, extended-euclid: Public ordinary functions
Function, f32-memref: Private ordinary functions
Function, f64-memref: Private ordinary functions
Function, factorize-shape: Private ordinary functions
Function, fallback-host-device: Private ordinary functions
Function, file-open-p: Private ordinary functions
Function, finalize-buffer: Private ordinary functions
Function, finalize-ir: Private ordinary functions
Function, finalize-kernel: Private ordinary functions
Function, find-optimal-buffer-shard-split-axis: Private ordinary functions
Function, find-optimal-buffer-shard-split-position: Private ordinary functions
Function, find-prune: Private ordinary functions
Function, fixnum-memref: Private ordinary functions
Function, flatten: Private ordinary functions
Function, flp2: Public ordinary functions
Function, fnrecord-blueprint: Private ordinary functions
Function, fragment-difference-list: Private ordinary functions
Function, fragment-intersections: Private ordinary functions
Function, free-memory: Private ordinary functions
Function, free-variables: Private ordinary functions
Function, from-storage-transformation: Private ordinary functions
Function, function-cpp-info: Private ordinary functions
Function, function-cpp-translatable-p: Private ordinary functions
Function, fuse-shapes: Public ordinary functions
Function, fusion-test: Private ordinary functions
Function, generate-double-float: Private ordinary functions
Function, generate-integer: Private ordinary functions
Function, generate-lazy-array: Private ordinary functions
Function, generate-long-float: Private ordinary functions
Function, generate-matrix: Private ordinary functions
Function, generate-range: Private ordinary functions
Function, generate-shape: Private ordinary functions
Function, generate-short-float: Private ordinary functions
Function, generate-single-float: Private ordinary functions
Function, get-result: Private ordinary functions
Function, ghostspec-buffer: Private ordinary functions
Function, ghostspec-left-padding: Private ordinary functions
Function, ghostspec-left-padding-vec: Private ordinary functions
Function, ghostspec-pattern: Private ordinary functions
Function, ghostspec-right-padding: Private ordinary functions
Function, ghostspec-right-padding-vec: Private ordinary functions
Function, ghostspecp: Private ordinary functions
Function, graph-add-edge: Public ordinary functions
Function, graph-compute-distances: Private ordinary functions
Function, graph-compute-node-depth: Private ordinary functions
Function, graph-compute-node-height: Private ordinary functions
Function, graph-ensure-node: Public ordinary functions
Function, graph-object-nodes: Public ordinary functions
Function, graph-parallel-depth-first-schedule: Public ordinary functions
Function, graphp: Public ordinary functions
Function, grow-dendrite: Private ordinary functions
Function, hairy-transformation-input-mask: Private ordinary functions
Function, hairy-transformation-input-rank: Private ordinary functions
Function, hairy-transformation-inverse: Private ordinary functions
Function, hairy-transformation-offsets: Private ordinary functions
Function, hairy-transformation-output-mask: Private ordinary functions
Function, hairy-transformation-output-rank: Private ordinary functions
Function, hairy-transformation-p: Private ordinary functions
Function, hairy-transformation-scalings: Private ordinary functions
Function, harmonize: Public ordinary functions
Function, harmonized-element-type: Public ordinary functions
Function, hide-buffers: Private ordinary functions
Function, host-device: Public ordinary functions
Function, identity-transformation: Public ordinary functions
Function, identity-transformation-input-mask: Private ordinary functions
Function, identity-transformation-input-rank: Private ordinary functions
Function, identity-transformation-inverse: Private ordinary functions
Function, identity-transformation-offsets: Private ordinary functions
Function, identity-transformation-output-mask: Private ordinary functions
Function, identity-transformation-output-rank: Private ordinary functions
Function, identity-transformation-p: Public ordinary functions
Function, identity-transformation-scalings: Private ordinary functions
Function, index*: Public ordinary functions
Function, index+: Public ordinary functions
Function, indices-test: Private ordinary functions
Function, inflate-shape: Public ordinary functions
Function, insert-axis-after: Private ordinary functions
Function, insert-axis-before: Private ordinary functions
Function, insert-copy-kernel: Private ordinary functions
Function, instruction-blueprints: Private ordinary functions
Function, instruction-buffer: Private ordinary functions
Function, instruction-inputs: Public ordinary functions
Function, instruction-number: Public ordinary functions
Function, instruction-transformation: Public ordinary functions
Function, instructionp: Public ordinary functions
Function, interior-buffer-p: Public ordinary functions
Function, interpret-kernel: Private ordinary functions
Function, invocation-iteration-space: Private ordinary functions
Function, invocation-kernel: Private ordinary functions
Function, invocation-kfn: Private ordinary functions
Function, invocation-sources: Private ordinary functions
Function, invocation-targets: Private ordinary functions
Function, invocationp: Private ordinary functions
Function, ir-backend-array: Private ordinary functions
Function, ir-converter-array-table: Private ordinary functions
Function, ir-converter-buffer-dendrites-table: Private ordinary functions
Function, ir-converter-cons-updates: Private ordinary functions
Function, ir-converter-empty-p: Private ordinary functions
Function, ir-converter-kernel-size-threshold: Private ordinary functions
Function, ir-converter-leaf-alist: Private ordinary functions
Function, ir-converter-next-nucleus: Private ordinary functions
Function, ir-converter-nucleus-table: Private ordinary functions
Function, ir-converter-p: Private ordinary functions
Function, ir-converter-potentially-superfluous-buffers: Private ordinary functions
Function, ir-converter-pqueue: Private ordinary functions
Function, ir-converter-scalar-table: Private ordinary functions
Function, ir-converter-unknown-table: Private ordinary functions
Function, ir-from-lazy-arrays: Public ordinary functions
Function, iref-instruction-inputs: Private ordinary functions
Function, iref-instruction-number: Private ordinary functions
Function, iref-instruction-p: Public ordinary functions
Function, iref-instruction-transformation: Public ordinary functions
Function, iterating-instruction-p: Public ordinary functions
Function, iteration-space-blueprint: Public ordinary functions
Function, jacobi-test: Private ordinary functions
Function, karmarkar-karp: Public ordinary functions
Function, kernel-blueprint: Public ordinary functions
Function, kernel-cluster: Private ordinary functions
Function, kernel-cost: Public ordinary functions
Function, kernel-data: Private ordinary functions
Function, kernel-highest-instruction-number: Private ordinary functions
Function, kernel-instruction-vector: Public ordinary functions
Function, kernel-iteration-space: Public ordinary functions
Function, kernel-load-stencils: Public ordinary functions
Function, kernel-number: Public ordinary functions
Function, kernel-number-of-inputs: Private ordinary functions
Function, kernel-number-of-loads: Public ordinary functions
Function, kernel-number-of-outputs: Public ordinary functions
Function, kernel-number-of-stores: Public ordinary functions
Function, kernel-program: Public ordinary functions
Function, kernel-reuse-potential: Public ordinary functions
Function, kernel-shard-iteration-space: Public ordinary functions
Function, kernel-shard-kernel: Public ordinary functions
Function, kernel-shard-label: Private ordinary functions
Function, kernel-shard-more-important-p: Public ordinary functions
Function, kernel-shard-p: Public ordinary functions
Function, kernel-shard-sources: Public ordinary functions
Function, kernel-shard-targets: Public ordinary functions
Function, kernel-sources: Public ordinary functions
Function, kernel-store-stencils: Public ordinary functions
Function, kernel-targets: Public ordinary functions
Function, kernel-task: Public ordinary functions
Function, kernelp: Public ordinary functions
Function, layout-allocation: Public ordinary functions
Function, layout-bind: Private ordinary functions
Function, layout-ghost-layer-alist: Public ordinary functions
Function, layout-label: Private ordinary functions
Function, layout-ntype: Public ordinary functions
Function, layout-offset: Public ordinary functions
Function, layout-rank: Public ordinary functions
Function, layout-size: Public ordinary functions
Function, layout-size-in-bytes: Private ordinary functions
Function, layout-strides: Public ordinary functions
Function, layoutp: Public ordinary functions
Function, lazy: Public ordinary functions
Function, lazy-array: Public ordinary functions
Function, lazy-array-delayed-action: Public ordinary functions
Function, lazy-array-depth: Public ordinary functions
Function, lazy-array-dimension: Public ordinary functions
Function, lazy-array-dimensions: Public ordinary functions
Function, lazy-array-element-type: Public ordinary functions
Function, lazy-array-from-array: Public ordinary functions
Function, lazy-array-from-range: Public ordinary functions
Function, lazy-array-from-scalar: Public ordinary functions
Function, lazy-array-inputs: Public ordinary functions
Function, lazy-array-ntype: Public ordinary functions
Function, lazy-array-p: Public ordinary functions
Function, lazy-array-range: Public ordinary functions
Function, lazy-array-ranges: Public ordinary functions
Function, lazy-array-rank: Public ordinary functions
Function, lazy-array-refcount: Public ordinary functions
Function, lazy-array-shape: Public ordinary functions
Function, lazy-array-size: Public ordinary functions
Function, lazy-array-size-in-bytes: Private ordinary functions
Function, lazy-array-value: Private ordinary functions
Function, lazy-fuse: Public ordinary functions
Function, lazy-fuse-and-harmonize: Public ordinary functions
Function, lazy-index-components: Public ordinary functions
Function, lazy-keysort: Private ordinary functions
Function, lazy-map: Public ordinary functions
Function, lazy-map-test: Private ordinary functions
Function, lazy-multiple-value: Public ordinary functions
Function, lazy-multireshape: Private ordinary functions
Function, lazy-overwrite: Public ordinary functions
Function, lazy-overwrite-and-harmonize: Public ordinary functions
Function, lazy-rearrange: Public ordinary functions
Function, lazy-rearrange-test: Private ordinary functions
Function, lazy-rearrange/normalized: Private ordinary functions
Function, lazy-reduce: Public ordinary functions
Function, lazy-reduce-aux: Private ordinary functions
Function, lazy-ref: Public ordinary functions
Function, lazy-reshape: Public ordinary functions
Function, lazy-reshape-aux: Private ordinary functions
Function, lazy-reshape-using-function: Private ordinary functions
Function, lazy-reshape-using-shape: Private ordinary functions
Function, lazy-reshape-using-transformation: Private ordinary functions
Function, lazy-sort: Public ordinary functions
Function, lazy-sort-test: Private ordinary functions
Function, lazy-stack: Public ordinary functions
Function, lazy-unknown-p: Public ordinary functions
Function, lazy-unknowns: Public ordinary functions
Function, lazy-valuesort: Private ordinary functions
Function, leaf-buffer-p: Public ordinary functions
Function, linear-algebra-test: Private ordinary functions
Function, linux-host-device: Private ordinary functions
Function, lisp-compile-blueprint: Private ordinary functions
Function, lisp-translate-blueprint: Private ordinary functions
Function, listify-range-for-printing: Private ordinary functions
Function, listify-shape-for-printing: Private ordinary functions
Function, load-foreign-code: Public ordinary functions
Function, load-instruction-buffer: Public ordinary functions
Function, load-instruction-inputs: Private ordinary functions
Function, load-instruction-number: Private ordinary functions
Function, load-instruction-p: Public ordinary functions
Function, load-instruction-transformation: Public ordinary functions
Function, load-or-store-instruction-p: Public ordinary functions
Function, macro-name-p: Private ordinary functions
Function, make-action: Private ordinary functions
Function, make-ad-record: Private ordinary functions
Function, make-allocation: Private ordinary functions
Function, make-array-from-shape-and-ntype: Public ordinary functions
Function, make-bpcall: Private ordinary functions
Function, make-bpconstant: Private ordinary functions
Function, make-bpfunction: Private ordinary functions
Function, make-bpinfo: Private ordinary functions
Function, make-bpinstruction: Private ordinary functions
Function, make-bpioffset: Private ordinary functions
Function, make-bpiref: Private ordinary functions
Function, make-bpiscaling: Private ordinary functions
Function, make-bpload: Private ordinary functions
Function, make-bpmemref: Private ordinary functions
Function, make-bprange: Private ordinary functions
Function, make-bpstencil: Private ordinary functions
Function, make-bpstore: Private ordinary functions
Function, make-bpvalue: Private ordinary functions
Function, make-bpvariable: Private ordinary functions
Function, make-broadcasting-transformation: Private ordinary functions
Function, make-buffer: Public ordinary functions
Function, make-buffer-like-array: Public ordinary functions
Function, make-buffer-shard: Private ordinary functions
Function, make-buffer-shard-queue: Private ordinary functions
Function, make-call-form: Private ordinary functions
Function, make-call-instruction: Private ordinary functions
Function, make-cenv: Private ordinary functions
Function, make-cgraph: Public ordinary functions
Function, make-cnode: Private ordinary functions
Function, make-compile-cache: Private ordinary functions
Function, make-copy-invocation: Private ordinary functions
Function, make-cqueue: Public ordinary functions
Function, make-delayed-array: Public ordinary functions
Function, make-delayed-failure: Private ordinary functions
Function, make-delayed-fuse: Private ordinary functions
Function, make-delayed-map: Private ordinary functions
Function, make-delayed-multiple-value-map: Private ordinary functions
Function, make-delayed-nop: Private ordinary functions
Function, make-delayed-nth-value: Private ordinary functions
Function, make-delayed-range: Private ordinary functions
Function, make-delayed-reshape: Private ordinary functions
Function, make-delayed-unknown: Private ordinary functions
Function, make-delayed-wait: Private ordinary functions
Function, make-dendrite: Private ordinary functions
Function, make-denv: Private ordinary functions
Function, make-double-float-generator: Private ordinary functions
Function, make-ghostspec: Private ordinary functions
Function, make-graph: Public ordinary functions
Function, make-html-label: Private ordinary functions
Function, make-html-table-row: Private ordinary functions
Function, make-identity-transformation: Private ordinary functions
Function, make-integer-generator: Private ordinary functions
Function, make-invocation: Private ordinary functions
Function, make-ir-backend: Public ordinary functions
Function, make-ir-converter: Private ordinary functions
Function, make-iref-instruction: Private ordinary functions
Function, make-kernel: Public ordinary functions
Function, make-kernel-lambda: Public ordinary functions
Function, make-kernel-shard: Private ordinary functions
Function, make-layout: Private ordinary functions
Function, make-lazy-array: Private ordinary functions
Function, make-lazy-array-generator: Private ordinary functions
Function, make-load-instruction: Private ordinary functions
Function, make-long-float-generator: Private ordinary functions
Function, make-matrix-generator: Private ordinary functions
Function, make-native-backend: Public ordinary functions
Function, make-node: Private ordinary functions
Function, make-node: Private ordinary functions
Function, make-non-empty-range: Private ordinary functions
Function, make-nucleus: Private ordinary functions
Function, make-pdfs-queue: Private ordinary functions
Function, make-program: Public ordinary functions
Function, make-prune: Private ordinary functions
Function, make-range: Private ordinary functions
Function, make-range-generator: Private ordinary functions
Function, make-rank-zero-array: Public ordinary functions
Function, make-reference-backend: Public ordinary functions
Function, make-request: Private ordinary functions
Function, make-reshape-transformation: Private ordinary functions
Function, make-shape: Public ordinary functions
Function, make-shape-generator: Private ordinary functions
Function, make-shape-table: Public ordinary functions
Function, make-short-float-generator: Private ordinary functions
Function, make-simulated-memory: Private ordinary functions
Function, make-single-float-generator: Private ordinary functions
Function, make-split: Private ordinary functions
Function, make-split-queue: Private ordinary functions
Function, make-stem: Private ordinary functions
Function, make-stencil: Public ordinary functions
Function, make-store-instruction: Private ordinary functions
Function, make-subset: Private ordinary functions
Function, make-substitute-kernel: Private ordinary functions
Function, make-table-of-primes: Private ordinary functions
Function, make-task: Public ordinary functions
Function, make-testing-backend: Public ordinary functions
Function, make-transform-transformation: Private ordinary functions
Function, make-transformation: Public ordinary functions
Function, make-tuple: Private ordinary functions
Function, make-unknown: Public ordinary functions
Function, make-vicinity: Private ordinary functions
Function, make-work-invocation: Private ordinary functions
Function, make-worker-pool: Private ordinary functions
Function, map-buffer-inputs: Public ordinary functions
Function, map-buffer-load-instructions: Public ordinary functions
Function, map-buffer-outputs: Public ordinary functions
Function, map-buffer-store-instructions: Public ordinary functions
Function, map-buffers: Public ordinary functions
Function, map-buffers-and-kernels: Public ordinary functions
Function, map-instruction-inputs: Public ordinary functions
Function, map-kernel-inputs: Public ordinary functions
Function, map-kernel-instructions: Public ordinary functions
Function, map-kernel-load-instructions: Public ordinary functions
Function, map-kernel-outputs: Public ordinary functions
Function, map-kernel-stencils: Public ordinary functions
Function, map-kernel-store-instructions: Public ordinary functions
Function, map-kernels: Public ordinary functions
Function, map-program-buffer-groups: Public ordinary functions
Function, map-program-buffers: Public ordinary functions
Function, map-program-kernels: Public ordinary functions
Function, map-program-tasks: Public ordinary functions
Function, map-range: Public ordinary functions
Function, map-shape: Public ordinary functions
Function, map-stencil-instructions: Public ordinary functions
Function, map-task-defined-buffers: Public ordinary functions
Function, map-task-kernels: Public ordinary functions
Function, map-task-predecessors: Public ordinary functions
Function, map-task-successors: Public ordinary functions
Function, maxdepth: Private ordinary functions
Function, maybe-add-to-stencil: Private ordinary functions
Function, maybe-prune: Private ordinary functions
Function, merge-actions: Private ordinary functions
Function, mergeable-dendrites-p: Private ordinary functions
Function, message: Private ordinary functions
Function, mksym: Private ordinary functions
Function, move-axis-to-front: Public ordinary functions
Function, multiple-arguments: Private ordinary functions
Function, native-backend-unpack: Private ordinary functions
Function, ndarray: Private ordinary functions
Function, next-bpvar: Private ordinary functions
Function, node-affinity: Private ordinary functions
Function, node-counter: Private ordinary functions
Function, node-dependencies: Private ordinary functions
Function, node-depth: Public ordinary functions
Function, node-eagerness: Private ordinary functions
Function, node-fn: Private ordinary functions
Function, node-height: Public ordinary functions
Function, node-kernel: Private ordinary functions
Function, node-more-important-p: Private ordinary functions
Function, node-object: Private ordinary functions
Function, node-p: Private ordinary functions
Function, node-position: Private ordinary functions
Function, node-predecessor-alist: Public ordinary functions
Function, node-successor-alist: Public ordinary functions
Function, node-users: Private ordinary functions
Function, nodep: Public ordinary functions
Function, non-empty-range-p: Public ordinary functions
Function, normalizing-transformation: Public ordinary functions
Function, nth-prime-max-bits: Private ordinary functions
Function, nth-prime-upper-bound: Private ordinary functions
Function, ntype-bits-per-element: Private ordinary functions
Function, ntype-cpp-info: Private ordinary functions
Function, ntype-cpp-translatable-p: Private ordinary functions
Function, ntype-unboxed-p: Private ordinary functions
Function, nucleus-dendrites: Private ordinary functions
Function, nucleus-lazy-array: Private ordinary functions
Function, nucleus-ntype: Private ordinary functions
Function, nucleus-p: Private ordinary functions
Function, nucleus-shape: Private ordinary functions
Function, number-of-cpus: Public ordinary functions
Function, parse-cache-type: Private ordinary functions
Function, parse-defwrapper-lambda-list: Private ordinary functions
Function, parse-integer-set: Private ordinary functions
Function, parse-shape: Private ordinary functions
Function, parse-shape-pattern: Private ordinary functions
Function, parse-size: Private ordinary functions
Function, parse-transform-inputs: Private ordinary functions
Function, parse-transform-output: Private ordinary functions
Function, parse-transform-outputs: Private ordinary functions
Function, partition-dendrites: Private ordinary functions
Function, partition-program: Public ordinary functions
Function, pass: Private ordinary functions
Function, pdfs-queue-increase-node-eagerness: Private ordinary functions
Function, pdfs-queue-p: Private ordinary functions
Function, pdfs-queue-pop: Private ordinary functions
Function, pdfs-queue-priority-queue: Private ordinary functions
Function, pdfs-queue-push: Private ordinary functions
Function, pdfs-queue-size: Private ordinary functions
Function, pdfs-queue-tmpnode: Private ordinary functions
Function, peeler: Public ordinary functions
Function, pin-current-thread: Private ordinary functions
Function, plist-union: Private ordinary functions
Function, potentially-superfluous-buffer-p: Private ordinary functions
Function, prime-factors: Public ordinary functions
Function, primep: Public ordinary functions
Function, primogenitor-buffer-shard: Private ordinary functions
Function, print-package-statistics: Private ordinary functions
Function, print-platform-information: Private ordinary functions
Function, print-system-statistics: Private ordinary functions
Function, program-buffer: Public ordinary functions
Function, program-final-task: Public ordinary functions
Function, program-from-lazy-arrays: Public ordinary functions
Function, program-initial-task: Public ordinary functions
Function, program-kernel: Public ordinary functions
Function, program-leaf-alist: Public ordinary functions
Function, program-number-of-buffers: Public ordinary functions
Function, program-number-of-kernels: Public ordinary functions
Function, program-number-of-tasks: Public ordinary functions
Function, program-root-buffers: Public ordinary functions
Function, program-task-vector: Public ordinary functions
Function, programp: Public ordinary functions
Function, propagate-split: Private ordinary functions
Function, propagate-split/bmap: Private ordinary functions
Function, propagate-split/kmap: Private ordinary functions
Function, prune-bits: Private ordinary functions
Function, prune-buffers: Private ordinary functions
Function, prune-p: Private ordinary functions
Function, prune-superfluous-buffers: Private ordinary functions
Function, purge-unused-files-in-directory: Private ordinary functions
Function, range: Public ordinary functions
Function, range-contains: Public ordinary functions
Function, range-difference-list: Public ordinary functions
Function, range-difference-list--contiguous: Private ordinary functions
Function, range-difference-list--single: Private ordinary functions
Function, range-emptyp: Public ordinary functions
Function, range-end: Public ordinary functions
Function, range-intersection: Public ordinary functions
Function, range-intersection-start-end-step: Private ordinary functions
Function, range-intersectionp: Public ordinary functions
Function, range-last: Public ordinary functions
Function, range-peeler: Private ordinary functions
Function, range-size: Public ordinary functions
Function, range-slicer: Private ordinary functions
Function, range-start: Public ordinary functions
Function, range-step: Public ordinary functions
Function, range-test: Private ordinary functions
Function, range-with-size-one-p: Public ordinary functions
Function, range=: Public ordinary functions
Function, rangep: Public ordinary functions
Function, ranges-blueprint: Private ordinary functions
Function, rbgs-test: Private ordinary functions
Function, recompute-kernel-instruction-vector: Private ordinary functions
Function, recompute-program-task-vector: Private ordinary functions
Function, reduction-of-fusions: Private ordinary functions
Function, reduction-test: Private ordinary functions
Function, reference-to-delayed-unknown: Private ordinary functions
Function, refine-buffer-shard: Private ordinary functions
Function, refine-kernel-shard: Private ordinary functions
Function, refine-source: Private ordinary functions
Function, refine-target: Private ordinary functions
Function, register-free-variable: Private ordinary functions
Function, relative-position: Private ordinary functions
Function, remove-axis-after: Private ordinary functions
Function, remove-axis-before: Private ordinary functions
Function, remove-shape-table-entry: Public ordinary functions
Function, report: Private ordinary functions
Function, request-cvar: Private ordinary functions
Function, request-done: Private ordinary functions
Function, request-lock: Private ordinary functions
Function, reshape-randomly: Private ordinary functions
Function, reshape-test: Private ordinary functions
Function, reshape/flatten: Private ordinary functions
Function, reshape/unflatten: Private ordinary functions
Function, result-variables: Private ordinary functions
Function, reuse-optimizing-transformation: Public ordinary functions
Function, reverse-transform-axis-and-position: Private ordinary functions
Function, root-buffer-p: Public ordinary functions
Function, run-petalisp-test-suite: Public ordinary functions
Function, run-tests: Public ordinary functions
Function, s16-memref: Private ordinary functions
Function, s32-memref: Private ordinary functions
Function, s64-memref: Private ordinary functions
Function, s8-memref: Private ordinary functions
Function, select-masked-elements: Private ordinary functions
Function, shape-contains: Public ordinary functions
Function, shape-difference-list: Public ordinary functions
Function, shape-dimension: Public ordinary functions
Function, shape-dimensions: Public ordinary functions
Function, shape-emptyp: Public ordinary functions
Function, shape-intersection: Public ordinary functions
Function, shape-intersectionp: Public ordinary functions
Function, shape-prefix: Public ordinary functions
Function, shape-range: Public ordinary functions
Function, shape-ranges: Public ordinary functions
Function, shape-rank: Public ordinary functions
Function, shape-size: Public ordinary functions
Function, shape-strides: Private ordinary functions
Function, shape-subseq: Public ordinary functions
Function, shape-suffix: Public ordinary functions
Function, shape-table-ht: Private ordinary functions
Function, shape-table-p: Public ordinary functions
Function, shape-table-value: Public ordinary functions
Function, shape-with-size-one-p: Public ordinary functions
Function, shape<: Public ordinary functions
Function, shape=: Public ordinary functions
Function, shapep: Public ordinary functions
Function, shrink-shape: Public ordinary functions
Function, simplify-array: Private ordinary functions
Function, simplify-input: Private ordinary functions
Function, simplify-input: Private ordinary functions
Function, simulate-cenv-evaluation: Private ordinary functions
Function, simulate-references: Private ordinary functions
Function, simulated-memory-allocation: Private ordinary functions
Function, simulated-memory-generation: Private ordinary functions
Function, simulated-memory-mode: Private ordinary functions
Function, simulated-memory-p: Private ordinary functions
Function, simulated-memory-read-index: Private ordinary functions
Function, simulated-memory-read-shape: Private ordinary functions
Function, simulated-memory-table: Private ordinary functions
Function, simulated-memory-write-index: Private ordinary functions
Function, simulated-memory-write-shape: Private ordinary functions
Function, size-one-range-removing-transformation: Private ordinary functions
Function, slicer: Public ordinary functions
Function, split-axis: Public ordinary functions
Function, split-label: Private ordinary functions
Function, split-left-child: Public ordinary functions
Function, split-more-important-p: Private ordinary functions
Function, split-parent: Public ordinary functions
Function, split-position: Public ordinary functions
Function, split-queue-emptyp: Private ordinary functions
Function, split-queue-pop: Private ordinary functions
Function, split-queue-push: Private ordinary functions
Function, split-range: Public ordinary functions
Function, split-right-child: Public ordinary functions
Function, split-shape: Public ordinary functions
Function, splitp: Public ordinary functions
Function, start-worker: Private ordinary functions
Function, stem-buffers: Private ordinary functions
Function, stem-kernel: Private ordinary functions
Function, stem-nucleus: Private ordinary functions
Function, stem-p: Private ordinary functions
Function, stem-validp: Private ordinary functions
Function, stencil-buffer: Public ordinary functions
Function, stencil-center: Public ordinary functions
Function, stencil-from-instruction: Public ordinary functions
Function, stencil-input-rank: Public ordinary functions
Function, stencil-instruction-offsets: Private ordinary functions
Function, stencil-instructions: Public ordinary functions
Function, stencil-output-mask: Public ordinary functions
Function, stencil-output-rank: Public ordinary functions
Function, stencil-scalings: Public ordinary functions
Function, stencilp: Public ordinary functions
Function, stencils-blueprint: Private ordinary functions
Function, store-instruction-buffer: Public ordinary functions
Function, store-instruction-input: Public ordinary functions
Function, store-instruction-inputs: Private ordinary functions
Function, store-instruction-number: Private ordinary functions
Function, store-instruction-offsets: Private ordinary functions
Function, store-instruction-p: Public ordinary functions
Function, store-instruction-scalings: Private ordinary functions
Function, store-instruction-transformation: Public ordinary functions
Function, stringify: Private ordinary functions
Function, subdivide-arrays: Public ordinary functions
Function, subdivide-fragments: Private ordinary functions
Function, subdivide-shapes: Public ordinary functions
Function, subrangep: Public ordinary functions
Function, subset-elements: Private ordinary functions
Function, subset-p: Private ordinary functions
Function, subset-weight: Private ordinary functions
Function, subshapep: Public ordinary functions
Function, substitute-lazy-array: Public ordinary functions
Function, substitute-lazy-arrays: Public ordinary functions
Function, subtract-fragment-lists: Private ordinary functions
Function, suffix-factor: Private ordinary functions
Function, sum-axis: Private ordinary functions
Function, sum-of-pairs: Private ordinary functions
Function, superimpose-ranges: Public ordinary functions
Function, superimpose-shapes: Public ordinary functions
Function, symbol-defined-p: Private ordinary functions
Function, symbol-methods: Private ordinary functions
Function, system-git-revision: Private ordinary functions
Function, system-source-file-pathnames: Private ordinary functions
Function, task-cluster: Private ordinary functions
Function, task-defined-buffers: Private ordinary functions
Function, task-kernels: Private ordinary functions
Function, task-number: Public ordinary functions
Function, task-predecessors: Private ordinary functions
Function, task-program: Public ordinary functions
Function, task-successors: Private ordinary functions
Function, taskp: Public ordinary functions
Function, touch: Private ordinary functions
Function, transform-axis-and-position: Private ordinary functions
Function, transform-buffer: Private ordinary functions
Function, transform-kernel: Private ordinary functions
Function, transformation-blueprint: Public ordinary functions
Function, transformation-identityp: Public ordinary functions
Function, transformation-input-mask: Public ordinary functions
Function, transformation-input-rank: Public ordinary functions
Function, transformation-input-symbol: Private ordinary functions
Function, transformation-inverse: Private ordinary functions
Function, transformation-invertiblep: Public ordinary functions
Function, transformation-offsets: Public ordinary functions
Function, transformation-output-mask: Public ordinary functions
Function, transformation-output-rank: Public ordinary functions
Function, transformation-scalings: Public ordinary functions
Function, transformationp: Public ordinary functions
Function, trivial-object-p: Private ordinary functions
Function, trivial-object-value: Private ordinary functions
Function, tuple-from-object: Private ordinary functions
Function, tuple-p: Private ordinary functions
Function, tuple-subset: Private ordinary functions
Function, tuple-subsets: Private ordinary functions
Function, tuple-weight: Private ordinary functions
Function, tuple>: Private ordinary functions
Function, type-specifier-p: Private ordinary functions
Function, u1-memref: Private ordinary functions
Function, u16-memref: Private ordinary functions
Function, u2-memref: Private ordinary functions
Function, u32-memref: Private ordinary functions
Function, u4-memref: Private ordinary functions
Function, u64-memref: Private ordinary functions
Function, u8-memref: Private ordinary functions
Function, unlink-kernel-shard: Private ordinary functions
Function, unpack-array: Public ordinary functions
Function, v-cycle-test: Private ordinary functions
Function, value-array: Public ordinary functions
Function, value-blueprint: Private ordinary functions
Function, vicinity-left-neighbors: Public ordinary functions
Function, vicinity-left-neighbors-vec: Private ordinary functions
Function, vicinity-right-neighbors: Public ordinary functions
Function, vicinity-right-neighbors-vec: Private ordinary functions
Function, vicinityp: Public ordinary functions
Function, view: Public ordinary functions
Function, wait: Public ordinary functions
Function, worker-barrier-sense: Private ordinary functions
Function, worker-enqueue: Private ordinary functions
Function, worker-evaluate: Private ordinary functions
Function, worker-id: Private ordinary functions
Function, worker-loop: Private ordinary functions
Function, worker-pool-active: Private ordinary functions
Function, worker-pool-barrier-countdown: Private ordinary functions
Function, worker-pool-barrier-sense: Private ordinary functions
Function, worker-pool-join: Private ordinary functions
Function, worker-pool-liveness: Private ordinary functions
Function, worker-pool-p: Private ordinary functions
Function, worker-pool-size: Private ordinary functions
Function, worker-pool-worker: Private ordinary functions
Function, worker-pool-workers: Private ordinary functions
Function, worker-queue: Private ordinary functions
Function, worker-serious-conditions: Private ordinary functions
Function, worker-synchronize-and-invoke: Private ordinary functions
Function, worker-thread: Private ordinary functions
Function, worker-worker-pool: Private ordinary functions
Function, workerp: Private ordinary functions
Function, ~: Public ordinary functions
Function, ~*: Public ordinary functions
function-cpp-info: Private ordinary functions
function-cpp-translatable-p: Private ordinary functions
fuse-shapes: Public ordinary functions
fusion-test: Private ordinary functions

G
generate-double-float: Private ordinary functions
generate-graph-from-roots: Public standalone methods
generate-graph-from-roots: Public standalone methods
generate-graph-from-roots: Public standalone methods
generate-integer: Private ordinary functions
generate-lazy-array: Private ordinary functions
generate-long-float: Private ordinary functions
generate-matrix: Private ordinary functions
generate-range: Private ordinary functions
generate-shape: Private ordinary functions
generate-short-float: Private ordinary functions
generate-single-float: Private ordinary functions
Generic Function, (setf backend-debug-flag): Public generic functions
Generic Function, (setf memory-children-slot): Private generic functions
Generic Function, (setf memory-cores-slot): Private generic functions
Generic Function, approximately-equal: Private generic functions
Generic Function, backend-compute: Public generic functions
Generic Function, backend-compute-asynchronously: Public generic functions
Generic Function, backend-debug-flag: Public generic functions
Generic Function, backend-evaluator: Public generic functions
Generic Function, backend-worker-pool: Private generic functions
Generic Function, backendp: Public generic functions
Generic Function, bpinstruction-form: Private generic functions
Generic Function, bpvalue-form: Private generic functions
Generic Function, bpvalue=: Private generic functions
Generic Function, check-ir-node: Private generic functions
Generic Function, check-shard: Private generic functions
Generic Function, clone-reference: Private generic functions
Generic Function, compile-blueprint: Public generic functions
Generic Function, compile-cache: Private generic functions
Generic Function, compile-kernel: Public generic functions
Generic Function, compose-two-transformations: Private generic functions
Generic Function, convert-nucleus: Private generic functions
Generic Function, core-memory: Public generic functions
Generic Function, core-name: Public generic functions
Generic Function, delayed-action-inputs: Public generic functions
Generic Function, delayed-action-value: Private generic functions
Generic Function, delete-backend: Public generic functions
Generic Function, device-cores: Public generic functions
Generic Function, device-memory: Public generic functions
Generic Function, device-name: Public generic functions
Generic Function, enlarge-transformation: Public generic functions
Generic Function, graphviz-default-graph: Private generic functions
Generic Function, graphviz-edge-attributes: Private generic functions
Generic Function, graphviz-graph-attributes: Private generic functions
Generic Function, graphviz-incoming-edge-origins: Private generic functions
Generic Function, graphviz-known-nodes: Private generic functions
Generic Function, graphviz-node-attributes: Private generic functions
Generic Function, graphviz-node-caption: Private generic functions
Generic Function, graphviz-node-properties: Private generic functions
Generic Function, graphviz-outgoing-edge-targets: Private generic functions
Generic Function, graphviz-potential-edges: Private generic functions
Generic Function, grow-dendrite-aux: Private generic functions
Generic Function, inflate-transformation: Public generic functions
Generic Function, input-gradient: Private generic functions
Generic Function, instruction-blueprint: Private generic functions
Generic Function, instruction-number-of-values: Public generic functions
Generic Function, invert-transformation: Public generic functions
Generic Function, ir-backend-compile-cache: Private generic functions
Generic Function, ir-backend-compiled: Private generic functions
Generic Function, ir-backend-interpreted: Private generic functions
Generic Function, ir-backend-mode: Private generic functions
Generic Function, load-function: Public generic functions
Generic Function, map-transformation-inputs: Public generic functions
Generic Function, map-transformation-outputs: Public generic functions
Generic Function, memory-bandwidth: Public generic functions
Generic Function, memory-children: Public generic functions
Generic Function, memory-children-slot: Private generic functions
Generic Function, memory-cores: Public generic functions
Generic Function, memory-cores-slot: Private generic functions
Generic Function, memory-granularity: Public generic functions
Generic Function, memory-latency: Public generic functions
Generic Function, memory-name: Public generic functions
Generic Function, memory-parent: Public generic functions
Generic Function, memory-parent-bandwidth: Public generic functions
Generic Function, memory-size: Public generic functions
Generic Function, native-backend: Private generic functions
Generic Function, reference-backend: Private generic functions
Generic Function, request-completedp: Public generic functions
Generic Function, request-wait: Public generic functions
Generic Function, requestp: Public generic functions
Generic Function, serious-conditions: Private generic functions
Generic Function, shape-designator-shape: Public generic functions
Generic Function, source-function: Public generic functions
Generic Function, store-function: Public generic functions
Generic Function, substitute-delayed-action: Public generic functions
Generic Function, target-function: Public generic functions
Generic Function, transform-axis: Public generic functions
Generic Function, transform-index: Public generic functions
Generic Function, transform-instruction-input: Private generic functions
Generic Function, transform-instruction-output: Private generic functions
Generic Function, transform-shape: Public generic functions
Generic Function, transformation-similar: Public generic functions
Generic Function, transformation=: Public generic functions
Generic Function, trivial-lazy-array-p: Private generic functions
Generic Function, trivial-lazy-array-value: Private generic functions
Generic Function, unpack-function: Public generic functions
get-result: Private ordinary functions
ghostspec-buffer: Private ordinary functions
ghostspec-left-padding: Private ordinary functions
ghostspec-left-padding-vec: Private ordinary functions
ghostspec-pattern: Private ordinary functions
ghostspec-right-padding: Private ordinary functions
ghostspec-right-padding-vec: Private ordinary functions
ghostspecp: Private ordinary functions
graph-add-edge: Public ordinary functions
graph-compute-distances: Private ordinary functions
graph-compute-node-depth: Private ordinary functions
graph-compute-node-height: Private ordinary functions
graph-ensure-node: Public ordinary functions
graph-object-cluster: Public standalone methods
graph-object-cluster: Public standalone methods
graph-object-cluster: Public standalone methods
graph-object-knows-of: Public standalone methods
graph-object-knows-of: Public standalone methods
graph-object-node: Public standalone methods
graph-object-node: Public standalone methods
graph-object-node: Public standalone methods
graph-object-node: Public standalone methods
graph-object-nodes: Public ordinary functions
graph-object-pointed-to-by: Public standalone methods
graph-object-pointed-to-by: Public standalone methods
graph-object-points-to: Public standalone methods
graph-object-points-to: Public standalone methods
graph-parallel-depth-first-schedule: Public ordinary functions
graphp: Public ordinary functions
graphviz-attributes: Private method combinations
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-default-graph: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-edge-attributes: Private generic functions
graphviz-graph-attributes: Private generic functions
graphviz-graph-attributes: Private generic functions
graphviz-graph-attributes: Private generic functions
graphviz-graph-attributes: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-incoming-edge-origins: Private generic functions
graphviz-known-nodes: Private generic functions
graphviz-known-nodes: Private generic functions
graphviz-known-nodes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-attributes: Private generic functions
graphviz-node-caption: Private generic functions
graphviz-node-caption: Private generic functions
graphviz-node-caption: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-node-properties: Private generic functions
graphviz-outgoing-edge-targets: Private generic functions
graphviz-outgoing-edge-targets: Private generic functions
graphviz-outgoing-edge-targets: Private generic functions
graphviz-outgoing-edge-targets: Private generic functions
graphviz-outgoing-edge-targets: Private generic functions
graphviz-potential-edges: Private generic functions
graphviz-potential-edges: Private generic functions
graphviz-potential-edges: Private generic functions
graphviz-potential-edges: Private generic functions
graphviz-potential-edges: Private generic functions
graphviz-potential-edges: Private generic functions
grow-dendrite: Private ordinary functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions
grow-dendrite-aux: Private generic functions

H
hairy-transformation-input-mask: Private ordinary functions
hairy-transformation-input-rank: Private ordinary functions
hairy-transformation-inverse: Private ordinary functions
hairy-transformation-offsets: Private ordinary functions
hairy-transformation-output-mask: Private ordinary functions
hairy-transformation-output-rank: Private ordinary functions
hairy-transformation-p: Private ordinary functions
hairy-transformation-scalings: Private ordinary functions
harmonize: Public ordinary functions
harmonized-element-type: Public ordinary functions
hide-buffers: Private ordinary functions
host-device: Public ordinary functions

I
identity-transformation: Public ordinary functions
identity-transformation-input-mask: Private ordinary functions
identity-transformation-input-rank: Private ordinary functions
identity-transformation-inverse: Private ordinary functions
identity-transformation-offsets: Private ordinary functions
identity-transformation-output-mask: Private ordinary functions
identity-transformation-output-rank: Private ordinary functions
identity-transformation-p: Public ordinary functions
identity-transformation-scalings: Private ordinary functions
index*: Public compiler macros
index*: Public ordinary functions
index+: Public compiler macros
index+: Public ordinary functions
indices-test: Private ordinary functions
inflate-shape: Public ordinary functions
inflate-transformation: Public generic functions
inflate-transformation: Public generic functions
inflate-transformation: Public generic functions
inflate-transformation: Public generic functions
initialize-instance: Public standalone methods
input-gradient: Private generic functions
input-gradient: Private generic functions
input-gradient: Private generic functions
input-gradient: Private generic functions
insert-axis-after: Private ordinary functions
insert-axis-before: Private ordinary functions
insert-copy-kernel: Private ordinary functions
instruction-blueprint: Private generic functions
instruction-blueprint: Private generic functions
instruction-blueprint: Private generic functions
instruction-blueprint: Private generic functions
instruction-blueprint: Private generic functions
instruction-blueprints: Private ordinary functions
instruction-buffer: Private ordinary functions
instruction-inputs: Public ordinary functions
instruction-number: Public ordinary functions
instruction-number-of-values: Public generic functions
instruction-number-of-values: Public generic functions
instruction-number-of-values: Public generic functions
instruction-number-of-values: Public generic functions
instruction-number-of-values: Public generic functions
instruction-transformation: Public ordinary functions
instructionp: Public ordinary functions
interior-buffer-p: Public ordinary functions
interpret-kernel: Private ordinary functions
invert-transformation: Public generic functions
invert-transformation: Public generic functions
invert-transformation: Public generic functions
invocation-iteration-space: Private ordinary functions
invocation-kernel: Private ordinary functions
invocation-kfn: Private ordinary functions
invocation-sources: Private ordinary functions
invocation-targets: Private ordinary functions
invocationp: Private ordinary functions
ir-backend-array: Private ordinary functions
ir-backend-compile-cache: Private generic functions
ir-backend-compile-cache: Private generic functions
ir-backend-compiled: Private generic functions
ir-backend-compiled: Private generic functions
ir-backend-interpreted: Private generic functions
ir-backend-interpreted: Private generic functions
ir-backend-mode: Private generic functions
ir-backend-mode: Private generic functions
ir-converter-array-table: Private ordinary functions
ir-converter-buffer-dendrites-table: Private ordinary functions
ir-converter-cons-updates: Private ordinary functions
ir-converter-empty-p: Private ordinary functions
ir-converter-kernel-size-threshold: Private ordinary functions
ir-converter-leaf-alist: Private ordinary functions
ir-converter-next-nucleus: Private ordinary functions
ir-converter-nucleus-table: Private ordinary functions
ir-converter-p: Private ordinary functions
ir-converter-potentially-superfluous-buffers: Private ordinary functions
ir-converter-pqueue: Private ordinary functions
ir-converter-scalar-table: Private ordinary functions
ir-converter-unknown-table: Private ordinary functions
ir-from-lazy-arrays: Public ordinary functions
iref-instruction-inputs: Private ordinary functions
iref-instruction-number: Private ordinary functions
iref-instruction-p: Public ordinary functions
iref-instruction-transformation: Public ordinary functions
is: Public macros
iterating-instruction-p: Public ordinary functions
iteration-space-blueprint: Public ordinary functions

J
jacobi-test: Private ordinary functions

K
karmarkar-karp: Public ordinary functions
kernel-blueprint: Public ordinary functions
kernel-cluster: Private ordinary functions
kernel-cost: Public ordinary functions
kernel-data: Private ordinary functions
kernel-highest-instruction-number: Private ordinary functions
kernel-instruction-vector: Public ordinary functions
kernel-iteration-space: Public ordinary functions
kernel-load-stencils: Public ordinary functions
kernel-number: Public ordinary functions
kernel-number-of-inputs: Private ordinary functions
kernel-number-of-loads: Public ordinary functions
kernel-number-of-outputs: Public ordinary functions
kernel-number-of-stores: Public ordinary functions
kernel-program: Public ordinary functions
kernel-reuse-potential: Public ordinary functions
kernel-shard-iteration-space: Public ordinary functions
kernel-shard-kernel: Public ordinary functions
kernel-shard-label: Private ordinary functions
kernel-shard-more-important-p: Public ordinary functions
kernel-shard-p: Public ordinary functions
kernel-shard-sources: Public ordinary functions
kernel-shard-targets: Public ordinary functions
kernel-sources: Public ordinary functions
kernel-store-stencils: Public ordinary functions
kernel-targets: Public ordinary functions
kernel-task: Public ordinary functions
kernelp: Public ordinary functions

L
layout-allocation: Public ordinary functions
layout-bind: Private ordinary functions
layout-ghost-layer-alist: Public ordinary functions
layout-label: Private ordinary functions
layout-ntype: Public ordinary functions
layout-offset: Public ordinary functions
layout-rank: Public ordinary functions
layout-size: Public ordinary functions
layout-size-in-bytes: Private ordinary functions
layout-strides: Public ordinary functions
layoutp: Public ordinary functions
lazy: Public ordinary functions
lazy-array: Public ordinary functions
lazy-array-delayed-action: Public ordinary functions
lazy-array-depth: Public ordinary functions
lazy-array-dimension: Public ordinary functions
lazy-array-dimensions: Public ordinary functions
lazy-array-element-type: Public ordinary functions
lazy-array-from-array: Public ordinary functions
lazy-array-from-range: Public ordinary functions
lazy-array-from-scalar: Public ordinary functions
lazy-array-inputs: Public ordinary functions
lazy-array-ntype: Public ordinary functions
lazy-array-p: Public ordinary functions
lazy-array-range: Public ordinary functions
lazy-array-ranges: Public ordinary functions
lazy-array-rank: Public ordinary functions
lazy-array-refcount: Public ordinary functions
lazy-array-shape: Public ordinary functions
lazy-array-size: Public ordinary functions
lazy-array-size-in-bytes: Private ordinary functions
lazy-array-value: Private ordinary functions
lazy-fuse: Public ordinary functions
lazy-fuse-and-harmonize: Public ordinary functions
lazy-index-components: Public ordinary functions
lazy-keysort: Private ordinary functions
lazy-map: Public ordinary functions
lazy-map-test: Private ordinary functions
lazy-multiple-value: Public ordinary functions
lazy-multireshape: Private ordinary functions
lazy-overwrite: Public ordinary functions
lazy-overwrite-and-harmonize: Public ordinary functions
lazy-rearrange: Public ordinary functions
lazy-rearrange-test: Private ordinary functions
lazy-rearrange/normalized: Private ordinary functions
lazy-reduce: Public ordinary functions
lazy-reduce-aux: Private ordinary functions
lazy-ref: Public ordinary functions
lazy-reshape: Public ordinary functions
lazy-reshape-aux: Private ordinary functions
lazy-reshape-using-function: Private ordinary functions
lazy-reshape-using-shape: Private ordinary functions
lazy-reshape-using-transformation: Private ordinary functions
lazy-sort: Public ordinary functions
lazy-sort-test: Private ordinary functions
lazy-stack: Public ordinary functions
lazy-unknown-p: Public ordinary functions
lazy-unknowns: Public ordinary functions
lazy-valuesort: Private ordinary functions
leaf-buffer-p: Public ordinary functions
linear-algebra-test: Private ordinary functions
linux-host-device: Private ordinary functions
lisp-compile-blueprint: Private ordinary functions
lisp-translate-blueprint: Private ordinary functions
listify-range-for-printing: Private ordinary functions
listify-shape-for-printing: Private ordinary functions
load-foreign-code: Public ordinary functions
load-function: Public generic functions
load-function: Public generic functions
load-function: Public generic functions
load-instruction-buffer: Public ordinary functions
load-instruction-inputs: Private ordinary functions
load-instruction-number: Private ordinary functions
load-instruction-p: Public ordinary functions
load-instruction-transformation: Public ordinary functions
load-or-store-instruction-p: Public ordinary functions

M
Macro, ad-record-input-gradient-cache: Private macros
Macro, bind: Private macros
Macro, buffer-dendrites: Private macros
Macro, defgenerator: Private macros
Macro, define-float-generator: Private macros
Macro, define-test: Public macros
Macro, defwrapper: Private macros
Macro, do-buffer-inputs: Public macros
Macro, do-buffer-load-instructions: Public macros
Macro, do-buffer-outputs: Public macros
Macro, do-buffer-store-instructions: Public macros
Macro, do-instruction-inputs: Public macros
Macro, do-kernel-inputs: Public macros
Macro, do-kernel-instructions: Public macros
Macro, do-kernel-load-instructions: Public macros
Macro, do-kernel-outputs: Public macros
Macro, do-kernel-stencils: Private macros
Macro, do-kernel-store-instructions: Public macros
Macro, do-program-buffer-groups: Public macros
Macro, do-program-buffers: Public macros
Macro, do-program-kernels: Public macros
Macro, do-program-tasks: Public macros
Macro, do-stencil-instructions: Public macros
Macro, do-task-defined-buffers: Public macros
Macro, do-task-kernels: Public macros
Macro, do-task-predecessors: Public macros
Macro, do-task-successors: Public macros
Macro, document-compiler-macro: Public macros
Macro, document-compiler-macros: Public macros
Macro, document-function: Public macros
Macro, document-functions: Public macros
Macro, document-method-combination: Public macros
Macro, document-method-combinations: Public macros
Macro, document-setf-expander: Public macros
Macro, document-setf-expanders: Public macros
Macro, document-structure: Public macros
Macro, document-structures: Public macros
Macro, document-type: Private macros
Macro, document-types: Private macros
Macro, document-variable: Public macros
Macro, document-variables: Public macros
Macro, ensure-instruction-clone: Private macros
Macro, expand-documentation: Private macros
Macro, is: Public macros
Macro, maxf: Private macros
Macro, signals: Public macros
Macro, transform: Public macros
Macro, with-collector: Private macros
Macro, with-collectors: Public macros
Macro, with-debug-optimization: Public macros
Macro, with-inspection: Public macros
Macro, with-lazy-arrays: Public macros
Macro, with-pinned-objects: Public macros
Macro, with-pinned-objects*: Public macros
Macro, with-random-state: Private macros
Macro, with-temporary-backend: Public macros
Macro, with-test-harness: Private macros
Macro, with-testing-backend: Private macros
Macro, with-unsafe-optimization: Public macros
Macro, with-unsafe-optimization*: Public macros
Macro, without-compiler-notes: Public macros
macro-name-p: Private ordinary functions
make-action: Private ordinary functions
make-ad-record: Private ordinary functions
make-allocation: Private ordinary functions
make-array-from-shape-and-ntype: Public ordinary functions
make-bpcall: Private ordinary functions
make-bpconstant: Private ordinary functions
make-bpfunction: Private ordinary functions
make-bpinfo: Private ordinary functions
make-bpinstruction: Private ordinary functions
make-bpioffset: Private ordinary functions
make-bpiref: Private ordinary functions
make-bpiscaling: Private ordinary functions
make-bpload: Private ordinary functions
make-bpmemref: Private ordinary functions
make-bprange: Private ordinary functions
make-bpstencil: Private ordinary functions
make-bpstore: Private ordinary functions
make-bpvalue: Private ordinary functions
make-bpvariable: Private ordinary functions
make-broadcasting-transformation: Private ordinary functions
make-buffer: Public ordinary functions
make-buffer-like-array: Public ordinary functions
make-buffer-shard: Private ordinary functions
make-buffer-shard-queue: Private ordinary functions
make-call-form: Private ordinary functions
make-call-instruction: Private ordinary functions
make-cenv: Private ordinary functions
make-cgraph: Public ordinary functions
make-cnode: Private ordinary functions
make-compile-cache: Private ordinary functions
make-copy-invocation: Private ordinary functions
make-cqueue: Public ordinary functions
make-delayed-array: Public ordinary functions
make-delayed-failure: Private ordinary functions
make-delayed-fuse: Private ordinary functions
make-delayed-map: Private ordinary functions
make-delayed-multiple-value-map: Private ordinary functions
make-delayed-nop: Private ordinary functions
make-delayed-nth-value: Private ordinary functions
make-delayed-range: Private ordinary functions
make-delayed-reshape: Private ordinary functions
make-delayed-unknown: Private ordinary functions
make-delayed-wait: Private ordinary functions
make-dendrite: Private ordinary functions
make-denv: Private ordinary functions
make-double-float-generator: Private ordinary functions
make-ghostspec: Private ordinary functions
make-graph: Public ordinary functions
make-html-label: Private ordinary functions
make-html-table-row: Private ordinary functions
make-identity-transformation: Private ordinary functions
make-integer-generator: Private ordinary functions
make-invocation: Private ordinary functions
make-ir-backend: Public ordinary functions
make-ir-converter: Private ordinary functions
make-iref-instruction: Private ordinary functions
make-kernel: Public ordinary functions
make-kernel-lambda: Public ordinary functions
make-kernel-shard: Private ordinary functions
make-layout: Private ordinary functions
make-lazy-array: Private ordinary functions
make-lazy-array-generator: Private ordinary functions
make-load-instruction: Private ordinary functions
make-long-float-generator: Private ordinary functions
make-matrix-generator: Private ordinary functions
make-native-backend: Public ordinary functions
make-node: Private ordinary functions
make-node: Private ordinary functions
make-non-empty-range: Private ordinary functions
make-nucleus: Private ordinary functions
make-pdfs-queue: Private ordinary functions
make-program: Public ordinary functions
make-prune: Private ordinary functions
make-range: Private ordinary functions
make-range-generator: Private ordinary functions
make-rank-zero-array: Public ordinary functions
make-reference-backend: Public ordinary functions
make-request: Private ordinary functions
make-reshape-transformation: Private ordinary functions
make-shape: Public ordinary functions
make-shape-generator: Private ordinary functions
make-shape-table: Public ordinary functions
make-short-float-generator: Private ordinary functions
make-simulated-memory: Private ordinary functions
make-single-float-generator: Private ordinary functions
make-split: Private ordinary functions
make-split-queue: Private ordinary functions
make-stem: Private ordinary functions
make-stencil: Public ordinary functions
make-store-instruction: Private ordinary functions
make-subset: Private ordinary functions
make-substitute-kernel: Private ordinary functions
make-table-of-primes: Private ordinary functions
make-task: Public ordinary functions
make-testing-backend: Public ordinary functions
make-transform-transformation: Private ordinary functions
make-transformation: Public ordinary functions
make-tuple: Private ordinary functions
make-unknown: Public ordinary functions
make-vicinity: Private ordinary functions
make-work-invocation: Private ordinary functions
make-worker-pool: Private ordinary functions
map-buffer-inputs: Public ordinary functions
map-buffer-load-instructions: Public ordinary functions
map-buffer-outputs: Public ordinary functions
map-buffer-store-instructions: Public ordinary functions
map-buffers: Public ordinary functions
map-buffers-and-kernels: Public ordinary functions
map-instruction-inputs: Public ordinary functions
map-kernel-inputs: Public ordinary functions
map-kernel-instructions: Public ordinary functions
map-kernel-load-instructions: Public ordinary functions
map-kernel-outputs: Public ordinary functions
map-kernel-stencils: Public ordinary functions
map-kernel-store-instructions: Public ordinary functions
map-kernels: Public ordinary functions
map-program-buffer-groups: Public ordinary functions
map-program-buffers: Public ordinary functions
map-program-kernels: Public ordinary functions
map-program-tasks: Public ordinary functions
map-range: Public ordinary functions
map-shape: Public ordinary functions
map-stencil-instructions: Public ordinary functions
map-task-defined-buffers: Public ordinary functions
map-task-kernels: Public ordinary functions
map-task-predecessors: Public ordinary functions
map-task-successors: Public ordinary functions
map-transformation-inputs: Public generic functions
map-transformation-inputs: Public generic functions
map-transformation-inputs: Public generic functions
map-transformation-outputs: Public generic functions
map-transformation-outputs: Public generic functions
map-transformation-outputs: Public generic functions
maxdepth: Private ordinary functions
maxf: Private macros
maybe-add-to-stencil: Private ordinary functions
maybe-prune: Private ordinary functions
memory-bandwidth: Public generic functions
memory-bandwidth: Public generic functions
memory-children: Public generic functions
memory-children: Public generic functions
memory-children-slot: Private generic functions
memory-children-slot: Private generic functions
memory-cores: Public generic functions
memory-cores: Public generic functions
memory-cores-slot: Private generic functions
memory-cores-slot: Private generic functions
memory-granularity: Public generic functions
memory-granularity: Public generic functions
memory-latency: Public generic functions
memory-latency: Public generic functions
memory-name: Public generic functions
memory-name: Public generic functions
memory-parent: Public generic functions
memory-parent: Public generic functions
memory-parent-bandwidth: Public generic functions
memory-parent-bandwidth: Public generic functions
memory-size: Public generic functions
memory-size: Public generic functions
merge-actions: Private ordinary functions
mergeable-dendrites-p: Private ordinary functions
message: Private ordinary functions
Method Combination, graphviz-attributes: Private method combinations
Method, (setf backend-debug-flag): Public generic functions
Method, (setf memory-children-slot): Private generic functions
Method, (setf memory-cores-slot): Private generic functions
Method, approximately-equal: Private generic functions
Method, approximately-equal: Private generic functions
Method, approximately-equal: Private generic functions
Method, approximately-equal: Private generic functions
Method, approximately-equal: Private generic functions
Method, backend-compute: Public generic functions
Method, backend-compute: Public generic functions
Method, backend-compute: Public generic functions
Method, backend-compute: Public generic functions
Method, backend-compute: Public generic functions
Method, backend-compute-asynchronously: Public generic functions
Method, backend-compute-asynchronously: Public generic functions
Method, backend-debug-flag: Public generic functions
Method, backend-evaluator: Public generic functions
Method, backend-evaluator: Public generic functions
Method, backend-evaluator: Public generic functions
Method, backend-evaluator: Public generic functions
Method, backend-worker-pool: Private generic functions
Method, backendp: Public generic functions
Method, backendp: Public generic functions
Method, bpinstruction-form: Private generic functions
Method, bpinstruction-form: Private generic functions
Method, bpinstruction-form: Private generic functions
Method, bpinstruction-form: Private generic functions
Method, bpvalue-form: Private generic functions
Method, bpvalue-form: Private generic functions
Method, bpvalue=: Private generic functions
Method, bpvalue=: Private generic functions
Method, bpvalue=: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-ir-node: Private generic functions
Method, check-shard: Private generic functions
Method, check-shard: Private generic functions
Method, clone-reference: Private generic functions
Method, clone-reference: Private generic functions
Method, clone-reference: Private generic functions
Method, compile-blueprint: Public generic functions
Method, compile-blueprint: Public generic functions
Method, compile-blueprint: Public generic functions
Method, compile-blueprint: Public generic functions
Method, compile-blueprint: Public generic functions
Method, compile-blueprint: Public generic functions
Method, compile-cache: Private generic functions
Method, compile-kernel: Public generic functions
Method, compose-two-transformations: Private generic functions
Method, compose-two-transformations: Private generic functions
Method, compose-two-transformations: Private generic functions
Method, compose-two-transformations: Private generic functions
Method, convert-nucleus: Private generic functions
Method, convert-nucleus: Private generic functions
Method, convert-nucleus: Private generic functions
Method, core-memory: Public generic functions
Method, core-name: Public generic functions
Method, delayed-action-inputs: Public generic functions
Method, delayed-action-inputs: Public generic functions
Method, delayed-action-inputs: Public generic functions
Method, delayed-action-inputs: Public generic functions
Method, delayed-action-inputs: Public generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delayed-action-value: Private generic functions
Method, delete-backend: Public generic functions
Method, delete-backend: Public generic functions
Method, delete-backend: Public generic functions
Method, device-cores: Public generic functions
Method, device-memory: Public generic functions
Method, device-name: Public generic functions
Method, enlarge-transformation: Public generic functions
Method, enlarge-transformation: Public generic functions
Method, enlarge-transformation: Public generic functions
Method, generate-graph-from-roots: Public standalone methods
Method, generate-graph-from-roots: Public standalone methods
Method, generate-graph-from-roots: Public standalone methods
Method, graph-object-cluster: Public standalone methods
Method, graph-object-cluster: Public standalone methods
Method, graph-object-cluster: Public standalone methods
Method, graph-object-knows-of: Public standalone methods
Method, graph-object-knows-of: Public standalone methods
Method, graph-object-node: Public standalone methods
Method, graph-object-node: Public standalone methods
Method, graph-object-node: Public standalone methods
Method, graph-object-node: Public standalone methods
Method, graph-object-pointed-to-by: Public standalone methods
Method, graph-object-pointed-to-by: Public standalone methods
Method, graph-object-points-to: Public standalone methods
Method, graph-object-points-to: Public standalone methods
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-default-graph: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-edge-attributes: Private generic functions
Method, graphviz-graph-attributes: Private generic functions
Method, graphviz-graph-attributes: Private generic functions
Method, graphviz-graph-attributes: Private generic functions
Method, graphviz-incoming-edge-origins: Private generic functions
Method, graphviz-incoming-edge-origins: Private generic functions
Method, graphviz-incoming-edge-origins: Private generic functions
Method, graphviz-incoming-edge-origins: Private generic functions
Method, graphviz-incoming-edge-origins: Private generic functions
Method, graphviz-known-nodes: Private generic functions
Method, graphviz-known-nodes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-attributes: Private generic functions
Method, graphviz-node-caption: Private generic functions
Method, graphviz-node-caption: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-node-properties: Private generic functions
Method, graphviz-outgoing-edge-targets: Private generic functions
Method, graphviz-outgoing-edge-targets: Private generic functions
Method, graphviz-outgoing-edge-targets: Private generic functions
Method, graphviz-outgoing-edge-targets: Private generic functions
Method, graphviz-potential-edges: Private generic functions
Method, graphviz-potential-edges: Private generic functions
Method, graphviz-potential-edges: Private generic functions
Method, graphviz-potential-edges: Private generic functions
Method, graphviz-potential-edges: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, grow-dendrite-aux: Private generic functions
Method, inflate-transformation: Public generic functions
Method, inflate-transformation: Public generic functions
Method, inflate-transformation: Public generic functions
Method, initialize-instance: Public standalone methods
Method, input-gradient: Private generic functions
Method, input-gradient: Private generic functions
Method, input-gradient: Private generic functions
Method, instruction-blueprint: Private generic functions
Method, instruction-blueprint: Private generic functions
Method, instruction-blueprint: Private generic functions
Method, instruction-blueprint: Private generic functions
Method, instruction-number-of-values: Public generic functions
Method, instruction-number-of-values: Public generic functions
Method, instruction-number-of-values: Public generic functions
Method, instruction-number-of-values: Public generic functions
Method, invert-transformation: Public generic functions
Method, invert-transformation: Public generic functions
Method, ir-backend-compile-cache: Private generic functions
Method, ir-backend-compiled: Private generic functions
Method, ir-backend-interpreted: Private generic functions
Method, ir-backend-mode: Private generic functions
Method, load-function: Public generic functions
Method, load-function: Public generic functions
Method, map-transformation-inputs: Public generic functions
Method, map-transformation-inputs: Public generic functions
Method, map-transformation-outputs: Public generic functions
Method, map-transformation-outputs: Public generic functions
Method, memory-bandwidth: Public generic functions
Method, memory-children: Public generic functions
Method, memory-children-slot: Private generic functions
Method, memory-cores: Public generic functions
Method, memory-cores-slot: Private generic functions
Method, memory-granularity: Public generic functions
Method, memory-latency: Public generic functions
Method, memory-name: Public generic functions
Method, memory-parent: Public generic functions
Method, memory-parent-bandwidth: Public generic functions
Method, memory-size: Public generic functions
Method, native-backend: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, reference-backend: Private generic functions
Method, request-completedp: Public generic functions
Method, request-completedp: Public generic functions
Method, request-completedp: Public generic functions
Method, request-wait: Public generic functions
Method, request-wait: Public generic functions
Method, requestp: Public generic functions
Method, requestp: Public generic functions
Method, requestp: Public generic functions
Method, serious-conditions: Private generic functions
Method, shape-designator-shape: Public generic functions
Method, shape-designator-shape: Public generic functions
Method, shape-designator-shape: Public generic functions
Method, shape-designator-shape: Public generic functions
Method, shared-initialize: Public standalone methods
Method, shared-initialize: Public standalone methods
Method, source-function: Public generic functions
Method, source-function: Public generic functions
Method, source-function: Public generic functions
Method, store-function: Public generic functions
Method, store-function: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, substitute-delayed-action: Public generic functions
Method, target-function: Public generic functions
Method, target-function: Public generic functions
Method, target-function: Public generic functions
Method, transform-axis: Public generic functions
Method, transform-axis: Public generic functions
Method, transform-axis: Public generic functions
Method, transform-index: Public generic functions
Method, transform-index: Public generic functions
Method, transform-index: Public generic functions
Method, transform-index: Public generic functions
Method, transform-index: Public generic functions
Method, transform-instruction-input: Private generic functions
Method, transform-instruction-input: Private generic functions
Method, transform-instruction-output: Private generic functions
Method, transform-instruction-output: Private generic functions
Method, transform-shape: Public generic functions
Method, transform-shape: Public generic functions
Method, transform-shape: Public generic functions
Method, transform-shape: Public generic functions
Method, transformation-similar: Public generic functions
Method, transformation=: Public generic functions
Method, transformation=: Public generic functions
Method, transformation=: Public generic functions
Method, trivial-lazy-array-p: Private generic functions
Method, trivial-lazy-array-p: Private generic functions
Method, trivial-lazy-array-p: Private generic functions
Method, trivial-lazy-array-value: Private generic functions
Method, trivial-lazy-array-value: Private generic functions
Method, unpack-function: Public generic functions
Method, unpack-function: Public generic functions
Method, unpack-function: Public generic functions
mksym: Private ordinary functions
move-axis-to-front: Public ordinary functions
multiple-arguments: Private ordinary functions

N
native-backend: Private generic functions
native-backend: Private generic functions
native-backend-unpack: Private ordinary functions
ndarray: Private ordinary functions
next-bpvar: Private ordinary functions
node-affinity: Private ordinary functions
node-counter: Private ordinary functions
node-dependencies: Private ordinary functions
node-depth: Public ordinary functions
node-eagerness: Private ordinary functions
node-fn: Private ordinary functions
node-height: Public ordinary functions
node-kernel: Private ordinary functions
node-more-important-p: Private ordinary functions
node-object: Private ordinary functions
node-p: Private ordinary functions
node-position: Private ordinary functions
node-predecessor-alist: Public ordinary functions
node-successor-alist: Public ordinary functions
node-users: Private ordinary functions
nodep: Public ordinary functions
non-empty-range-p: Public ordinary functions
normalizing-transformation: Public ordinary functions
nth-prime-max-bits: Private ordinary functions
nth-prime-upper-bound: Private ordinary functions
ntype-bits-per-element: Private ordinary functions
ntype-cpp-info: Private ordinary functions
ntype-cpp-translatable-p: Private ordinary functions
ntype-unboxed-p: Private ordinary functions
nucleus-dendrites: Private ordinary functions
nucleus-lazy-array: Private ordinary functions
nucleus-ntype: Private ordinary functions
nucleus-p: Private ordinary functions
nucleus-shape: Private ordinary functions
number-of-cpus: Public ordinary functions

P
parse-cache-type: Private ordinary functions
parse-defwrapper-lambda-list: Private ordinary functions
parse-integer-set: Private ordinary functions
parse-shape: Private ordinary functions
parse-shape-pattern: Private ordinary functions
parse-size: Private ordinary functions
parse-transform-inputs: Private ordinary functions
parse-transform-output: Private ordinary functions
parse-transform-outputs: Private ordinary functions
partition-dendrites: Private ordinary functions
partition-program: Public ordinary functions
pass: Private ordinary functions
pdfs-queue-increase-node-eagerness: Private ordinary functions
pdfs-queue-p: Private ordinary functions
pdfs-queue-pop: Private ordinary functions
pdfs-queue-priority-queue: Private ordinary functions
pdfs-queue-push: Private ordinary functions
pdfs-queue-size: Private ordinary functions
pdfs-queue-tmpnode: Private ordinary functions
peeler: Public ordinary functions
pin-current-thread: Private ordinary functions
plist-union: Private ordinary functions
potentially-superfluous-buffer-p: Private ordinary functions
prime-factors: Public ordinary functions
primep: Public ordinary functions
primogenitor-buffer-shard: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-package-statistics: Private ordinary functions
print-platform-information: Private ordinary functions
print-system-statistics: Private ordinary functions
program-buffer: Public ordinary functions
program-final-task: Public ordinary functions
program-from-lazy-arrays: Public ordinary functions
program-initial-task: Public ordinary functions
program-kernel: Public ordinary functions
program-leaf-alist: Public ordinary functions
program-number-of-buffers: Public ordinary functions
program-number-of-kernels: Public ordinary functions
program-number-of-tasks: Public ordinary functions
program-root-buffers: Public ordinary functions
program-task-vector: Public ordinary functions
programp: Public ordinary functions
propagate-split: Private ordinary functions
propagate-split/bmap: Private ordinary functions
propagate-split/kmap: Private ordinary functions
prune-bits: Private ordinary functions
prune-buffers: Private ordinary functions
prune-p: Private ordinary functions
prune-superfluous-buffers: Private ordinary functions
purge-unused-files-in-directory: Private ordinary functions

R
range: Public compiler macros
range: Public ordinary functions
range-contains: Public ordinary functions
range-difference-list: Public ordinary functions
range-difference-list--contiguous: Private ordinary functions
range-difference-list--single: Private ordinary functions
range-emptyp: Public ordinary functions
range-end: Public ordinary functions
range-intersection: Public ordinary functions
range-intersection-start-end-step: Private ordinary functions
range-intersectionp: Public ordinary functions
range-last: Public ordinary functions
range-peeler: Private ordinary functions
range-size: Public ordinary functions
range-slicer: Private ordinary functions
range-start: Public ordinary functions
range-step: Public ordinary functions
range-test: Private ordinary functions
range-with-size-one-p: Public ordinary functions
range=: Public ordinary functions
rangep: Public ordinary functions
ranges-blueprint: Private ordinary functions
rbgs-test: Private ordinary functions
recompute-kernel-instruction-vector: Private ordinary functions
recompute-program-task-vector: Private ordinary functions
reduction-of-fusions: Private ordinary functions
reduction-test: Private ordinary functions
reference-backend: Private generic functions
reference-backend: Private generic functions
reference-to-delayed-unknown: Private ordinary functions
refine-buffer-shard: Private ordinary functions
refine-kernel-shard: Private ordinary functions
refine-source: Private ordinary functions
refine-target: Private ordinary functions
register-free-variable: Private ordinary functions
relative-position: Private ordinary functions
remove-axis-after: Private ordinary functions
remove-axis-before: Private ordinary functions
remove-shape-table-entry: Public ordinary functions
report: Private ordinary functions
request-completedp: Public generic functions
request-completedp: Public generic functions
request-completedp: Public generic functions
request-completedp: Public generic functions
request-cvar: Private ordinary functions
request-done: Private ordinary functions
request-lock: Private ordinary functions
request-wait: Public generic functions
request-wait: Public generic functions
request-wait: Public generic functions
requestp: Public generic functions
requestp: Public generic functions
requestp: Public generic functions
requestp: Public generic functions
reshape-randomly: Private ordinary functions
reshape-test: Private ordinary functions
reshape/flatten: Private ordinary functions
reshape/unflatten: Private ordinary functions
result-variables: Private ordinary functions
reuse-optimizing-transformation: Public ordinary functions
reverse-transform-axis-and-position: Private ordinary functions
root-buffer-p: Public ordinary functions
run-petalisp-test-suite: Public ordinary functions
run-tests: Public ordinary functions

S
s16-memref: Private ordinary functions
s32-memref: Private ordinary functions
s64-memref: Private ordinary functions
s8-memref: Private ordinary functions
select-masked-elements: Private ordinary functions
serious-conditions: Private generic functions
serious-conditions: Private generic functions
shape-contains: Public ordinary functions
shape-designator-shape: Public generic functions
shape-designator-shape: Public generic functions
shape-designator-shape: Public generic functions
shape-designator-shape: Public generic functions
shape-designator-shape: Public generic functions
shape-difference-list: Public ordinary functions
shape-dimension: Public ordinary functions
shape-dimensions: Public ordinary functions
shape-emptyp: Public ordinary functions
shape-intersection: Public ordinary functions
shape-intersectionp: Public ordinary functions
shape-prefix: Public ordinary functions
shape-range: Public ordinary functions
shape-ranges: Public ordinary functions
shape-rank: Public ordinary functions
shape-size: Public ordinary functions
shape-strides: Private ordinary functions
shape-subseq: Public ordinary functions
shape-suffix: Public ordinary functions
shape-table-ht: Private ordinary functions
shape-table-p: Public ordinary functions
shape-table-value: Public ordinary functions
shape-with-size-one-p: Public ordinary functions
shape<: Public ordinary functions
shape=: Public ordinary functions
shapep: Public ordinary functions
shared-initialize: Public standalone methods
shared-initialize: Public standalone methods
shrink-shape: Public ordinary functions
signals: Public macros
simplify-array: Private ordinary functions
simplify-input: Private ordinary functions
simplify-input: Private ordinary functions
simulate-cenv-evaluation: Private ordinary functions
simulate-references: Private ordinary functions
simulated-memory-allocation: Private ordinary functions
simulated-memory-generation: Private ordinary functions
simulated-memory-mode: Private ordinary functions
simulated-memory-p: Private ordinary functions
simulated-memory-read-index: Private ordinary functions
simulated-memory-read-shape: Private ordinary functions
simulated-memory-table: Private ordinary functions
simulated-memory-write-index: Private ordinary functions
simulated-memory-write-shape: Private ordinary functions
size-one-range-removing-transformation: Private ordinary functions
slicer: Public ordinary functions
source-function: Public generic functions
source-function: Public generic functions
source-function: Public generic functions
source-function: Public generic functions
split-axis: Public ordinary functions
split-label: Private ordinary functions
split-left-child: Public ordinary functions
split-more-important-p: Private ordinary functions
split-parent: Public ordinary functions
split-position: Public ordinary functions
split-queue-emptyp: Private ordinary functions
split-queue-pop: Private ordinary functions
split-queue-push: Private ordinary functions
split-range: Public ordinary functions
split-right-child: Public ordinary functions
split-shape: Public ordinary functions
splitp: Public ordinary functions
start-worker: Private ordinary functions
stem-buffers: Private ordinary functions
stem-kernel: Private ordinary functions
stem-nucleus: Private ordinary functions
stem-p: Private ordinary functions
stem-validp: Private ordinary functions
stencil-buffer: Public ordinary functions
stencil-center: Public ordinary functions
stencil-from-instruction: Public ordinary functions
stencil-input-rank: Public ordinary functions
stencil-instruction-offsets: Private ordinary functions
stencil-instructions: Public ordinary functions
stencil-output-mask: Public ordinary functions
stencil-output-rank: Public ordinary functions
stencil-scalings: Public ordinary functions
stencilp: Public ordinary functions
stencils-blueprint: Private ordinary functions
store-function: Public generic functions
store-function: Public generic functions
store-function: Public generic functions
store-instruction-buffer: Public ordinary functions
store-instruction-input: Public ordinary functions
store-instruction-inputs: Private ordinary functions
store-instruction-number: Private ordinary functions
store-instruction-offsets: Private ordinary functions
store-instruction-p: Public ordinary functions
store-instruction-scalings: Private ordinary functions
store-instruction-transformation: Public ordinary functions
stringify: Private ordinary functions
subdivide-arrays: Public ordinary functions
subdivide-fragments: Private ordinary functions
subdivide-shapes: Public ordinary functions
subrangep: Public ordinary functions
subset-elements: Private ordinary functions
subset-p: Private ordinary functions
subset-weight: Private ordinary functions
subshapep: Public ordinary functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-delayed-action: Public generic functions
substitute-lazy-array: Public ordinary functions
substitute-lazy-arrays: Public ordinary functions
subtract-fragment-lists: Private ordinary functions
suffix-factor: Private ordinary functions
sum-axis: Private ordinary functions
sum-of-pairs: Private ordinary functions
superimpose-ranges: Public ordinary functions
superimpose-shapes: Public ordinary functions
symbol-defined-p: Private ordinary functions
symbol-methods: Private ordinary functions
system-git-revision: Private ordinary functions
system-source-file-pathnames: Private ordinary functions

T
target-function: Public generic functions
target-function: Public generic functions
target-function: Public generic functions
target-function: Public generic functions
task-cluster: Private ordinary functions
task-defined-buffers: Private ordinary functions
task-kernels: Private ordinary functions
task-number: Public ordinary functions
task-predecessors: Private ordinary functions
task-program: Public ordinary functions
task-successors: Private ordinary functions
taskp: Public ordinary functions
touch: Private ordinary functions
transform: Public macros
transform-axis: Public generic functions
transform-axis: Public generic functions
transform-axis: Public generic functions
transform-axis: Public generic functions
transform-axis-and-position: Private ordinary functions
transform-buffer: Private ordinary functions
transform-index: Public generic functions
transform-index: Public generic functions
transform-index: Public generic functions
transform-index: Public generic functions
transform-index: Public generic functions
transform-index: Public generic functions
transform-instruction-input: Private generic functions
transform-instruction-input: Private generic functions
transform-instruction-input: Private generic functions
transform-instruction-output: Private generic functions
transform-instruction-output: Private generic functions
transform-instruction-output: Private generic functions
transform-kernel: Private ordinary functions
transform-shape: Public generic functions
transform-shape: Public generic functions
transform-shape: Public generic functions
transform-shape: Public generic functions
transform-shape: Public generic functions
transformation-blueprint: Public ordinary functions
transformation-identityp: Public ordinary functions
transformation-input-mask: Public ordinary functions
transformation-input-rank: Public ordinary functions
transformation-input-symbol: Private ordinary functions
transformation-inverse: Private ordinary functions
transformation-invertiblep: Public ordinary functions
transformation-offsets: Public ordinary functions
transformation-output-mask: Public ordinary functions
transformation-output-rank: Public ordinary functions
transformation-scalings: Public ordinary functions
transformation-similar: Public generic functions
transformation-similar: Public generic functions
transformation=: Public generic functions
transformation=: Public generic functions
transformation=: Public generic functions
transformation=: Public generic functions
transformationp: Public ordinary functions
trivial-lazy-array-p: Private generic functions
trivial-lazy-array-p: Private generic functions
trivial-lazy-array-p: Private generic functions
trivial-lazy-array-p: Private generic functions
trivial-lazy-array-value: Private generic functions
trivial-lazy-array-value: Private generic functions
trivial-lazy-array-value: Private generic functions
trivial-object-p: Private ordinary functions
trivial-object-value: Private ordinary functions
tuple-from-object: Private ordinary functions
tuple-p: Private ordinary functions
tuple-subset: Private ordinary functions
tuple-subsets: Private ordinary functions
tuple-weight: Private ordinary functions
tuple>: Private ordinary functions
type-specifier-p: Private ordinary functions

U
u1-memref: Private ordinary functions
u16-memref: Private ordinary functions
u2-memref: Private ordinary functions
u32-memref: Private ordinary functions
u4-memref: Private ordinary functions
u64-memref: Private ordinary functions
u8-memref: Private ordinary functions
unlink-kernel-shard: Private ordinary functions
unpack-array: Public ordinary functions
unpack-function: Public generic functions
unpack-function: Public generic functions
unpack-function: Public generic functions
unpack-function: Public generic functions

V
v-cycle-test: Private ordinary functions
value-array: Public ordinary functions
value-blueprint: Private ordinary functions
vicinity-left-neighbors: Public ordinary functions
vicinity-left-neighbors-vec: Private ordinary functions
vicinity-right-neighbors: Public ordinary functions
vicinity-right-neighbors-vec: Private ordinary functions
vicinityp: Public ordinary functions
view: Public ordinary functions

W
wait: Public ordinary functions
with-collector: Private macros
with-collectors: Public macros
with-debug-optimization: Public macros
with-inspection: Public macros
with-lazy-arrays: Public macros
with-pinned-objects: Public macros
with-pinned-objects*: Public macros
with-random-state: Private macros
with-temporary-backend: Public macros
with-test-harness: Private macros
with-testing-backend: Private macros
with-unsafe-optimization: Public macros
with-unsafe-optimization*: Public macros
without-compiler-notes: Public macros
worker-barrier-sense: Private ordinary functions
worker-enqueue: Private ordinary functions
worker-evaluate: Private ordinary functions
worker-id: Private ordinary functions
worker-loop: Private ordinary functions
worker-pool-active: Private ordinary functions
worker-pool-barrier-countdown: Private ordinary functions
worker-pool-barrier-sense: Private ordinary functions
worker-pool-join: Private ordinary functions
worker-pool-liveness: Private ordinary functions
worker-pool-p: Private ordinary functions
worker-pool-size: Private ordinary functions
worker-pool-worker: Private ordinary functions
worker-pool-workers: Private ordinary functions
worker-queue: Private ordinary functions
worker-serious-conditions: Private ordinary functions
worker-synchronize-and-invoke: Private ordinary functions
worker-thread: Private ordinary functions
worker-worker-pool: Private ordinary functions
workerp: Private ordinary functions


A.3 Variables

Jump to:   %   *   +   ~  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%bandwidth: Public classes
%children: Public classes
%compile-cache: Public classes
%compile-cache: Private classes
%cores: Public classes
%cores: Public classes
%debug-flag: Public classes
%granularity: Public classes
%ir-backend-compiled: Private classes
%ir-backend-interpreted: Private classes
%latency: Public classes
%memory: Public classes
%memory: Public classes
%mode: Private classes
%name: Public classes
%name: Public classes
%name: Public classes
%native-backend: Private classes
%parent: Public classes
%parent-bandwidth: Public classes
%reference-backend: Private classes
%serious-conditions: Private conditions
%size: Public classes
%worker-pool: Private classes

*
*active-inspect-tags*: Public special variables
*alphabet*: Private special variables
*backend*: Public special variables
*backend-compute-recursion*: Private special variables
*bpinfo-indices*: Private special variables
*bpinfo-instructions*: Private special variables
*bpinfo-ranges*: Private special variables
*bpinfo-reversed-functions*: Private special variables
*bpinfo-reversed-ioffsets*: Private special variables
*bpinfo-reversed-iscalings*: Private special variables
*bpinfo-reversed-levels*: Private special variables
*bpinfo-sources*: Private special variables
*bpinfo-targets*: Private special variables
*bpnames*: Private special variables
*bpvar-counter*: Private special variables
*buffer-ghostspec-vector*: Private special variables
*buffer-shard-queue*: Private special variables
*buffer-shard-split-max-imbalance*: Private special variables
*buffer-shard-split-max-redundancy*: Private special variables
*buffer-shard-split-min-priority*: Private special variables
*buffer-shard-split-priority*: Private special variables
*check-count*: Private special variables
*check-shards-buffer-shards*: Private special variables
*check-shards-kernel-shards*: Private special variables
*check-shards-table*: Private special variables
*check-shards-worklist*: Private special variables
*chunks*: Private special variables
*failed-random-state*: Private special variables
*free-variables*: Private special variables
*function-cpp-info-table*: Private special variables
*index-ntype*: Private special variables
*inspect-dependencies*: Public special variables
*inspect-graph*: Public special variables
*inspect-ir*: Public special variables
*inspect-partitioning*: Public special variables
*instruction-table*: Private special variables
*instruction-tables*: Private special variables
*ir-checker-table*: Private special variables
*ir-checker-worklist*: Private special variables
*ir-converter*: Private special variables
*k*: Private special variables
*kernel-cluster-table*: Private special variables
*layout-action-table*: Private special variables
*lazy-array-lock*: Public special variables
*nodes*: Private special variables
*pass-count*: Private special variables
*petalisp-view-directory*: Private special variables
*pin-current-thread-code*: Private special variables
*pin-current-thread-library*: Private special variables
*primogenitor-buffer-shard-vector*: Private special variables
*prune*: Private special variables
*simulator-step*: Private special variables
*small-kernel-p*: Private special variables
*split-queue*: Private special variables
*stencil-max-radius*: Public special variables
*substitutions*: Private special variables
*suffix-factors*: Private special variables
*table*: Private special variables
*task-cluster-table*: Private special variables
*test-count*: Private special variables
*tests*: Private special variables
*valid-inspect-tags*: Public special variables
*viewer*: Public special variables
*weight*: Private special variables
*worker*: Private special variables
*worklist*: Private special variables

+
+argument-allocation-category+: Private constants
+constant-allocation-category+: Private constants
+empty-colorset+: Private constants
+n-fixnum-tag-bits+: Private constants
+result-allocation-category+: Private constants
+table-of-primes+: Private constants
+worker-allocation-category-offset+: Private constants

~
~: Public constants
~*: Public constants

A
affinity: Public structures
alist: Private structures
allocation: Public structures
allocation: Private structures
allocations: Private structures
argument-ntypes: Private structures
argument-shapes: Private structures
arguments: Private structures
array-table: Private structures
axis: Public structures

B
backend: Private structures
barrier-countdown: Private structures
barrier-sense: Private structures
barrier-sense: Private structures
base: Private structures
bits: Private structures
buffer: Public structures
buffer: Public structures
buffer: Private structures
buffer-dendrites-table: Private structures
buffers: Private structures
buffers: Private structures

C
category: Private structures
center: Public structures
center: Private structures
cenv: Private structures
color: Private structures
color: Private structures
colorset: Private structures
condition: Public structures
cons: Private structures
cons-updates: Private structures
Constant, +argument-allocation-category+: Private constants
Constant, +constant-allocation-category+: Private constants
Constant, +empty-colorset+: Private constants
Constant, +n-fixnum-tag-bits+: Private constants
Constant, +result-allocation-category+: Private constants
Constant, +table-of-primes+: Private constants
Constant, +worker-allocation-category-offset+: Private constants
Constant, ~: Public constants
Constant, ~*: Public constants
constant-arrays: Private structures
constant-storage-vectors: Private structures
copy-invocations: Private structures
counter: Public structures
cvar: Private structures

D
data: Public structures
defined-buffers: Public structures
degree: Private structures
delayed-action: Public structures
delayed-action: Public structures
dendrites: Private structures
dependencies: Private structures
depth: Public structures
depth: Public structures
depth: Public structures
depth: Private structures
domain: Public structures
done: Private structures

E
eagerness: Public structures
elements: Private structures
end: Private structures

F
final-task: Public structures
fn: Private structures
fnrecord: Public structures
fnrecord: Public structures
function: Private structures
functions: Private structures

G
generation: Private structures
ghost-layer-alist: Public structures

H
h-lock: Public structures
head: Public structures
height: Public structures
ht: Public structures

I
id: Private structures
index: Private structures
index: Private structures
indices: Private structures
initial-task: Public structures
input: Public structures
input: Public structures
input-gradient-caches: Private structures
input-mask: Public structures
input-rank: Public structures
inputs: Public structures
inputs: Public structures
inputs: Public structures
instruction-number: Private structures
instruction-vector: Public structures
instructions: Public structures
instructions: Private structures
inverse: Public structures
ioffsets: Private structures
iscalings: Private structures
iteration-space: Public structures
iteration-space: Public structures
iteration-space: Private structures

K
kernel: Public structures
kernel: Private structures
kernel: Private structures
kernel: Private structures
kernel-size-threshold: Private structures
kernels: Public structures
kfn: Private structures

L
layout: Public structures
lazy-array: Private structures
lazy-array: Private structures
leaf-alist: Public structures
leaf-alist: Private structures
left-child: Public structures
left-neighbors-vec: Public structures
left-padding-vec: Private structures
level: Private structures
level: Private structures
levels: Private structures
liveness: Private structures
lock: Private structures

M
mode: Private structures

N
name: Private structures
neighbors: Private structures
ntype: Public structures
ntype: Public structures
ntype: Public structures
ntype: Private structures
ntype: Private structures
nucleus: Private structures
nucleus-table: Private structures
number: Public structures
number: Public structures
number: Public structures
number: Public structures
number: Public structures
number-of-buffers: Public structures
number-of-kernels: Public structures
number-of-values: Public structures

O
object: Public structures
object: Private structures
object-nodes: Public structures
offset: Public structures
offset: Private structures
offsets: Public structures
offsets: Private structures
output-gradient-cache: Private structures
output-mask: Public structures
output-rank: Public structures

P
parent: Public structures
pattern: Private structures
pointers: Private structures
position: Public structures
position: Public structures
potentially-superfluous-buffers: Private structures
pqueue: Private structures
predecessor-alist: Public structures
predecessors: Public structures
priority-queue: Private structures
program: Public structures

Q
queue: Private structures
queue-node: Private structures

R
ranges: Public structures
ranges: Private structures
rank: Public structures
rank: Private structures
readers: Public structures
readers: Public structures
refbits: Public structures
refbits-lock: Public structures
refcount: Public structures
request: Public structures
request: Private structures
result-arrays: Private structures
result-ntypes: Private structures
result-shapes: Private structures
right-child: Public structures
right-neighbors-vec: Public structures
right-padding-vec: Private structures
root-buffers: Public structures

S
saturation: Private structures
scalar-table: Private structures
scaling: Private structures
scalings: Public structures
scalings: Private structures
schedule: Private structures
serious-condition-lock: Private structures
serious-conditions: Private structures
serious-conditions: Private structures
shape: Public structures
shape: Public structures
shape: Public structures
shape: Private structures
size: Public structures
size: Public structures
size: Public structures
size-in-bytes: Private structures
Slot, %bandwidth: Public classes
Slot, %children: Public classes
Slot, %compile-cache: Public classes
Slot, %compile-cache: Private classes
Slot, %cores: Public classes
Slot, %cores: Public classes
Slot, %debug-flag: Public classes
Slot, %granularity: Public classes
Slot, %ir-backend-compiled: Private classes
Slot, %ir-backend-interpreted: Private classes
Slot, %latency: Public classes
Slot, %memory: Public classes
Slot, %memory: Public classes
Slot, %mode: Private classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %native-backend: Private classes
Slot, %parent: Public classes
Slot, %parent-bandwidth: Public classes
Slot, %reference-backend: Private classes
Slot, %serious-conditions: Private conditions
Slot, %size: Public classes
Slot, %worker-pool: Private classes
Slot, affinity: Public structures
Slot, alist: Private structures
Slot, allocation: Public structures
Slot, allocation: Private structures
Slot, allocations: Private structures
Slot, argument-ntypes: Private structures
Slot, argument-shapes: Private structures
Slot, arguments: Private structures
Slot, array-table: Private structures
Slot, axis: Public structures
Slot, backend: Private structures
Slot, barrier-countdown: Private structures
Slot, barrier-sense: Private structures
Slot, barrier-sense: Private structures
Slot, base: Private structures
Slot, bits: Private structures
Slot, buffer: Public structures
Slot, buffer: Public structures
Slot, buffer: Private structures
Slot, buffer-dendrites-table: Private structures
Slot, buffers: Private structures
Slot, buffers: Private structures
Slot, category: Private structures
Slot, center: Public structures
Slot, center: Private structures
Slot, cenv: Private structures
Slot, color: Private structures
Slot, color: Private structures
Slot, colorset: Private structures
Slot, condition: Public structures
Slot, cons: Private structures
Slot, cons-updates: Private structures
Slot, constant-arrays: Private structures
Slot, constant-storage-vectors: Private structures
Slot, copy-invocations: Private structures
Slot, counter: Public structures
Slot, cvar: Private structures
Slot, data: Public structures
Slot, defined-buffers: Public structures
Slot, degree: Private structures
Slot, delayed-action: Public structures
Slot, delayed-action: Public structures
Slot, dendrites: Private structures
Slot, dependencies: Private structures
Slot, depth: Public structures
Slot, depth: Public structures
Slot, depth: Public structures
Slot, depth: Private structures
Slot, domain: Public structures
Slot, done: Private structures
Slot, eagerness: Public structures
Slot, elements: Private structures
Slot, end: Private structures
Slot, final-task: Public structures
Slot, fn: Private structures
Slot, fnrecord: Public structures
Slot, fnrecord: Public structures
Slot, function: Private structures
Slot, functions: Private structures
Slot, generation: Private structures
Slot, ghost-layer-alist: Public structures
Slot, h-lock: Public structures
Slot, head: Public structures
Slot, height: Public structures
Slot, ht: Public structures
Slot, id: Private structures
Slot, index: Private structures
Slot, index: Private structures
Slot, indices: Private structures
Slot, initial-task: Public structures
Slot, input: Public structures
Slot, input: Public structures
Slot, input-gradient-caches: Private structures
Slot, input-mask: Public structures
Slot, input-rank: Public structures
Slot, inputs: Public structures
Slot, inputs: Public structures
Slot, inputs: Public structures
Slot, instruction-number: Private structures
Slot, instruction-vector: Public structures
Slot, instructions: Public structures
Slot, instructions: Private structures
Slot, inverse: Public structures
Slot, ioffsets: Private structures
Slot, iscalings: Private structures
Slot, iteration-space: Public structures
Slot, iteration-space: Public structures
Slot, iteration-space: Private structures
Slot, kernel: Public structures
Slot, kernel: Private structures
Slot, kernel: Private structures
Slot, kernel: Private structures
Slot, kernel-size-threshold: Private structures
Slot, kernels: Public structures
Slot, kfn: Private structures
Slot, layout: Public structures
Slot, lazy-array: Private structures
Slot, lazy-array: Private structures
Slot, leaf-alist: Public structures
Slot, leaf-alist: Private structures
Slot, left-child: Public structures
Slot, left-neighbors-vec: Public structures
Slot, left-padding-vec: Private structures
Slot, level: Private structures
Slot, level: Private structures
Slot, levels: Private structures
Slot, liveness: Private structures
Slot, lock: Private structures
Slot, mode: Private structures
Slot, name: Private structures
Slot, neighbors: Private structures
Slot, ntype: Public structures
Slot, ntype: Public structures
Slot, ntype: Public structures
Slot, ntype: Private structures
Slot, ntype: Private structures
Slot, nucleus: Private structures
Slot, nucleus-table: Private structures
Slot, number: Public structures
Slot, number: Public structures
Slot, number: Public structures
Slot, number: Public structures
Slot, number: Public structures
Slot, number-of-buffers: Public structures
Slot, number-of-kernels: Public structures
Slot, number-of-values: Public structures
Slot, object: Public structures
Slot, object: Private structures
Slot, object-nodes: Public structures
Slot, offset: Public structures
Slot, offset: Private structures
Slot, offsets: Public structures
Slot, offsets: Private structures
Slot, output-gradient-cache: Private structures
Slot, output-mask: Public structures
Slot, output-rank: Public structures
Slot, parent: Public structures
Slot, pattern: Private structures
Slot, pointers: Private structures
Slot, position: Public structures
Slot, position: Public structures
Slot, potentially-superfluous-buffers: Private structures
Slot, pqueue: Private structures
Slot, predecessor-alist: Public structures
Slot, predecessors: Public structures
Slot, priority-queue: Private structures
Slot, program: Public structures
Slot, queue: Private structures
Slot, queue-node: Private structures
Slot, ranges: Public structures
Slot, ranges: Private structures
Slot, rank: Public structures
Slot, rank: Private structures
Slot, readers: Public structures
Slot, readers: Public structures
Slot, refbits: Public structures
Slot, refbits-lock: Public structures
Slot, refcount: Public structures
Slot, request: Public structures
Slot, request: Private structures
Slot, result-arrays: Private structures
Slot, result-ntypes: Private structures
Slot, result-shapes: Private structures
Slot, right-child: Public structures
Slot, right-neighbors-vec: Public structures
Slot, right-padding-vec: Private structures
Slot, root-buffers: Public structures
Slot, saturation: Private structures
Slot, scalar-table: Private structures
Slot, scaling: Private structures
Slot, scalings: Public structures
Slot, scalings: Private structures
Slot, schedule: Private structures
Slot, serious-condition-lock: Private structures
Slot, serious-conditions: Private structures
Slot, serious-conditions: Private structures
Slot, shape: Public structures
Slot, shape: Public structures
Slot, shape: Public structures
Slot, shape: Private structures
Slot, size: Public structures
Slot, size: Public structures
Slot, size: Public structures
Slot, size-in-bytes: Private structures
Slot, source: Private structures
Slot, sources: Public structures
Slot, sources: Public structures
Slot, sources: Private structures
Slot, sources: Private structures
Slot, split: Public structures
Slot, split-priority-cache: Public structures
Slot, start: Public structures
Slot, start: Private structures
Slot, start: Private structures
Slot, stem: Private structures
Slot, stencils: Private structures
Slot, step: Public structures
Slot, step: Private structures
Slot, storage: Public structures
Slot, storage: Public structures
Slot, strides: Public structures
Slot, strides: Private structures
Slot, subsets: Private structures
Slot, successor-alist: Public structures
Slot, successors: Public structures
Slot, t-lock: Public structures
Slot, table: Private structures
Slot, table: Private structures
Slot, table: Private structures
Slot, tail: Public structures
Slot, target: Private structures
Slot, targets: Public structures
Slot, targets: Public structures
Slot, targets: Private structures
Slot, targets: Private structures
Slot, task: Public structures
Slot, task: Public structures
Slot, task-vector: Public structures
Slot, thread: Private structures
Slot, tmpnode: Private structures
Slot, transformation: Public structures
Slot, transformation: Public structures
Slot, transformation: Private structures
Slot, unboxed: Private structures
Slot, unknown-table: Private structures
Slot, users: Private structures
Slot, validp: Private structures
Slot, value: Private structures
Slot, value: Private structures
Slot, values: Private structures
Slot, values-ntype: Public structures
Slot, weight: Private structures
Slot, weight: Private structures
Slot, work-invocations: Private structures
Slot, worker-pool: Private structures
Slot, workers: Private structures
Slot, writers: Public structures
Slot, writers: Public structures
source: Private structures
sources: Public structures
sources: Public structures
sources: Private structures
sources: Private structures
Special Variable, *active-inspect-tags*: Public special variables
Special Variable, *alphabet*: Private special variables
Special Variable, *backend*: Public special variables
Special Variable, *backend-compute-recursion*: Private special variables
Special Variable, *bpinfo-indices*: Private special variables
Special Variable, *bpinfo-instructions*: Private special variables
Special Variable, *bpinfo-ranges*: Private special variables
Special Variable, *bpinfo-reversed-functions*: Private special variables
Special Variable, *bpinfo-reversed-ioffsets*: Private special variables
Special Variable, *bpinfo-reversed-iscalings*: Private special variables
Special Variable, *bpinfo-reversed-levels*: Private special variables
Special Variable, *bpinfo-sources*: Private special variables
Special Variable, *bpinfo-targets*: Private special variables
Special Variable, *bpnames*: Private special variables
Special Variable, *bpvar-counter*: Private special variables
Special Variable, *buffer-ghostspec-vector*: Private special variables
Special Variable, *buffer-shard-queue*: Private special variables
Special Variable, *buffer-shard-split-max-imbalance*: Private special variables
Special Variable, *buffer-shard-split-max-redundancy*: Private special variables
Special Variable, *buffer-shard-split-min-priority*: Private special variables
Special Variable, *buffer-shard-split-priority*: Private special variables
Special Variable, *check-count*: Private special variables
Special Variable, *check-shards-buffer-shards*: Private special variables
Special Variable, *check-shards-kernel-shards*: Private special variables
Special Variable, *check-shards-table*: Private special variables
Special Variable, *check-shards-worklist*: Private special variables
Special Variable, *chunks*: Private special variables
Special Variable, *failed-random-state*: Private special variables
Special Variable, *free-variables*: Private special variables
Special Variable, *function-cpp-info-table*: Private special variables
Special Variable, *index-ntype*: Private special variables
Special Variable, *inspect-dependencies*: Public special variables
Special Variable, *inspect-graph*: Public special variables
Special Variable, *inspect-ir*: Public special variables
Special Variable, *inspect-partitioning*: Public special variables
Special Variable, *instruction-table*: Private special variables
Special Variable, *instruction-tables*: Private special variables
Special Variable, *ir-checker-table*: Private special variables
Special Variable, *ir-checker-worklist*: Private special variables
Special Variable, *ir-converter*: Private special variables
Special Variable, *k*: Private special variables
Special Variable, *kernel-cluster-table*: Private special variables
Special Variable, *layout-action-table*: Private special variables
Special Variable, *lazy-array-lock*: Public special variables
Special Variable, *nodes*: Private special variables
Special Variable, *pass-count*: Private special variables
Special Variable, *petalisp-view-directory*: Private special variables
Special Variable, *pin-current-thread-code*: Private special variables
Special Variable, *pin-current-thread-library*: Private special variables
Special Variable, *primogenitor-buffer-shard-vector*: Private special variables
Special Variable, *prune*: Private special variables
Special Variable, *simulator-step*: Private special variables
Special Variable, *small-kernel-p*: Private special variables
Special Variable, *split-queue*: Private special variables
Special Variable, *stencil-max-radius*: Public special variables
Special Variable, *substitutions*: Private special variables
Special Variable, *suffix-factors*: Private special variables
Special Variable, *table*: Private special variables
Special Variable, *task-cluster-table*: Private special variables
Special Variable, *test-count*: Private special variables
Special Variable, *tests*: Private special variables
Special Variable, *valid-inspect-tags*: Public special variables
Special Variable, *viewer*: Public special variables
Special Variable, *weight*: Private special variables
Special Variable, *worker*: Private special variables
Special Variable, *worklist*: Private special variables
split: Public structures
split-priority-cache: Public structures
start: Public structures
start: Private structures
start: Private structures
stem: Private structures
stencils: Private structures
step: Public structures
step: Private structures
storage: Public structures
storage: Public structures
strides: Public structures
strides: Private structures
subsets: Private structures
successor-alist: Public structures
successors: Public structures

T
t-lock: Public structures
table: Private structures
table: Private structures
table: Private structures
tail: Public structures
target: Private structures
targets: Public structures
targets: Public structures
targets: Private structures
targets: Private structures
task: Public structures
task: Public structures
task-vector: Public structures
thread: Private structures
tmpnode: Private structures
transformation: Public structures
transformation: Public structures
transformation: Private structures

U
unboxed: Private structures
unknown-table: Private structures
users: Private structures

V
validp: Private structures
value: Private structures
value: Private structures
values: Private structures
values-ntype: Public structures

W
weight: Private structures
weight: Private structures
work-invocations: Private structures
worker-pool: Private structures
workers: Private structures
writers: Public structures
writers: Public structures


A.4 Data types

Jump to:   A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

A
action: Private structures
ad-record: Private structures
allocation: Private structures
allocation.lisp: The petalisp․native-backend/allocation․lisp file
any-edge: Private classes
any-graph: Private classes
axis: Public types

B
backend: Public classes
backend: Private classes
backend-stats: Private classes
backend.lisp: The petalisp․core/backend․lisp file
backend.lisp: The petalisp․native-backend/backend․lisp file
blueprint.lisp: The petalisp․codegen/blueprint․lisp file
bpcall: Private structures
bpconstant: Private structures
bpfunction: Private structures
bpinfo: Private structures
bpinfo.lisp: The petalisp․codegen/bpinfo․lisp file
bpinstinfo: Private structures
bpinstruction: Private structures
bpioffset: Private structures
bpiref: Private structures
bpiscaling: Private structures
bpload: Private structures
bpmemref: Private structures
bprange: Private structures
bpstencil: Private structures
bpstore: Private structures
bpvalue: Private structures
bpvariable: Private structures
broadcast.lisp: The petalisp․api/broadcast․lisp file
buffer: Public structures
buffer-shard: Public structures

C
call-instruction: Public structures
cenv: Private structures
cgraph: Private structures
Class, any-edge: Private classes
Class, any-graph: Private classes
Class, backend: Public classes
Class, backend: Private classes
Class, backend-stats: Private classes
Class, class-diagram: Private classes
Class, compile-cache-mixin: Public classes
Class, completed-request: Private classes
Class, core: Public classes
Class, cpp-compiler-mixin: Public classes
Class, cuda-compiler-mixin: Public classes
Class, data-flow-edge: Private classes
Class, data-flow-graph: Private classes
Class, deleted-backend: Private classes
Class, device: Public classes
Class, direct-subclass-edge: Private classes
Class, input-edge: Private classes
Class, ir-backend: Private classes
Class, ir-edge: Private classes
Class, ir-graph: Private classes
Class, lisp-compiler-mixin: Public classes
Class, lisp-interpreter-mixin: Public classes
Class, lisp-plus-cpp-compiler-mixin: Public classes
Class, load-edge: Private classes
Class, memory: Public classes
Class, output-edge: Private classes
Class, partitioning-edge: Private classes
Class, partitioning-graph: Private classes
Class, petalisp-edge: Private classes
Class, petalisp-graph: Private classes
Class, reader-edge: Private classes
Class, reference-backend: Private classes
Class, request: Public classes
Class, scheduling-edge: Private classes
Class, scheduling-graph: Private classes
Class, store-edge: Private classes
Class, testing-backend: Private classes
Class, writer-edge: Private classes
class-diagram: Private classes
class-diagram.lisp: The petalisp․graphviz/class-diagram․lisp file
clp2-fixnum: Private types
cnode: Private structures
code-statistics.lisp: The petalisp․test-suite/code-statistics․lisp file
color: Private types
coloring.lisp: The petalisp․ir/coloring․lisp file
colorset: Private types
compilation.lisp: The petalisp․native-backend/compilation․lisp file
compile-cache: Private structures
compile-cache-mixin: Public classes
compile-cache.lisp: The petalisp․codegen/compile-cache․lisp file
completed-request: Private classes
Condition, evaluation-failure: Private conditions
core: Public classes
cpp-compiler-mixin: Public classes
cpp-compiler.lisp: The petalisp․codegen/cpp-compiler․lisp file
cpp-from-lisp.lisp: The petalisp․codegen/cpp-from-lisp․lisp file
cqueue: Public structures
cqueue.lisp: The petalisp․utilities/cqueue․lisp file
cuda-compiler-mixin: Public classes

D
data-flow-edge: Private classes
data-flow-graph: Private classes
data-flow-graph.lisp: The petalisp․graphviz/data-flow-graph․lisp file
defgenerator.lisp: The petalisp․test-suite/defgenerator․lisp file
delayed-action: Public structures
delayed-array: Public structures
delayed-failure: Public structures
delayed-fuse: Public structures
delayed-map: Public structures
delayed-multiple-value-map: Public structures
delayed-nop: Public structures
delayed-nth-value: Public structures
delayed-range: Public structures
delayed-reshape: Public structures
delayed-unknown: Public structures
delayed-wait: Public structures
deleted-backend: Private classes
dendrite: Private structures
denv: Private structures
device: Public classes
device.lisp: The petalisp․ir/device․lisp file
differentiator.lisp: The petalisp․api/differentiator․lisp file
direct-subclass-edge: Private classes
documentation.lisp: The petalisp․api/documentation․lisp file
documentation.lisp: The petalisp․utilities/documentation․lisp file
documentation.lisp: The petalisp․ir/documentation․lisp file

E
empty-range: Public structures
evaluation-failure: Private conditions
evaluator.lisp: The petalisp․native-backend/evaluator․lisp file
extended-euclid.lisp: The petalisp․utilities/extended-euclid․lisp file

F
File, allocation.lisp: The petalisp․native-backend/allocation․lisp file
File, backend.lisp: The petalisp․core/backend․lisp file
File, backend.lisp: The petalisp․native-backend/backend․lisp file
File, blueprint.lisp: The petalisp․codegen/blueprint․lisp file
File, bpinfo.lisp: The petalisp․codegen/bpinfo․lisp file
File, broadcast.lisp: The petalisp․api/broadcast․lisp file
File, class-diagram.lisp: The petalisp․graphviz/class-diagram․lisp file
File, code-statistics.lisp: The petalisp․test-suite/code-statistics․lisp file
File, coloring.lisp: The petalisp․ir/coloring․lisp file
File, compilation.lisp: The petalisp․native-backend/compilation․lisp file
File, compile-cache.lisp: The petalisp․codegen/compile-cache․lisp file
File, cpp-compiler.lisp: The petalisp․codegen/cpp-compiler․lisp file
File, cpp-from-lisp.lisp: The petalisp․codegen/cpp-from-lisp․lisp file
File, cqueue.lisp: The petalisp․utilities/cqueue․lisp file
File, data-flow-graph.lisp: The petalisp․graphviz/data-flow-graph․lisp file
File, defgenerator.lisp: The petalisp․test-suite/defgenerator․lisp file
File, device.lisp: The petalisp․ir/device․lisp file
File, differentiator.lisp: The petalisp․api/differentiator․lisp file
File, documentation.lisp: The petalisp․api/documentation․lisp file
File, documentation.lisp: The petalisp․utilities/documentation․lisp file
File, documentation.lisp: The petalisp․ir/documentation․lisp file
File, evaluator.lisp: The petalisp․native-backend/evaluator․lisp file
File, extended-euclid.lisp: The petalisp․utilities/extended-euclid․lisp file
File, generators.lisp: The petalisp․test-suite/generators․lisp file
File, generic-functions.lisp: The petalisp․codegen/generic-functions․lisp file
File, graph-coloring.lisp: The petalisp․utilities/graph-coloring․lisp file
File, harmonize.lisp: The petalisp․api/harmonize․lisp file
File, indexing.lisp: The petalisp․codegen/indexing․lisp file
File, inspect.lisp: The petalisp․core/inspect․lisp file
File, ir-backend.lisp: The petalisp․codegen/ir-backend․lisp file
File, ir-checker.lisp: The petalisp․ir/ir-checker․lisp file
File, ir-conversion.lisp: The petalisp․ir/ir-conversion․lisp file
File, ir.lisp: The petalisp․ir/ir․lisp file
File, ir.lisp: The petalisp․graphviz/ir․lisp file
File, karmarkar-karp.lisp: The petalisp․utilities/karmarkar-karp․lisp file
File, lazy-array.lisp: The petalisp․core/lazy-array․lisp file
File, lazy-fuse.lisp: The petalisp․core/lazy-fuse․lisp file
File, lazy-index-components.lisp: The petalisp․api/lazy-index-components․lisp file
File, lazy-map.lisp: The petalisp․core/lazy-map․lisp file
File, lazy-multiple-value.lisp: The petalisp․api/lazy-multiple-value․lisp file
File, lazy-overwrite.lisp: The petalisp․api/lazy-overwrite․lisp file
File, lazy-rearrange.lisp: The petalisp․api/lazy-rearrange․lisp file
File, lazy-reduce.lisp: The petalisp․api/lazy-reduce․lisp file
File, lazy-reshape.lisp: The petalisp․core/lazy-reshape․lisp file
File, lazy-sort.lisp: The petalisp․api/lazy-sort․lisp file
File, lazy-stack.lisp: The petalisp․api/lazy-stack․lisp file
File, lazy.lisp: The petalisp․api/lazy․lisp file
File, lisp-compiler.lisp: The petalisp․codegen/lisp-compiler․lisp file
File, lisp-interpreter.lisp: The petalisp․codegen/lisp-interpreter․lisp file
File, load-foreign-code.lisp: The petalisp․codegen/load-foreign-code․lisp file
File, mixins.lisp: The petalisp․codegen/mixins․lisp file
File, number-of-cpus.lisp: The petalisp․utilities/number-of-cpus․lisp file
File, packages.lisp: The petalisp․api/packages․lisp file
File, packages.lisp: The petalisp․packages/packages․lisp file
File, packages.lisp: The petalisp․utilities/packages․lisp file
File, packages.lisp: The petalisp․core/packages․lisp file
File, packages.lisp: The petalisp․ir/packages․lisp file
File, packages.lisp: The petalisp․codegen/packages․lisp file
File, packages.lisp: The petalisp․native-backend/packages․lisp file
File, packages.lisp: The petalisp․graphviz/packages․lisp file
File, packages.lisp: The petalisp․test-suite/packages․lisp file
File, partitioning.lisp: The petalisp․ir/partitioning․lisp file
File, partitioning.lisp: The petalisp․graphviz/partitioning․lisp file
File, petalisp.api.asd: The petalisp․api/petalisp․api․asd file
File, petalisp.api.lisp: The petalisp․test-suite/petalisp․api․lisp file
File, petalisp.asd: The petalisp/petalisp․asd file
File, petalisp.codegen.asd: The petalisp․codegen/petalisp․codegen․asd file
File, petalisp.core.asd: The petalisp․core/petalisp․core․asd file
File, petalisp.core.lisp: The petalisp․test-suite/petalisp․core․lisp file
File, petalisp.examples.lisp: The petalisp․test-suite/petalisp․examples․lisp file
File, petalisp.graphviz.asd: The petalisp․graphviz/petalisp․graphviz․asd file
File, petalisp.ir.asd: The petalisp․ir/petalisp․ir․asd file
File, petalisp.lisp: The petalisp․graphviz/petalisp․lisp file
File, petalisp.native-backend.asd: The petalisp․native-backend/petalisp․native-backend․asd file
File, petalisp.packages.asd: The petalisp․packages/petalisp․packages․asd file
File, petalisp.test-suite.asd: The petalisp․test-suite/petalisp․test-suite․asd file
File, petalisp.utilities.asd: The petalisp․utilities/petalisp․utilities․asd file
File, pin-current-thread.lisp: The petalisp․native-backend/pin-current-thread․lisp file
File, powers-of-two.lisp: The petalisp․utilities/powers-of-two․lisp file
File, prime-factors.lisp: The petalisp․utilities/prime-factors․lisp file
File, protocol.lisp: The petalisp․graphviz/protocol․lisp file
File, range.lisp: The petalisp․core/range․lisp file
File, reference-backend.lisp: The petalisp․core/reference-backend․lisp file
File, request.lisp: The petalisp․native-backend/request․lisp file
File, reshapers.lisp: The petalisp․api/reshapers․lisp file
File, run-petalisp-test-suite.lisp: The petalisp․test-suite/run-petalisp-test-suite․lisp file
File, scheduling.lisp: The petalisp․utilities/scheduling․lisp file
File, scheduling.lisp: The petalisp․native-backend/scheduling․lisp file
File, scheduling.lisp: The petalisp․graphviz/scheduling․lisp file
File, shape-syntax.lisp: The petalisp․api/shape-syntax․lisp file
File, shape.lisp: The petalisp․core/shape․lisp file
File, substitute-lazy-arrays.lisp: The petalisp․core/substitute-lazy-arrays․lisp file
File, test-suite.lisp: The petalisp․test-suite/test-suite․lisp file
File, testing-backend.lisp: The petalisp․test-suite/testing-backend․lisp file
File, transform.lisp: The petalisp․api/transform․lisp file
File, transformation-constructors.lisp: The petalisp․core/transformation-constructors․lisp file
File, transformation.lisp: The petalisp․core/transformation․lisp file
File, utilities.lisp: The petalisp․graphviz/utilities․lisp file
File, view.lisp: The petalisp․graphviz/view․lisp file
File, with-collectors.lisp: The petalisp․utilities/with-collectors․lisp file
File, with-lazy-arrays.lisp: The petalisp․api/with-lazy-arrays․lisp file
File, with-pinned-objects.lisp: The petalisp․utilities/with-pinned-objects․lisp file
File, worker-pool.lisp: The petalisp․native-backend/worker-pool․lisp file

G
generators.lisp: The petalisp․test-suite/generators․lisp file
generic-functions.lisp: The petalisp․codegen/generic-functions․lisp file
ghostspec: Private structures
graph: Public structures
graph-coloring.lisp: The petalisp․utilities/graph-coloring․lisp file

H
hairy-transformation: Private structures
harmonize.lisp: The petalisp․api/harmonize․lisp file

I
identity-transformation: Public structures
index: Public types
indexing.lisp: The petalisp․codegen/indexing․lisp file
input-edge: Private classes
inspect.lisp: The petalisp․core/inspect․lisp file
instruction: Public structures
invocation: Private structures
ir-backend: Private classes
ir-backend.lisp: The petalisp․codegen/ir-backend․lisp file
ir-checker.lisp: The petalisp․ir/ir-checker․lisp file
ir-conversion.lisp: The petalisp․ir/ir-conversion․lisp file
ir-converter: Private structures
ir-edge: Private classes
ir-graph: Private classes
ir.lisp: The petalisp․ir/ir․lisp file
ir.lisp: The petalisp․graphviz/ir․lisp file
iref-instruction: Public structures
iterating-instruction: Public structures

K
karmarkar-karp.lisp: The petalisp․utilities/karmarkar-karp․lisp file
kernel: Public structures
kernel-shard: Public structures

L
layout: Public structures
lazy-array: Public structures
lazy-array.lisp: The petalisp․core/lazy-array․lisp file
lazy-fuse.lisp: The petalisp․core/lazy-fuse․lisp file
lazy-index-components.lisp: The petalisp․api/lazy-index-components․lisp file
lazy-map.lisp: The petalisp․core/lazy-map․lisp file
lazy-multiple-value.lisp: The petalisp․api/lazy-multiple-value․lisp file
lazy-overwrite.lisp: The petalisp․api/lazy-overwrite․lisp file
lazy-rearrange.lisp: The petalisp․api/lazy-rearrange․lisp file
lazy-reduce.lisp: The petalisp․api/lazy-reduce․lisp file
lazy-reshape.lisp: The petalisp․core/lazy-reshape․lisp file
lazy-sort.lisp: The petalisp․api/lazy-sort․lisp file
lazy-stack.lisp: The petalisp․api/lazy-stack․lisp file
lazy.lisp: The petalisp․api/lazy․lisp file
lisp-compiler-mixin: Public classes
lisp-compiler.lisp: The petalisp․codegen/lisp-compiler․lisp file
lisp-interpreter-mixin: Public classes
lisp-interpreter.lisp: The petalisp․codegen/lisp-interpreter․lisp file
lisp-plus-cpp-compiler-mixin: Public classes
load-edge: Private classes
load-foreign-code.lisp: The petalisp․codegen/load-foreign-code․lisp file
load-instruction: Public structures
load-or-store-instruction: Public structures

M
memory: Public classes
mixins.lisp: The petalisp․codegen/mixins․lisp file

N
node: Public structures
node: Private structures
non-empty-range: Public structures
nucleus: Private structures
number-of-cpus.lisp: The petalisp․utilities/number-of-cpus․lisp file

O
output-edge: Private classes

P
Package, petalisp-1.0: The petalisp-1․0 package
Package, petalisp-user: The petalisp-user package
Package, petalisp.api: The petalisp․api package
Package, petalisp.codegen: The petalisp․codegen package
Package, petalisp.core: The petalisp․core package
Package, petalisp.cqueue: The petalisp․cqueue package
Package, petalisp.graphviz: The petalisp․graphviz package
Package, petalisp.ir: The petalisp․ir package
Package, petalisp.karmarkar-karp: The petalisp․karmarkar-karp package
Package, petalisp.native-backend: The petalisp․native-backend package
Package, petalisp.scheduling: The petalisp․scheduling package
Package, petalisp.test-suite: The petalisp․test-suite package
Package, petalisp.utilities: The petalisp․utilities package
packages.lisp: The petalisp․api/packages․lisp file
packages.lisp: The petalisp․packages/packages․lisp file
packages.lisp: The petalisp․utilities/packages․lisp file
packages.lisp: The petalisp․core/packages․lisp file
packages.lisp: The petalisp․ir/packages․lisp file
packages.lisp: The petalisp․codegen/packages․lisp file
packages.lisp: The petalisp․native-backend/packages․lisp file
packages.lisp: The petalisp․graphviz/packages․lisp file
packages.lisp: The petalisp․test-suite/packages․lisp file
partitioning-edge: Private classes
partitioning-graph: Private classes
partitioning.lisp: The petalisp․ir/partitioning․lisp file
partitioning.lisp: The petalisp․graphviz/partitioning․lisp file
pdfs-queue: Private structures
petalisp: The petalisp system
petalisp-1.0: The petalisp-1․0 package
petalisp-edge: Private classes
petalisp-graph: Private classes
petalisp-user: The petalisp-user package
petalisp.api: The petalisp․api system
petalisp.api: The petalisp․api package
petalisp.api.asd: The petalisp․api/petalisp․api․asd file
petalisp.api.lisp: The petalisp․test-suite/petalisp․api․lisp file
petalisp.asd: The petalisp/petalisp․asd file
petalisp.codegen: The petalisp․codegen system
petalisp.codegen: The petalisp․codegen package
petalisp.codegen.asd: The petalisp․codegen/petalisp․codegen․asd file
petalisp.core: The petalisp․core system
petalisp.core: The petalisp․core package
petalisp.core.asd: The petalisp․core/petalisp․core․asd file
petalisp.core.lisp: The petalisp․test-suite/petalisp․core․lisp file
petalisp.cqueue: The petalisp․cqueue package
petalisp.examples.lisp: The petalisp․test-suite/petalisp․examples․lisp file
petalisp.graphviz: The petalisp․graphviz system
petalisp.graphviz: The petalisp․graphviz package
petalisp.graphviz.asd: The petalisp․graphviz/petalisp․graphviz․asd file
petalisp.ir: The petalisp․ir system
petalisp.ir: The petalisp․ir package
petalisp.ir.asd: The petalisp․ir/petalisp․ir․asd file
petalisp.karmarkar-karp: The petalisp․karmarkar-karp package
petalisp.lisp: The petalisp․graphviz/petalisp․lisp file
petalisp.native-backend: The petalisp․native-backend system
petalisp.native-backend: The petalisp․native-backend package
petalisp.native-backend.asd: The petalisp․native-backend/petalisp․native-backend․asd file
petalisp.packages: The petalisp․packages system
petalisp.packages.asd: The petalisp․packages/petalisp․packages․asd file
petalisp.scheduling: The petalisp․scheduling package
petalisp.test-suite: The petalisp․test-suite system
petalisp.test-suite: The petalisp․test-suite package
petalisp.test-suite.asd: The petalisp․test-suite/petalisp․test-suite․asd file
petalisp.utilities: The petalisp․utilities system
petalisp.utilities: The petalisp․utilities package
petalisp.utilities.asd: The petalisp․utilities/petalisp․utilities․asd file
pin-current-thread.lisp: The petalisp․native-backend/pin-current-thread․lisp file
powers-of-two.lisp: The petalisp․utilities/powers-of-two․lisp file
prime-factors.lisp: The petalisp․utilities/prime-factors․lisp file
program: Public structures
protocol.lisp: The petalisp․graphviz/protocol․lisp file
prune: Private structures

R
range: Public structures
range.lisp: The petalisp․core/range․lisp file
rank: Public types
reader-edge: Private classes
reference-backend: Private classes
reference-backend.lisp: The petalisp․core/reference-backend․lisp file
request: Public classes
request: Private structures
request.lisp: The petalisp․native-backend/request․lisp file
reshapers.lisp: The petalisp․api/reshapers․lisp file
run-petalisp-test-suite.lisp: The petalisp․test-suite/run-petalisp-test-suite․lisp file

S
scheduling-edge: Private classes
scheduling-graph: Private classes
scheduling.lisp: The petalisp․utilities/scheduling․lisp file
scheduling.lisp: The petalisp․native-backend/scheduling․lisp file
scheduling.lisp: The petalisp․graphviz/scheduling․lisp file
shape: Public structures
shape-syntax-delimiter: Private types
shape-syntax.lisp: The petalisp․api/shape-syntax․lisp file
shape-table: Public structures
shape.lisp: The petalisp․core/shape․lisp file
simulated-memory: Private structures
small-fixnum: Private types
small-non-negative-fixnum: Private types
split: Public structures
stem: Private structures
stencil: Public structures
store-edge: Private classes
store-instruction: Public structures
Structure, action: Private structures
Structure, ad-record: Private structures
Structure, allocation: Private structures
Structure, bpcall: Private structures
Structure, bpconstant: Private structures
Structure, bpfunction: Private structures
Structure, bpinfo: Private structures
Structure, bpinstinfo: Private structures
Structure, bpinstruction: Private structures
Structure, bpioffset: Private structures
Structure, bpiref: Private structures
Structure, bpiscaling: Private structures
Structure, bpload: Private structures
Structure, bpmemref: Private structures
Structure, bprange: Private structures
Structure, bpstencil: Private structures
Structure, bpstore: Private structures
Structure, bpvalue: Private structures
Structure, bpvariable: Private structures
Structure, buffer: Public structures
Structure, buffer-shard: Public structures
Structure, call-instruction: Public structures
Structure, cenv: Private structures
Structure, cgraph: Private structures
Structure, cnode: Private structures
Structure, compile-cache: Private structures
Structure, cqueue: Public structures
Structure, delayed-action: Public structures
Structure, delayed-array: Public structures
Structure, delayed-failure: Public structures
Structure, delayed-fuse: Public structures
Structure, delayed-map: Public structures
Structure, delayed-multiple-value-map: Public structures
Structure, delayed-nop: Public structures
Structure, delayed-nth-value: Public structures
Structure, delayed-range: Public structures
Structure, delayed-reshape: Public structures
Structure, delayed-unknown: Public structures
Structure, delayed-wait: Public structures
Structure, dendrite: Private structures
Structure, denv: Private structures
Structure, empty-range: Public structures
Structure, ghostspec: Private structures
Structure, graph: Public structures
Structure, hairy-transformation: Private structures
Structure, identity-transformation: Public structures
Structure, instruction: Public structures
Structure, invocation: Private structures
Structure, ir-converter: Private structures
Structure, iref-instruction: Public structures
Structure, iterating-instruction: Public structures
Structure, kernel: Public structures
Structure, kernel-shard: Public structures
Structure, layout: Public structures
Structure, lazy-array: Public structures
Structure, load-instruction: Public structures
Structure, load-or-store-instruction: Public structures
Structure, node: Public structures
Structure, node: Private structures
Structure, non-empty-range: Public structures
Structure, nucleus: Private structures
Structure, pdfs-queue: Private structures
Structure, program: Public structures
Structure, prune: Private structures
Structure, range: Public structures
Structure, request: Private structures
Structure, shape: Public structures
Structure, shape-table: Public structures
Structure, simulated-memory: Private structures
Structure, split: Public structures
Structure, stem: Private structures
Structure, stencil: Public structures
Structure, store-instruction: Public structures
Structure, subset: Private structures
Structure, task: Public structures
Structure, transformation: Public structures
Structure, tuple: Private structures
Structure, vicinity: Public structures
Structure, worker: Private structures
Structure, worker-pool: Private structures
subset: Private structures
substitute-lazy-arrays.lisp: The petalisp․core/substitute-lazy-arrays․lisp file
System, petalisp: The petalisp system
System, petalisp.api: The petalisp․api system
System, petalisp.codegen: The petalisp․codegen system
System, petalisp.core: The petalisp․core system
System, petalisp.graphviz: The petalisp․graphviz system
System, petalisp.ir: The petalisp․ir system
System, petalisp.native-backend: The petalisp․native-backend system
System, petalisp.packages: The petalisp․packages system
System, petalisp.test-suite: The petalisp․test-suite system
System, petalisp.utilities: The petalisp․utilities system

T
task: Public structures
test-suite.lisp: The petalisp․test-suite/test-suite․lisp file
testing-backend: Private classes
testing-backend.lisp: The petalisp․test-suite/testing-backend․lisp file
transform.lisp: The petalisp․api/transform․lisp file
transformation: Public structures
transformation-constructors.lisp: The petalisp․core/transformation-constructors․lisp file
transformation.lisp: The petalisp․core/transformation․lisp file
tuple: Private structures
Type, axis: Public types
Type, clp2-fixnum: Private types
Type, color: Private types
Type, colorset: Private types
Type, index: Public types
Type, rank: Public types
Type, shape-syntax-delimiter: Private types
Type, small-fixnum: Private types
Type, small-non-negative-fixnum: Private types
Type, worker-id: Private types

U
utilities.lisp: The petalisp․graphviz/utilities․lisp file

V
vicinity: Public structures
view.lisp: The petalisp․graphviz/view․lisp file

W
with-collectors.lisp: The petalisp․utilities/with-collectors․lisp file
with-lazy-arrays.lisp: The petalisp․api/with-lazy-arrays․lisp file
with-pinned-objects.lisp: The petalisp․utilities/with-pinned-objects․lisp file
worker: Private structures
worker-id: Private types
worker-pool: Private structures
worker-pool.lisp: The petalisp․native-backend/worker-pool․lisp file
writer-edge: Private classes