The xecto Reference Manual

This is the xecto Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:18:33 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 xecto

Xecto is a simple parallel vector-processing library

Author

Paul Khuong

License

3-clause BSD

Version

0.0.1

Dependency

sb-queue (system).

Source

xecto.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 xecto/xecto.asd

Source

xecto.asd.

Parent Component

xecto (system).

ASDF Systems

xecto.


3.1.2 xecto/status.lisp

Source

xecto.asd.

Parent Component

xecto (system).

Packages

status.

Public Interface
Internals

3.1.3 xecto/work-units.lisp

Source

xecto.asd.

Parent Component

xecto (system).

Packages

work-unit.

Public Interface
Internals

3.1.4 xecto/work-stack.lisp

Dependency

work-units.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Packages

work-stack.

Public Interface
Internals

3.1.5 xecto/thread-pool.lisp

Dependency

work-stack.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Packages

work-queue.

Public Interface
Internals

3.1.6 xecto/futures.lisp

Dependencies
Source

xecto.asd.

Parent Component

xecto (system).

Packages

future.

Public Interface
Internals

3.1.7 xecto/parallel-futures.lisp

Dependencies
Source

xecto.asd.

Parent Component

xecto (system).

Packages

parallel-future.

Public Interface
Internals

3.1.8 xecto/parallel-primitives.lisp

Dependencies
Source

xecto.asd.

Parent Component

xecto (system).

Packages
Public Interface
Internals

3.1.9 xecto/vector-futures.lisp

Dependency

parallel-futures.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Packages

vector-future.

Public Interface
Internals

3.1.10 xecto/loop-nest-transpose.lisp

Source

xecto.asd.

Parent Component

xecto (system).

Packages

xecto-loop-nest.

Public Interface
Internals

3.1.11 xecto/xecto-impl.lisp

Dependencies
Source

xecto.asd.

Parent Component

xecto (system).

Packages

xecto-impl.

Internals

3.1.12 xecto/xecto-impl-reshape.lisp

Dependency

xecto-impl.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Internals

3.1.13 xecto/xecto-impl-map.lisp

Dependency

xecto-impl.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Internals

3.1.14 xecto/xecto-impl-reduce.lisp

Dependency

xecto-impl.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Internals

3.1.15 xecto/xecto-impl-scan.lisp

Dependency

xecto-impl.lisp (file).

Source

xecto.asd.

Parent Component

xecto (system).

Internals

4 Packages

Packages are listed by definition order.


4.1 parallel-future

Source

parallel-futures.lisp.

Use List
  • common-lisp.
  • sb-ext.
Public Interface
Internals

4.2 future

Source

futures.lisp.

Use List
  • common-lisp.
  • sb-ext.
  • sb-thread.
Public Interface
Internals

4.3 vector-future

Source

vector-futures.lisp.

Use List
  • common-lisp.
  • sb-ext.
Public Interface
Internals

4.4 work-stack

Source

work-stack.lisp.

Use List
Public Interface
Internals

4.5 work-queue

Source

thread-pool.lisp.

Use List
  • common-lisp.
  • sb-ext.
  • sb-thread.
Public Interface
Internals

4.6 xecto-impl

Source

xecto-impl.lisp.

Use List
  • common-lisp.
  • sb-ext.
  • sb-thread.
Internals

4.7 status

Source

status.lisp.

Use List
  • common-lisp.
  • sb-ext.
  • sb-thread.
Public Interface
Internals

4.8 xecto-loop-nest

Source

loop-nest-transpose.lisp.

Use List

common-lisp.

Public Interface
Internals

4.9 parallel

Source

parallel-primitives.lisp.

Public Interface

4.10 work-unit

Source

work-units.lisp.

Use List
  • common-lisp.
  • sb-ext.
Used By List

work-stack.

Public Interface
Internals

4.11 parallel-impl

Source

parallel-primitives.lisp.

Use List
  • common-lisp.
  • sb-ext.
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *context*
Package

parallel-future.

Source

parallel-futures.lisp.

Special Variable: *minimal-inner-trip-count*
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.


5.1.2 Macros

Macro: bind ((&rest bindings) &body body)
Package

parallel.

Source

parallel-primitives.lisp.

Macro: define-status-type (type-name (&key fast-type status-type default-status constructor final-states) fast-accessor status-function wait-function upgrade-function)
Package

status.

Source

status.lisp.

Macro: dotimes ((var count &optional result) &body body)
Package

parallel.

Source

parallel-primitives.lisp.

Macro: let ((&rest bindings) &body body)
Package

parallel.

Source

parallel-primitives.lisp.

Macro: with-context ((count) &body body)
Package

parallel-future.

Source

parallel-futures.lisp.


5.1.3 Ordinary functions

Function: %bulk-find-task (bulk hint random)
Package

work-unit.

Source

work-units.lisp.

Function: alive-p (queue)
Package

work-queue.

Source

thread-pool.lisp.

Reader: bulk-task-cleanup (instance)
Writer: (setf bulk-task-cleanup) (instance)
Package

work-unit.

Source

work-units.lisp.

Target Slot

cleanup.

Function: bulk-task-p (object)
Package

work-unit.

Source

work-units.lisp.

Reader: bulk-task-remaining (instance)
Writer: (setf bulk-task-remaining) (instance)
Package

work-unit.

Source

work-units.lisp.

Target Slot

remaining.

Reader: bulk-task-subtask-function (instance)
Writer: (setf bulk-task-subtask-function) (instance)
Package

work-unit.

Source

work-units.lisp.

Target Slot

subtask-function.

Reader: bulk-task-subtasks (instance)
Writer: (setf bulk-task-subtasks) (instance)
Package

work-unit.

Source

work-units.lisp.

Target Slot

subtasks.

Reader: bulk-task-waiting (instance)
Writer: (setf bulk-task-waiting) (instance)
Package

work-unit.

Source

work-units.lisp.

Target Slot

waiting.

Function: cancel (future)
Package

future.

Source

futures.lisp.

Function: current-queue (&optional default)
Package

work-queue.

Source

thread-pool.lisp.

Function: data (vector-future)
Package

vector-future.

Source

vector-futures.lisp.

Function: dependents (future)
Package

future.

Source

futures.lisp.

Function: enqueue (task &optional queue)
Package

work-queue.

Source

thread-pool.lisp.

Function: enqueue-all (tasks &optional queue)
Package

work-queue.

Source

thread-pool.lisp.

Function: execute-task (task)
Package

work-unit.

Source

work-units.lisp.

Function: future (dependencies callback &key subtasks cleanup)
Package

parallel.

Source

parallel-primitives.lisp.

Function: future-value (future)
Package

parallel.

Source

parallel-primitives.lisp.

Function: future-value* (future)
Package

parallel.

Source

parallel-primitives.lisp.

Function: make (dependencies setup subtasks cleanup &optional constructor &rest arguments)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: make (allocation dependencies tasks &optional constructor &rest arguments)
Package

vector-future.

Source

vector-futures.lisp.

Function: make ()
Package

work-stack.

Source

work-stack.lisp.

Function: make (nthread &optional constructor &rest arguments)
Package

work-queue.

Source

thread-pool.lisp.

Function: map (type function arg &key wait)
Package

parallel.

Source

parallel-primitives.lisp.

Function: map-group-reduce (sequence map reduce &key group-test group-by wait master-table fancy)
Package

parallel.

Source

parallel-primitives.lisp.

Function: mark-dependencies (future &key thaw recursive)
Package

future.

Source

futures.lisp.

Function: mark-done (future)
Package

future.

Source

futures.lisp.

Function: optimize (offset-and-shape &rest offsets-and-shapes)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: p (x)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: p (x)
Package

work-stack.

Source

work-stack.lisp.

Function: p (x)
Package

work-queue.

Source

thread-pool.lisp.

Function: progress-until (condition)
Package

work-queue.

Source

thread-pool.lisp.

Function: promise (thunk &rest args)
Package

parallel.

Source

parallel-primitives.lisp.

Function: promise-value (promise)
Package

parallel.

Source

parallel-primitives.lisp.

Function: promise-value* (promise)
Package

parallel.

Source

parallel-primitives.lisp.

Function: push (stack x &optional hint)
Package

work-stack.

Source

work-stack.lisp.

Function: push-all (stack values &optional hint)
Package

work-stack.

Source

work-stack.lisp.

Function: push-self (task &optional queue)
Package

work-queue.

Source

thread-pool.lisp.

Function: push-self-all (tasks &optional queue)
Package

work-queue.

Source

thread-pool.lisp.

Function: reduce (function arg seed &key wait key)
Package

parallel.

Source

parallel-primitives.lisp.

Function: release (future)
Package

vector-future.

Source

vector-futures.lisp.

Function: retain (future)
Package

vector-future.

Source

vector-futures.lisp.

Function: run-one (stack random-state)
Package

work-stack.

Source

work-stack.lisp.

Function: status (value)
Package

future.

Source

futures.lisp.

Function: steal (stack)
Package

work-stack.

Source

work-stack.lisp.

Function: stop (queue)
Package

work-queue.

Source

thread-pool.lisp.

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

work-unit.

Source

work-units.lisp.

Target Slot

function.

Function: task-p (object)
Package

work-unit.

Source

work-units.lisp.

Function: thaw (future &key recursive)
Package

future.

Source

futures.lisp.

Function: wait (value &rest stopping-conditions)
Package

future.

Source

futures.lisp.

Function: worker-count (&optional queue)
Package

work-queue.

Source

thread-pool.lisp.

Function: worker-id ()
Package

work-queue.

Source

thread-pool.lisp.


5.1.4 Structures

Structure: bulk-task
Package

work-unit.

Source

work-units.lisp.

Direct superclasses

structure-object.

Direct subclasses

future.

Direct slots
Slot: waiting
Type

word

Initform

(error "missing arg")

Readers

bulk-task-waiting.

Writers

(setf bulk-task-waiting).

Slot: remaining
Type

word

Initform

(error "missing arg")

Readers

bulk-task-remaining.

Writers

(setf bulk-task-remaining).

Slot: subtask-function
Type

(or null symbol function)

Readers

bulk-task-subtask-function.

Writers

(setf bulk-task-subtask-function).

Slot: subtasks
Type

simple-vector

Initform

(error "missing arg")

Readers

bulk-task-subtasks.

Writers

(setf bulk-task-subtasks).

Slot: cleanup
Type

(or list symbol function)

Readers

bulk-task-cleanup.

Writers

(setf bulk-task-cleanup).

Structure: future
Package

parallel-future.

Source

parallel-futures.lisp.

Direct superclasses

future.

Direct subclasses
Direct slots
Slot: setup
Type

(or list symbol function)

Readers

future-setup.

Writers

(setf future-setup).

Structure: future
Package

future.

Source

futures.lisp.

Direct superclasses

bulk-task.

Direct subclasses

future.

Direct slots
Slot: function
Package

common-lisp.

Type

(or list symbol function)

Readers

future-function.

Writers

(setf future-function).

Slot: dependents
Type

(or list (member :done :cancelled))

Readers

future-dependents.

Writers

(setf future-dependents).

Slot: dependencies
Type

simple-vector

Readers

future-dependencies.

Writers

(setf future-dependencies).

Slot: depcount
Type

word

Initform

0

Readers

future-depcount.

Writers

(setf future-depcount).

Slot: %status
Type

(or future:status future::slow-status)

Initform

:orphan

Readers

future-%status.

Writers

(setf future-%status).

Structure: future
Package

parallel.

Source

parallel-primitives.lisp.

Direct superclasses

future.

Direct slots
Slot: %values
Package

parallel-impl.

Readers

future-%values.

Writers

(setf future-%values).

Structure: promise
Package

parallel.

Source

parallel-primitives.lisp.

Direct superclasses

task.

Direct slots
Slot: %values
Package

parallel-impl.

Readers

promise-%values.

Writers

(setf promise-%values).

Slot: %status
Package

parallel-impl.

Type

(or parallel-impl::status parallel-impl::promise-slow-status)

Initform

:waiting

Readers

promise-%status.

Writers

(setf promise-%status).

Structure: queue
Package

work-queue.

Source

thread-pool.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: locks
Type

(simple-array sb-thread:mutex 1)

Initform

(error "foo")

Readers

queue-locks.

Writers

This slot is read-only.

Slot: cvar
Type

sb-thread:waitqueue

Initform

(sb-thread:make-waitqueue)

Readers

queue-cvar.

Writers

This slot is read-only.

Slot: nthread
Type

work-queue::thread-count

Initform

(error "foo")

Readers

queue-nthread.

Writers

This slot is read-only.

Slot: state
Type

cons

Initform

(error "foo")

Readers

queue-state.

Writers

This slot is read-only.

Slot: queue
Type

sb-concurrency:queue

Initform

(sb-concurrency:make-queue)

Readers

queue-queue.

Writers

(setf queue-queue).

Slot: stacks
Type

(simple-array work-stack:stack 1)

Initform

(error "foo")

Readers

queue-stacks.

Writers

This slot is read-only.

Slot: threads
Type

(simple-array t 1)

Initform

(error "foo")

Readers

queue-threads.

Writers

This slot is read-only.

Slot: randoms
Type

(simple-array random-state 1)

Initform

(error "foo")

Readers

queue-randoms.

Writers

This slot is read-only.

Structure: slow-status
Package

status.

Source

status.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct slots
Slot: status
Readers

slow-status-status.

Writers

(setf slow-status-status).

Slot: lock
Type

sb-thread:mutex

Initform

(sb-thread:make-mutex)

Readers

slow-status-lock.

Writers

This slot is read-only.

Slot: cvar
Type

sb-thread:waitqueue

Initform

(sb-thread:make-waitqueue)

Readers

slow-status-cvar.

Writers

This slot is read-only.

Structure: stack
Package

work-stack.

Source

work-stack.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: stacklets
Type

(array (simple-vector 128) 1)

Initform

(error "foo")

Readers

stack-stacklets.

Writers

This slot is read-only.

Slot: top
Type

(and unsigned-byte fixnum)

Initform

0

Readers

stack-top.

Writers

(setf stack-top).

Slot: bottom
Type

(and unsigned-byte fixnum)

Initform

0

Readers

stack-bottom.

Writers

(setf stack-bottom).

Structure: task
Package

work-unit.

Source

work-units.lisp.

Direct superclasses

structure-object.

Direct subclasses

promise.

Direct slots
Slot: function
Package

common-lisp.

Type

(or symbol function)

Initform

(error "missing arg")

Readers

task-function.

Writers

(setf task-function).

Structure: vector-future
Package

vector-future.

Source

vector-futures.lisp.

Direct superclasses

future.

Direct slots
Slot: refcount
Type

word

Initform

0

Readers

vector-future-refcount.

Writers

(setf vector-future-refcount).

Slot: size
Type

(and unsigned-byte fixnum)

Initform

0

Readers

vector-future-size.

Writers

(setf vector-future-size).

Slot: %data
Type

(or null (simple-array double-float 1))

Readers

vector-future-%data.

Writers

(setf vector-future-%data).

Slot: handle
Type

cons

Initform

(list nil)

Readers

vector-future-handle.

Writers

This slot is read-only.


5.1.5 Types

Type: status ()
Package

future.

Source

futures.lisp.

Type: task-designator ()
Package

work-unit.

Source

work-units.lisp.


5.2 Internals


5.2.1 Constants

Constant: +max-thread-count+
Package

work-queue.

Source

thread-pool.lisp.

Constant: +stacklet-size+
Package

work-stack.

Source

work-stack.lisp.


5.2.2 Special variables

Special Variable: *current-queue*
Package

work-queue.

Source

thread-pool.lisp.

Special Variable: *max-inner-loop-count*
Package

xecto-impl.

Source

xecto-impl-map.lisp.

Special Variable: *worker-hint*
Package

work-queue.

Source

thread-pool.lisp.

Special Variable: *worker-id*
Package

work-queue.

Source

thread-pool.lisp.


5.2.3 Ordinary functions

Function: %call-n-times (count function cleanup)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: %canonical-size-and-shape (shape)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: %copy-xecto (instance)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: %make-queue (&key locks cvar nthread state queue stacks threads randoms)
Package

work-queue.

Source

thread-pool.lisp.

Function: %make-worker (wqueue i &optional binding-names binding-compute)
Package

work-queue.

Source

thread-pool.lisp.

Function: %make-xecto (%shape %data &optional offset)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: %promise-upgrade (value to &rest from)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: %promise-wait (value &rest stopping-conditions)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: %push (stack value)
Package

work-stack.

Source

work-stack.lisp.

Function: %update-stack-top (stack)
Package

work-stack.

Source

work-stack.lisp.

Function: %worker-loop (weak-queue index hint &optional poll-function wait-time)
Package

work-queue.

Source

thread-pool.lisp.

Function: bulk-find-task (hint-and-bulk random-state)
Package

work-stack.

Source

work-stack.lisp.

Function: bulk-task-hintify (x &optional hint)
Package

work-stack.

Source

work-stack.lisp.

Function: call-n-times (count function aggregate-function &optional cleanup)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: call-with-future-values (function futures)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: compute-map-tasks (function pattern &rest arguments)
Package

xecto-impl.

Source

xecto-impl-map.lisp.

Function: compute-reduce-tasks (function spine pattern arg)
Package

xecto-impl.

Source

xecto-impl-reduce.lisp.

Function: compute-scan-tasks (function spine pattern arg)
Package

xecto-impl.

Source

xecto-impl-scan.lisp.

Function: copy-bulk-task (instance)
Package

work-unit.

Source

work-units.lisp.

Function: copy-future (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: copy-future (instance)
Package

future.

Source

futures.lisp.

Function: copy-future (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: copy-promise (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: copy-promise-slow-status (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: copy-queue (instance)
Package

work-queue.

Source

thread-pool.lisp.

Function: copy-slow-status (instance)
Package

future.

Source

futures.lisp.

Function: copy-slow-status (instance)
Package

status.

Source

status.lisp.

Function: copy-stack (instance)
Package

work-stack.

Source

work-stack.lisp.

Function: copy-task (instance)
Package

work-unit.

Source

work-units.lisp.

Function: copy-vector-future (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: copy-xecto (xecto &key shape offset)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: ensure-minimal-trip-count (pattern)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: execute (future)
Package

future.

Source

futures.lisp.

Function: execute-map (fun r-size r-shape pattern &rest args)
Package

xecto-impl.

Source

xecto-impl-map.lisp.

Function: execute-reduce (fun r-size r-shape spine pattern arg)
Package

xecto-impl.

Source

xecto-impl-reduce.lisp.

Function: execute-scan (fun r-size r-shape spine pattern arg)
Package

xecto-impl.

Source

xecto-impl-scan.lisp.

Function: execute-submap (destination function offsets loop arguments)
Package

xecto-impl.

Source

xecto-impl-map.lisp.

Function: execute-subreduce (destination function spine offsets arg)
Package

xecto-impl.

Source

xecto-impl-reduce.lisp.

Function: execute-subscan (destination function spine offsets arg)
Package

xecto-impl.

Source

xecto-impl-scan.lisp.

Function: extend-shape-or-die (result-shape shape)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: finalize-vector-future (future)
Package

vector-future.

Source

vector-futures.lisp.

Function: future-%status (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-%status) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Reader: future-%status (instance)
Writer: (setf future-%status) (instance)
Package

future.

Source

futures.lisp.

Target Slot

%status.

Function: future-%status (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-%status) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Reader: future-%values (instance)
Writer: (setf future-%values) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Target Slot

%values.

Function: future-cleanup (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-cleanup) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-cleanup (instance)
Package

future.

Source

futures.lisp.

Function: (setf future-cleanup) (instance)
Package

future.

Source

futures.lisp.

Function: future-cleanup (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-cleanup) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-depcount (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-depcount) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Reader: future-depcount (instance)
Writer: (setf future-depcount) (instance)
Package

future.

Source

futures.lisp.

Target Slot

depcount.

Function: future-depcount (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-depcount) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-dependencies (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-dependencies) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Reader: future-dependencies (instance)
Writer: (setf future-dependencies) (instance)
Package

future.

Source

futures.lisp.

Target Slot

dependencies.

Function: future-dependencies (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-dependencies) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-dependents (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-dependents) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Reader: future-dependents (instance)
Writer: (setf future-dependents) (instance)
Package

future.

Source

futures.lisp.

Target Slot

dependents.

Function: future-dependents (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-dependents) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-function (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-function) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Reader: future-function (instance)
Writer: (setf future-function) (instance)
Package

future.

Source

futures.lisp.

Target Slot

function.

Function: future-function (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-function) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-p (object)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-p (object)
Package

future.

Source

futures.lisp.

Function: future-p (object)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-push-self (future)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-remaining (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-remaining) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-remaining (instance)
Package

future.

Source

futures.lisp.

Function: (setf future-remaining) (instance)
Package

future.

Source

futures.lisp.

Function: future-remaining (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-remaining) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Reader: future-setup (instance)
Writer: (setf future-setup) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Target Slot

setup.

Function: future-setup (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-setup) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-subtask-function (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-subtask-function) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-subtask-function (instance)
Package

future.

Source

futures.lisp.

Function: (setf future-subtask-function) (instance)
Package

future.

Source

futures.lisp.

Function: future-subtask-function (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-subtask-function) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-subtasks (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-subtasks) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-subtasks (instance)
Package

future.

Source

futures.lisp.

Function: (setf future-subtasks) (instance)
Package

future.

Source

futures.lisp.

Function: future-subtasks (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-subtasks) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: future-waiting (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: (setf future-waiting) (instance)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: future-waiting (instance)
Package

future.

Source

futures.lisp.

Function: (setf future-waiting) (instance)
Package

future.

Source

futures.lisp.

Function: future-waiting (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf future-waiting) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: grab-task (queue stacks i)
Package

work-queue.

Source

thread-pool.lisp.

Function: intern-shape (shape)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: lex-compare (x y)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: loop-get-task (state lock cvar queue stacks i &optional max-time)
Package

work-queue.

Source

thread-pool.lisp.

Function: make-allocator (allocation)
Package

vector-future.

Source

vector-futures.lisp.

Function: make-deallocator (dependencies)
Package

vector-future.

Source

vector-futures.lisp.

Function: make-future (&key waiting remaining subtask-function subtasks cleanup function dependents dependencies depcount %status setup)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: make-future (&key waiting remaining subtask-function subtasks cleanup function dependents dependencies depcount %status setup %values)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: make-promise (function)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: make-promise-slow-status (&key status lock cvar)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: make-slow-status (&key status lock cvar)
Package

future.

Source

futures.lisp.

Function: make-stack (&key stacklets top bottom)
Package

work-stack.

Source

work-stack.lisp.

Function: make-vector-future (&key waiting remaining subtask-function subtasks cleanup function dependents dependencies depcount %status setup refcount size %data handle)
Package

vector-future.

Source

vector-futures.lisp.

Function: make-xecto (dimensions &key initial-element)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: map-list-designator (functions argument)
Package

parallel-future.

Source

parallel-futures.lisp.

Function: map-xecto (fun arg &rest args)
Package

xecto-impl.

Source

xecto-impl-map.lisp.

Function: merge-pattern (pattern)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: merge-pattern-1 (pattern)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: pop-one-task (stack)
Package

work-stack.

Source

work-stack.lisp.

Reader: promise-%status (instance)
Writer: (setf promise-%status) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Target Slot

%status.

Reader: promise-%values (instance)
Writer: (setf promise-%values) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Target Slot

%values.

Function: promise-function (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: (setf promise-function) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: promise-p (object)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: promise-slow-status-cvar (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: promise-slow-status-lock (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Function: promise-slow-status-p (object)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Reader: promise-slow-status-status (instance)
Writer: (setf promise-slow-status-status) (instance)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Target Slot

status.

Function: promise-status (value)
Package

parallel-impl.

Source

parallel-primitives.lisp.

Reader: queue-cvar (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

cvar.

Reader: queue-locks (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

locks.

Reader: queue-nthread (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

nthread.

Function: queue-p (object)
Package

work-queue.

Source

thread-pool.lisp.

Reader: queue-queue (instance)
Writer: (setf queue-queue) (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

queue.

Reader: queue-randoms (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

randoms.

Reader: queue-stacks (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

stacks.

Reader: queue-state (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

state.

Reader: queue-threads (instance)
Package

work-queue.

Source

thread-pool.lisp.

Target Slot

threads.

Function: random-bit (state max)
Package

work-unit.

Source

work-units.lisp.

Function: reduce-xecto (fun arg)
Package

xecto-impl.

Source

xecto-impl-reduce.lisp.

Function: remove-index (vector index)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: remove-index (vector index)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: replicate (xecto &rest dimensions)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: scan-xecto (fun arg)
Package

xecto-impl.

Source

xecto-impl-scan.lisp.

Function: select (xecto dimension &optional value)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: set-finalizer (xecto)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: shapes-compatible-p (shapes)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Function: size-and-shape (dimensions)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: slice (xecto dimension begin &optional end step)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: slow-status-cvar (instance)
Package

future.

Source

futures.lisp.

Reader: slow-status-cvar (instance)
Package

status.

Source

status.lisp.

Target Slot

cvar.

Function: slow-status-lock (instance)
Package

future.

Source

futures.lisp.

Reader: slow-status-lock (instance)
Package

status.

Source

status.lisp.

Target Slot

lock.

Function: slow-status-p (object)
Package

future.

Source

futures.lisp.

Function: slow-status-p (object)
Package

status.

Source

status.lisp.

Reader: slow-status-status (instance)
Writer: (setf slow-status-status) (instance)
Package

future.

Source

futures.lisp.

Target Slot

status.

Reader: slow-status-status (instance)
Writer: (setf slow-status-status) (instance)
Package

status.

Source

status.lisp.

Target Slot

status.

Function: split-index (index)
Package

work-stack.

Source

work-stack.lisp.

Reader: stack-bottom (instance)
Writer: (setf stack-bottom) (instance)
Package

work-stack.

Source

work-stack.lisp.

Target Slot

bottom.

Function: stack-p (object)
Package

work-stack.

Source

work-stack.lisp.

Reader: stack-stacklets (instance)
Package

work-stack.

Source

work-stack.lisp.

Target Slot

stacklets.

Reader: stack-top (instance)
Writer: (setf stack-top) (instance)
Package

work-stack.

Source

work-stack.lisp.

Target Slot

top.

Function: status-upgrade (value to &rest from)
Package

future.

Source

futures.lisp.

Function: transpose (xecto i j)
Package

xecto-impl.

Source

xecto-impl-reshape.lisp.

Function: transpose-shapes (offsets shapes)
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Reader: vector-future-%data (instance)
Writer: (setf vector-future-%data) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Target Slot

%data.

Function: vector-future-%status (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-%status) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-cleanup (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-cleanup) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-data (vector-future)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-data) (vector-future)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-depcount (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-depcount) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-dependencies (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-dependencies) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-dependents (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-dependents) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-function (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-function) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Reader: vector-future-handle (instance)
Package

vector-future.

Source

vector-futures.lisp.

Target Slot

handle.

Function: vector-future-p (object)
Package

vector-future.

Source

vector-futures.lisp.

Reader: vector-future-refcount (instance)
Writer: (setf vector-future-refcount) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Target Slot

refcount.

Function: vector-future-remaining (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-remaining) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-setup (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-setup) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Reader: vector-future-size (instance)
Writer: (setf vector-future-size) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Target Slot

size.

Function: vector-future-subtask-function (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-subtask-function) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-subtasks (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-subtasks) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: vector-future-waiting (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: (setf vector-future-waiting) (instance)
Package

vector-future.

Source

vector-futures.lisp.

Function: wait (xecto &rest condition)
Package

xecto-impl.

Source

xecto-impl.lisp.

Reader: xecto-%data (instance)
Writer: (setf xecto-%data) (instance)
Package

xecto-impl.

Source

xecto-impl.lisp.

Target Slot

%data.

Function: xecto-data (xecto)
Package

xecto-impl.

Source

xecto-impl.lisp.

Function: (setf xecto-data) (xecto)
Package

xecto-impl.

Source

xecto-impl.lisp.

Reader: xecto-handle (instance)
Writer: (setf xecto-handle) (instance)
Package

xecto-impl.

Source

xecto-impl.lisp.

Target Slot

handle.

Reader: xecto-offset (instance)
Writer: (setf xecto-offset) (instance)
Package

xecto-impl.

Source

xecto-impl.lisp.

Target Slot

offset.

Function: xecto-p (object)
Package

xecto-impl.

Source

xecto-impl.lisp.

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

xecto-impl.

Source

xecto-impl.lisp.

Target Slot

shape.


5.2.4 Structures

Structure: promise-slow-status
Package

parallel-impl.

Source

parallel-primitives.lisp.

Direct superclasses

slow-status.

Direct slots
Slot: status
Package

status.

Type

parallel-impl::status

Initform

:waiting

Readers

promise-slow-status-status.

Writers

(setf promise-slow-status-status).

Structure: slow-status
Package

future.

Source

futures.lisp.

Direct superclasses

slow-status.

Direct slots
Slot: status
Package

status.

Type

future:status

Initform

:orphan

Readers

slow-status-status.

Writers

(setf slow-status-status).

Structure: xecto
Package

xecto-impl.

Source

xecto-impl.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: shape
Type

xecto-impl::shape

Readers

xecto-shape.

Writers

(setf xecto-shape).

Slot: offset
Type

xecto-impl::index

Readers

xecto-offset.

Writers

(setf xecto-offset).

Slot: %data
Type

vector-future:vector-future

Readers

xecto-%data.

Writers

(setf xecto-%data).

Slot: handle
Type

(cons vector-future:vector-future null)

Readers

xecto-handle.

Writers

(setf xecto-handle).


5.2.5 Types

Type: index ()
Package

xecto-impl.

Source

xecto-impl.lisp.

Type: index ()
Package

xecto-loop-nest.

Source

loop-nest-transpose.lisp.

Type: shape (&optional rank)
Package

xecto-impl.

Source

xecto-impl.lisp.

Type: status ()
Package

parallel-impl.

Source

parallel-primitives.lisp.

Type: thread-count ()
Package

work-queue.

Source

thread-pool.lisp.

Type: thread-id ()
Package

work-queue.

Source

thread-pool.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   L   M   O   P   Q   R   S   T   V   W   X  
Index Entry  Section

%
%bulk-find-task: Public ordinary functions
%call-n-times: Private ordinary functions
%canonical-size-and-shape: Private ordinary functions
%copy-xecto: Private ordinary functions
%make-queue: Private ordinary functions
%make-worker: Private ordinary functions
%make-xecto: Private ordinary functions
%promise-upgrade: Private ordinary functions
%promise-wait: Private ordinary functions
%push: Private ordinary functions
%update-stack-top: Private ordinary functions
%worker-loop: Private ordinary functions

(
(setf bulk-task-cleanup): Public ordinary functions
(setf bulk-task-remaining): Public ordinary functions
(setf bulk-task-subtask-function): Public ordinary functions
(setf bulk-task-subtasks): Public ordinary functions
(setf bulk-task-waiting): Public ordinary functions
(setf future-%status): Private ordinary functions
(setf future-%status): Private ordinary functions
(setf future-%status): Private ordinary functions
(setf future-%values): Private ordinary functions
(setf future-cleanup): Private ordinary functions
(setf future-cleanup): Private ordinary functions
(setf future-cleanup): Private ordinary functions
(setf future-depcount): Private ordinary functions
(setf future-depcount): Private ordinary functions
(setf future-depcount): Private ordinary functions
(setf future-dependencies): Private ordinary functions
(setf future-dependencies): Private ordinary functions
(setf future-dependencies): Private ordinary functions
(setf future-dependents): Private ordinary functions
(setf future-dependents): Private ordinary functions
(setf future-dependents): Private ordinary functions
(setf future-function): Private ordinary functions
(setf future-function): Private ordinary functions
(setf future-function): Private ordinary functions
(setf future-remaining): Private ordinary functions
(setf future-remaining): Private ordinary functions
(setf future-remaining): Private ordinary functions
(setf future-setup): Private ordinary functions
(setf future-setup): Private ordinary functions
(setf future-subtask-function): Private ordinary functions
(setf future-subtask-function): Private ordinary functions
(setf future-subtask-function): Private ordinary functions
(setf future-subtasks): Private ordinary functions
(setf future-subtasks): Private ordinary functions
(setf future-subtasks): Private ordinary functions
(setf future-waiting): Private ordinary functions
(setf future-waiting): Private ordinary functions
(setf future-waiting): Private ordinary functions
(setf promise-%status): Private ordinary functions
(setf promise-%values): Private ordinary functions
(setf promise-function): Private ordinary functions
(setf promise-slow-status-status): Private ordinary functions
(setf queue-queue): Private ordinary functions
(setf slow-status-status): Private ordinary functions
(setf slow-status-status): Private ordinary functions
(setf stack-bottom): Private ordinary functions
(setf stack-top): Private ordinary functions
(setf task-function): Public ordinary functions
(setf vector-future-%data): Private ordinary functions
(setf vector-future-%status): Private ordinary functions
(setf vector-future-cleanup): Private ordinary functions
(setf vector-future-data): Private ordinary functions
(setf vector-future-depcount): Private ordinary functions
(setf vector-future-dependencies): Private ordinary functions
(setf vector-future-dependents): Private ordinary functions
(setf vector-future-function): Private ordinary functions
(setf vector-future-refcount): Private ordinary functions
(setf vector-future-remaining): Private ordinary functions
(setf vector-future-setup): Private ordinary functions
(setf vector-future-size): Private ordinary functions
(setf vector-future-subtask-function): Private ordinary functions
(setf vector-future-subtasks): Private ordinary functions
(setf vector-future-waiting): Private ordinary functions
(setf xecto-%data): Private ordinary functions
(setf xecto-data): Private ordinary functions
(setf xecto-handle): Private ordinary functions
(setf xecto-offset): Private ordinary functions
(setf xecto-shape): Private ordinary functions

A
alive-p: Public ordinary functions

B
bind: Public macros
bulk-find-task: Private ordinary functions
bulk-task-cleanup: Public ordinary functions
bulk-task-hintify: Private ordinary functions
bulk-task-p: Public ordinary functions
bulk-task-remaining: Public ordinary functions
bulk-task-subtask-function: Public ordinary functions
bulk-task-subtasks: Public ordinary functions
bulk-task-waiting: Public ordinary functions

C
call-n-times: Private ordinary functions
call-with-future-values: Private ordinary functions
cancel: Public ordinary functions
compute-map-tasks: Private ordinary functions
compute-reduce-tasks: Private ordinary functions
compute-scan-tasks: Private ordinary functions
copy-bulk-task: Private ordinary functions
copy-future: Private ordinary functions
copy-future: Private ordinary functions
copy-future: Private ordinary functions
copy-promise: Private ordinary functions
copy-promise-slow-status: Private ordinary functions
copy-queue: Private ordinary functions
copy-slow-status: Private ordinary functions
copy-slow-status: Private ordinary functions
copy-stack: Private ordinary functions
copy-task: Private ordinary functions
copy-vector-future: Private ordinary functions
copy-xecto: Private ordinary functions
current-queue: Public ordinary functions

D
data: Public ordinary functions
define-status-type: Public macros
dependents: Public ordinary functions
dotimes: Public macros

E
enqueue: Public ordinary functions
enqueue-all: Public ordinary functions
ensure-minimal-trip-count: Private ordinary functions
execute: Private ordinary functions
execute-map: Private ordinary functions
execute-reduce: Private ordinary functions
execute-scan: Private ordinary functions
execute-submap: Private ordinary functions
execute-subreduce: Private ordinary functions
execute-subscan: Private ordinary functions
execute-task: Public ordinary functions
extend-shape-or-die: Private ordinary functions

F
finalize-vector-future: Private ordinary functions
Function, %bulk-find-task: Public ordinary functions
Function, %call-n-times: Private ordinary functions
Function, %canonical-size-and-shape: Private ordinary functions
Function, %copy-xecto: Private ordinary functions
Function, %make-queue: Private ordinary functions
Function, %make-worker: Private ordinary functions
Function, %make-xecto: Private ordinary functions
Function, %promise-upgrade: Private ordinary functions
Function, %promise-wait: Private ordinary functions
Function, %push: Private ordinary functions
Function, %update-stack-top: Private ordinary functions
Function, %worker-loop: Private ordinary functions
Function, (setf bulk-task-cleanup): Public ordinary functions
Function, (setf bulk-task-remaining): Public ordinary functions
Function, (setf bulk-task-subtask-function): Public ordinary functions
Function, (setf bulk-task-subtasks): Public ordinary functions
Function, (setf bulk-task-waiting): Public ordinary functions
Function, (setf future-%status): Private ordinary functions
Function, (setf future-%status): Private ordinary functions
Function, (setf future-%status): Private ordinary functions
Function, (setf future-%values): Private ordinary functions
Function, (setf future-cleanup): Private ordinary functions
Function, (setf future-cleanup): Private ordinary functions
Function, (setf future-cleanup): Private ordinary functions
Function, (setf future-depcount): Private ordinary functions
Function, (setf future-depcount): Private ordinary functions
Function, (setf future-depcount): Private ordinary functions
Function, (setf future-dependencies): Private ordinary functions
Function, (setf future-dependencies): Private ordinary functions
Function, (setf future-dependencies): Private ordinary functions
Function, (setf future-dependents): Private ordinary functions
Function, (setf future-dependents): Private ordinary functions
Function, (setf future-dependents): Private ordinary functions
Function, (setf future-function): Private ordinary functions
Function, (setf future-function): Private ordinary functions
Function, (setf future-function): Private ordinary functions
Function, (setf future-remaining): Private ordinary functions
Function, (setf future-remaining): Private ordinary functions
Function, (setf future-remaining): Private ordinary functions
Function, (setf future-setup): Private ordinary functions
Function, (setf future-setup): Private ordinary functions
Function, (setf future-subtask-function): Private ordinary functions
Function, (setf future-subtask-function): Private ordinary functions
Function, (setf future-subtask-function): Private ordinary functions
Function, (setf future-subtasks): Private ordinary functions
Function, (setf future-subtasks): Private ordinary functions
Function, (setf future-subtasks): Private ordinary functions
Function, (setf future-waiting): Private ordinary functions
Function, (setf future-waiting): Private ordinary functions
Function, (setf future-waiting): Private ordinary functions
Function, (setf promise-%status): Private ordinary functions
Function, (setf promise-%values): Private ordinary functions
Function, (setf promise-function): Private ordinary functions
Function, (setf promise-slow-status-status): Private ordinary functions
Function, (setf queue-queue): Private ordinary functions
Function, (setf slow-status-status): Private ordinary functions
Function, (setf slow-status-status): Private ordinary functions
Function, (setf stack-bottom): Private ordinary functions
Function, (setf stack-top): Private ordinary functions
Function, (setf task-function): Public ordinary functions
Function, (setf vector-future-%data): Private ordinary functions
Function, (setf vector-future-%status): Private ordinary functions
Function, (setf vector-future-cleanup): Private ordinary functions
Function, (setf vector-future-data): Private ordinary functions
Function, (setf vector-future-depcount): Private ordinary functions
Function, (setf vector-future-dependencies): Private ordinary functions
Function, (setf vector-future-dependents): Private ordinary functions
Function, (setf vector-future-function): Private ordinary functions
Function, (setf vector-future-refcount): Private ordinary functions
Function, (setf vector-future-remaining): Private ordinary functions
Function, (setf vector-future-setup): Private ordinary functions
Function, (setf vector-future-size): Private ordinary functions
Function, (setf vector-future-subtask-function): Private ordinary functions
Function, (setf vector-future-subtasks): Private ordinary functions
Function, (setf vector-future-waiting): Private ordinary functions
Function, (setf xecto-%data): Private ordinary functions
Function, (setf xecto-data): Private ordinary functions
Function, (setf xecto-handle): Private ordinary functions
Function, (setf xecto-offset): Private ordinary functions
Function, (setf xecto-shape): Private ordinary functions
Function, alive-p: Public ordinary functions
Function, bulk-find-task: Private ordinary functions
Function, bulk-task-cleanup: Public ordinary functions
Function, bulk-task-hintify: Private ordinary functions
Function, bulk-task-p: Public ordinary functions
Function, bulk-task-remaining: Public ordinary functions
Function, bulk-task-subtask-function: Public ordinary functions
Function, bulk-task-subtasks: Public ordinary functions
Function, bulk-task-waiting: Public ordinary functions
Function, call-n-times: Private ordinary functions
Function, call-with-future-values: Private ordinary functions
Function, cancel: Public ordinary functions
Function, compute-map-tasks: Private ordinary functions
Function, compute-reduce-tasks: Private ordinary functions
Function, compute-scan-tasks: Private ordinary functions
Function, copy-bulk-task: Private ordinary functions
Function, copy-future: Private ordinary functions
Function, copy-future: Private ordinary functions
Function, copy-future: Private ordinary functions
Function, copy-promise: Private ordinary functions
Function, copy-promise-slow-status: Private ordinary functions
Function, copy-queue: Private ordinary functions
Function, copy-slow-status: Private ordinary functions
Function, copy-slow-status: Private ordinary functions
Function, copy-stack: Private ordinary functions
Function, copy-task: Private ordinary functions
Function, copy-vector-future: Private ordinary functions
Function, copy-xecto: Private ordinary functions
Function, current-queue: Public ordinary functions
Function, data: Public ordinary functions
Function, dependents: Public ordinary functions
Function, enqueue: Public ordinary functions
Function, enqueue-all: Public ordinary functions
Function, ensure-minimal-trip-count: Private ordinary functions
Function, execute: Private ordinary functions
Function, execute-map: Private ordinary functions
Function, execute-reduce: Private ordinary functions
Function, execute-scan: Private ordinary functions
Function, execute-submap: Private ordinary functions
Function, execute-subreduce: Private ordinary functions
Function, execute-subscan: Private ordinary functions
Function, execute-task: Public ordinary functions
Function, extend-shape-or-die: Private ordinary functions
Function, finalize-vector-future: Private ordinary functions
Function, future: Public ordinary functions
Function, future-%status: Private ordinary functions
Function, future-%status: Private ordinary functions
Function, future-%status: Private ordinary functions
Function, future-%values: Private ordinary functions
Function, future-cleanup: Private ordinary functions
Function, future-cleanup: Private ordinary functions
Function, future-cleanup: Private ordinary functions
Function, future-depcount: Private ordinary functions
Function, future-depcount: Private ordinary functions
Function, future-depcount: Private ordinary functions
Function, future-dependencies: Private ordinary functions
Function, future-dependencies: Private ordinary functions
Function, future-dependencies: Private ordinary functions
Function, future-dependents: Private ordinary functions
Function, future-dependents: Private ordinary functions
Function, future-dependents: Private ordinary functions
Function, future-function: Private ordinary functions
Function, future-function: Private ordinary functions
Function, future-function: Private ordinary functions
Function, future-p: Private ordinary functions
Function, future-p: Private ordinary functions
Function, future-p: Private ordinary functions
Function, future-push-self: Private ordinary functions
Function, future-remaining: Private ordinary functions
Function, future-remaining: Private ordinary functions
Function, future-remaining: Private ordinary functions
Function, future-setup: Private ordinary functions
Function, future-setup: Private ordinary functions
Function, future-subtask-function: Private ordinary functions
Function, future-subtask-function: Private ordinary functions
Function, future-subtask-function: Private ordinary functions
Function, future-subtasks: Private ordinary functions
Function, future-subtasks: Private ordinary functions
Function, future-subtasks: Private ordinary functions
Function, future-value: Public ordinary functions
Function, future-value*: Public ordinary functions
Function, future-waiting: Private ordinary functions
Function, future-waiting: Private ordinary functions
Function, future-waiting: Private ordinary functions
Function, grab-task: Private ordinary functions
Function, intern-shape: Private ordinary functions
Function, lex-compare: Private ordinary functions
Function, loop-get-task: Private ordinary functions
Function, make: Public ordinary functions
Function, make: Public ordinary functions
Function, make: Public ordinary functions
Function, make: Public ordinary functions
Function, make-allocator: Private ordinary functions
Function, make-deallocator: Private ordinary functions
Function, make-future: Private ordinary functions
Function, make-future: Private ordinary functions
Function, make-promise: Private ordinary functions
Function, make-promise-slow-status: Private ordinary functions
Function, make-slow-status: Private ordinary functions
Function, make-stack: Private ordinary functions
Function, make-vector-future: Private ordinary functions
Function, make-xecto: Private ordinary functions
Function, map: Public ordinary functions
Function, map-group-reduce: Public ordinary functions
Function, map-list-designator: Private ordinary functions
Function, map-xecto: Private ordinary functions
Function, mark-dependencies: Public ordinary functions
Function, mark-done: Public ordinary functions
Function, merge-pattern: Private ordinary functions
Function, merge-pattern-1: Private ordinary functions
Function, optimize: Public ordinary functions
Function, p: Public ordinary functions
Function, p: Public ordinary functions
Function, p: Public ordinary functions
Function, pop-one-task: Private ordinary functions
Function, progress-until: Public ordinary functions
Function, promise: Public ordinary functions
Function, promise-%status: Private ordinary functions
Function, promise-%values: Private ordinary functions
Function, promise-function: Private ordinary functions
Function, promise-p: Private ordinary functions
Function, promise-slow-status-cvar: Private ordinary functions
Function, promise-slow-status-lock: Private ordinary functions
Function, promise-slow-status-p: Private ordinary functions
Function, promise-slow-status-status: Private ordinary functions
Function, promise-status: Private ordinary functions
Function, promise-value: Public ordinary functions
Function, promise-value*: Public ordinary functions
Function, push: Public ordinary functions
Function, push-all: Public ordinary functions
Function, push-self: Public ordinary functions
Function, push-self-all: Public ordinary functions
Function, queue-cvar: Private ordinary functions
Function, queue-locks: Private ordinary functions
Function, queue-nthread: Private ordinary functions
Function, queue-p: Private ordinary functions
Function, queue-queue: Private ordinary functions
Function, queue-randoms: Private ordinary functions
Function, queue-stacks: Private ordinary functions
Function, queue-state: Private ordinary functions
Function, queue-threads: Private ordinary functions
Function, random-bit: Private ordinary functions
Function, reduce: Public ordinary functions
Function, reduce-xecto: Private ordinary functions
Function, release: Public ordinary functions
Function, remove-index: Private ordinary functions
Function, remove-index: Private ordinary functions
Function, replicate: Private ordinary functions
Function, retain: Public ordinary functions
Function, run-one: Public ordinary functions
Function, scan-xecto: Private ordinary functions
Function, select: Private ordinary functions
Function, set-finalizer: Private ordinary functions
Function, shapes-compatible-p: Private ordinary functions
Function, size-and-shape: Private ordinary functions
Function, slice: Private ordinary functions
Function, slow-status-cvar: Private ordinary functions
Function, slow-status-cvar: Private ordinary functions
Function, slow-status-lock: Private ordinary functions
Function, slow-status-lock: Private ordinary functions
Function, slow-status-p: Private ordinary functions
Function, slow-status-p: Private ordinary functions
Function, slow-status-status: Private ordinary functions
Function, slow-status-status: Private ordinary functions
Function, split-index: Private ordinary functions
Function, stack-bottom: Private ordinary functions
Function, stack-p: Private ordinary functions
Function, stack-stacklets: Private ordinary functions
Function, stack-top: Private ordinary functions
Function, status: Public ordinary functions
Function, status-upgrade: Private ordinary functions
Function, steal: Public ordinary functions
Function, stop: Public ordinary functions
Function, task-function: Public ordinary functions
Function, task-p: Public ordinary functions
Function, thaw: Public ordinary functions
Function, transpose: Private ordinary functions
Function, transpose-shapes: Private ordinary functions
Function, vector-future-%data: Private ordinary functions
Function, vector-future-%status: Private ordinary functions
Function, vector-future-cleanup: Private ordinary functions
Function, vector-future-data: Private ordinary functions
Function, vector-future-depcount: Private ordinary functions
Function, vector-future-dependencies: Private ordinary functions
Function, vector-future-dependents: Private ordinary functions
Function, vector-future-function: Private ordinary functions
Function, vector-future-handle: Private ordinary functions
Function, vector-future-p: Private ordinary functions
Function, vector-future-refcount: Private ordinary functions
Function, vector-future-remaining: Private ordinary functions
Function, vector-future-setup: Private ordinary functions
Function, vector-future-size: Private ordinary functions
Function, vector-future-subtask-function: Private ordinary functions
Function, vector-future-subtasks: Private ordinary functions
Function, vector-future-waiting: Private ordinary functions
Function, wait: Public ordinary functions
Function, wait: Private ordinary functions
Function, worker-count: Public ordinary functions
Function, worker-id: Public ordinary functions
Function, xecto-%data: Private ordinary functions
Function, xecto-data: Private ordinary functions
Function, xecto-handle: Private ordinary functions
Function, xecto-offset: Private ordinary functions
Function, xecto-p: Private ordinary functions
Function, xecto-shape: Private ordinary functions
future: Public ordinary functions
future-%status: Private ordinary functions
future-%status: Private ordinary functions
future-%status: Private ordinary functions
future-%values: Private ordinary functions
future-cleanup: Private ordinary functions
future-cleanup: Private ordinary functions
future-cleanup: Private ordinary functions
future-depcount: Private ordinary functions
future-depcount: Private ordinary functions
future-depcount: Private ordinary functions
future-dependencies: Private ordinary functions
future-dependencies: Private ordinary functions
future-dependencies: Private ordinary functions
future-dependents: Private ordinary functions
future-dependents: Private ordinary functions
future-dependents: Private ordinary functions
future-function: Private ordinary functions
future-function: Private ordinary functions
future-function: Private ordinary functions
future-p: Private ordinary functions
future-p: Private ordinary functions
future-p: Private ordinary functions
future-push-self: Private ordinary functions
future-remaining: Private ordinary functions
future-remaining: Private ordinary functions
future-remaining: Private ordinary functions
future-setup: Private ordinary functions
future-setup: Private ordinary functions
future-subtask-function: Private ordinary functions
future-subtask-function: Private ordinary functions
future-subtask-function: Private ordinary functions
future-subtasks: Private ordinary functions
future-subtasks: Private ordinary functions
future-subtasks: Private ordinary functions
future-value: Public ordinary functions
future-value*: Public ordinary functions
future-waiting: Private ordinary functions
future-waiting: Private ordinary functions
future-waiting: Private ordinary functions

G
grab-task: Private ordinary functions

I
intern-shape: Private ordinary functions

L
let: Public macros
lex-compare: Private ordinary functions
loop-get-task: Private ordinary functions

M
Macro, bind: Public macros
Macro, define-status-type: Public macros
Macro, dotimes: Public macros
Macro, let: Public macros
Macro, with-context: Public macros
make: Public ordinary functions
make: Public ordinary functions
make: Public ordinary functions
make: Public ordinary functions
make-allocator: Private ordinary functions
make-deallocator: Private ordinary functions
make-future: Private ordinary functions
make-future: Private ordinary functions
make-promise: Private ordinary functions
make-promise-slow-status: Private ordinary functions
make-slow-status: Private ordinary functions
make-stack: Private ordinary functions
make-vector-future: Private ordinary functions
make-xecto: Private ordinary functions
map: Public ordinary functions
map-group-reduce: Public ordinary functions
map-list-designator: Private ordinary functions
map-xecto: Private ordinary functions
mark-dependencies: Public ordinary functions
mark-done: Public ordinary functions
merge-pattern: Private ordinary functions
merge-pattern-1: Private ordinary functions

O
optimize: Public ordinary functions

P
p: Public ordinary functions
p: Public ordinary functions
p: Public ordinary functions
pop-one-task: Private ordinary functions
progress-until: Public ordinary functions
promise: Public ordinary functions
promise-%status: Private ordinary functions
promise-%values: Private ordinary functions
promise-function: Private ordinary functions
promise-p: Private ordinary functions
promise-slow-status-cvar: Private ordinary functions
promise-slow-status-lock: Private ordinary functions
promise-slow-status-p: Private ordinary functions
promise-slow-status-status: Private ordinary functions
promise-status: Private ordinary functions
promise-value: Public ordinary functions
promise-value*: Public ordinary functions
push: Public ordinary functions
push-all: Public ordinary functions
push-self: Public ordinary functions
push-self-all: Public ordinary functions

Q
queue-cvar: Private ordinary functions
queue-locks: Private ordinary functions
queue-nthread: Private ordinary functions
queue-p: Private ordinary functions
queue-queue: Private ordinary functions
queue-randoms: Private ordinary functions
queue-stacks: Private ordinary functions
queue-state: Private ordinary functions
queue-threads: Private ordinary functions

R
random-bit: Private ordinary functions
reduce: Public ordinary functions
reduce-xecto: Private ordinary functions
release: Public ordinary functions
remove-index: Private ordinary functions
remove-index: Private ordinary functions
replicate: Private ordinary functions
retain: Public ordinary functions
run-one: Public ordinary functions

S
scan-xecto: Private ordinary functions
select: Private ordinary functions
set-finalizer: Private ordinary functions
shapes-compatible-p: Private ordinary functions
size-and-shape: Private ordinary functions
slice: Private ordinary functions
slow-status-cvar: Private ordinary functions
slow-status-cvar: Private ordinary functions
slow-status-lock: Private ordinary functions
slow-status-lock: Private ordinary functions
slow-status-p: Private ordinary functions
slow-status-p: Private ordinary functions
slow-status-status: Private ordinary functions
slow-status-status: Private ordinary functions
split-index: Private ordinary functions
stack-bottom: Private ordinary functions
stack-p: Private ordinary functions
stack-stacklets: Private ordinary functions
stack-top: Private ordinary functions
status: Public ordinary functions
status-upgrade: Private ordinary functions
steal: Public ordinary functions
stop: Public ordinary functions

T
task-function: Public ordinary functions
task-p: Public ordinary functions
thaw: Public ordinary functions
transpose: Private ordinary functions
transpose-shapes: Private ordinary functions

V
vector-future-%data: Private ordinary functions
vector-future-%status: Private ordinary functions
vector-future-cleanup: Private ordinary functions
vector-future-data: Private ordinary functions
vector-future-depcount: Private ordinary functions
vector-future-dependencies: Private ordinary functions
vector-future-dependents: Private ordinary functions
vector-future-function: Private ordinary functions
vector-future-handle: Private ordinary functions
vector-future-p: Private ordinary functions
vector-future-refcount: Private ordinary functions
vector-future-remaining: Private ordinary functions
vector-future-setup: Private ordinary functions
vector-future-size: Private ordinary functions
vector-future-subtask-function: Private ordinary functions
vector-future-subtasks: Private ordinary functions
vector-future-waiting: Private ordinary functions

W
wait: Public ordinary functions
wait: Private ordinary functions
with-context: Public macros
worker-count: Public ordinary functions
worker-id: Public ordinary functions

X
xecto-%data: Private ordinary functions
xecto-data: Private ordinary functions
xecto-handle: Private ordinary functions
xecto-offset: Private ordinary functions
xecto-p: Private ordinary functions
xecto-shape: Private ordinary functions


A.3 Variables

Jump to:   %   *   +  
B   C   D   F   H   L   N   O   Q   R   S   T   W  
Index Entry  Section

%
%data: Public structures
%data: Private structures
%status: Public structures
%status: Public structures
%values: Public structures
%values: Public structures

*
*context*: Public special variables
*current-queue*: Private special variables
*max-inner-loop-count*: Private special variables
*minimal-inner-trip-count*: Public special variables
*worker-hint*: Private special variables
*worker-id*: Private special variables

+
+max-thread-count+: Private constants
+stacklet-size+: Private constants

B
bottom: Public structures

C
cleanup: Public structures
Constant, +max-thread-count+: Private constants
Constant, +stacklet-size+: Private constants
cvar: Public structures
cvar: Public structures

D
depcount: Public structures
dependencies: Public structures
dependents: Public structures

F
function: Public structures
function: Public structures

H
handle: Public structures
handle: Private structures

L
lock: Public structures
locks: Public structures

N
nthread: Public structures

O
offset: Private structures

Q
queue: Public structures

R
randoms: Public structures
refcount: Public structures
remaining: Public structures

S
setup: Public structures
shape: Private structures
size: Public structures
Slot, %data: Public structures
Slot, %data: Private structures
Slot, %status: Public structures
Slot, %status: Public structures
Slot, %values: Public structures
Slot, %values: Public structures
Slot, bottom: Public structures
Slot, cleanup: Public structures
Slot, cvar: Public structures
Slot, cvar: Public structures
Slot, depcount: Public structures
Slot, dependencies: Public structures
Slot, dependents: Public structures
Slot, function: Public structures
Slot, function: Public structures
Slot, handle: Public structures
Slot, handle: Private structures
Slot, lock: Public structures
Slot, locks: Public structures
Slot, nthread: Public structures
Slot, offset: Private structures
Slot, queue: Public structures
Slot, randoms: Public structures
Slot, refcount: Public structures
Slot, remaining: Public structures
Slot, setup: Public structures
Slot, shape: Private structures
Slot, size: Public structures
Slot, stacklets: Public structures
Slot, stacks: Public structures
Slot, state: Public structures
Slot, status: Public structures
Slot, status: Private structures
Slot, status: Private structures
Slot, subtask-function: Public structures
Slot, subtasks: Public structures
Slot, threads: Public structures
Slot, top: Public structures
Slot, waiting: Public structures
Special Variable, *context*: Public special variables
Special Variable, *current-queue*: Private special variables
Special Variable, *max-inner-loop-count*: Private special variables
Special Variable, *minimal-inner-trip-count*: Public special variables
Special Variable, *worker-hint*: Private special variables
Special Variable, *worker-id*: Private special variables
stacklets: Public structures
stacks: Public structures
state: Public structures
status: Public structures
status: Private structures
status: Private structures
subtask-function: Public structures
subtasks: Public structures

T
threads: Public structures
top: Public structures

W
waiting: Public structures


A.4 Data types

Jump to:   B   F   I   L   P   Q   S   T   V   W   X  
Index Entry  Section

B
bulk-task: Public structures

F
File, futures.lisp: The xecto/futures․lisp file
File, loop-nest-transpose.lisp: The xecto/loop-nest-transpose․lisp file
File, parallel-futures.lisp: The xecto/parallel-futures․lisp file
File, parallel-primitives.lisp: The xecto/parallel-primitives․lisp file
File, status.lisp: The xecto/status․lisp file
File, thread-pool.lisp: The xecto/thread-pool․lisp file
File, vector-futures.lisp: The xecto/vector-futures․lisp file
File, work-stack.lisp: The xecto/work-stack․lisp file
File, work-units.lisp: The xecto/work-units․lisp file
File, xecto-impl-map.lisp: The xecto/xecto-impl-map․lisp file
File, xecto-impl-reduce.lisp: The xecto/xecto-impl-reduce․lisp file
File, xecto-impl-reshape.lisp: The xecto/xecto-impl-reshape․lisp file
File, xecto-impl-scan.lisp: The xecto/xecto-impl-scan․lisp file
File, xecto-impl.lisp: The xecto/xecto-impl․lisp file
File, xecto.asd: The xecto/xecto․asd file
future: The future package
future: Public structures
future: Public structures
future: Public structures
futures.lisp: The xecto/futures․lisp file

I
index: Private types
index: Private types

L
loop-nest-transpose.lisp: The xecto/loop-nest-transpose․lisp file

P
Package, future: The future package
Package, parallel: The parallel package
Package, parallel-future: The parallel-future package
Package, parallel-impl: The parallel-impl package
Package, status: The status package
Package, vector-future: The vector-future package
Package, work-queue: The work-queue package
Package, work-stack: The work-stack package
Package, work-unit: The work-unit package
Package, xecto-impl: The xecto-impl package
Package, xecto-loop-nest: The xecto-loop-nest package
parallel: The parallel package
parallel-future: The parallel-future package
parallel-futures.lisp: The xecto/parallel-futures․lisp file
parallel-impl: The parallel-impl package
parallel-primitives.lisp: The xecto/parallel-primitives․lisp file
promise: Public structures
promise-slow-status: Private structures

Q
queue: Public structures

S
shape: Private types
slow-status: Public structures
slow-status: Private structures
stack: Public structures
status: The status package
status: Public types
status: Private types
status.lisp: The xecto/status․lisp file
Structure, bulk-task: Public structures
Structure, future: Public structures
Structure, future: Public structures
Structure, future: Public structures
Structure, promise: Public structures
Structure, promise-slow-status: Private structures
Structure, queue: Public structures
Structure, slow-status: Public structures
Structure, slow-status: Private structures
Structure, stack: Public structures
Structure, task: Public structures
Structure, vector-future: Public structures
Structure, xecto: Private structures
System, xecto: The xecto system

T
task: Public structures
task-designator: Public types
thread-count: Private types
thread-id: Private types
thread-pool.lisp: The xecto/thread-pool․lisp file
Type, index: Private types
Type, index: Private types
Type, shape: Private types
Type, status: Public types
Type, status: Private types
Type, task-designator: Public types
Type, thread-count: Private types
Type, thread-id: Private types

V
vector-future: The vector-future package
vector-future: Public structures
vector-futures.lisp: The xecto/vector-futures․lisp file

W
work-queue: The work-queue package
work-stack: The work-stack package
work-stack.lisp: The xecto/work-stack․lisp file
work-unit: The work-unit package
work-units.lisp: The xecto/work-units․lisp file

X
xecto: The xecto system
xecto: Private structures
xecto-impl: The xecto-impl package
xecto-impl-map.lisp: The xecto/xecto-impl-map․lisp file
xecto-impl-reduce.lisp: The xecto/xecto-impl-reduce․lisp file
xecto-impl-reshape.lisp: The xecto/xecto-impl-reshape․lisp file
xecto-impl-scan.lisp: The xecto/xecto-impl-scan․lisp file
xecto-impl.lisp: The xecto/xecto-impl․lisp file
xecto-loop-nest: The xecto-loop-nest package
xecto.asd: The xecto/xecto․asd file