HiCR
Introduction
Overview
Building & Installation
Quickstart Guides
Built-in Features
Built-In Frontends
Built-In Backends
Examples
Examples
Channels
Kernel Execution
Memcpy
Neural Network
Object Store
Ping-Pong Example
RPC Engine
Tasking
Topology
C++ API Reference
C++ Classes
C++ Files
Development
Github Repository
Contributing
HiCR
Examples
Examples
Channels
Channels: Fixed-size
Channels: Fixed-Size MPSC
Channels: Fixed-Size MPSC locking
Push tokens
Receive tokens
Channels: Fixed-Size MPSC non-locking
Channels: Fixed-Size SPSC
Push tokens
Receive tokens
Channels: Variable-Size
Channels: Variable-Size MPSC
Channels: Variable-Size MPSC locking
Push tokens
Receive tokens
Channels: Variable-Size MPSC non-locking
Channels: Variable-Size SPSC
Kernel Execution
Identify Compute Topology
Creating an execution state
Creating a processing unit
Execution and Completion
Memcpy
Memcpy: Local
Topology detection
Source local memory slot allocation and initialization
Local memory slot allocations
Local memory slot memcpy
Memcpy: Distributed
Identifying HiCR instances
Memory slot allocation
Memory slot exchange
Copying data and syncing
Neural Network
Neural network configuration
Inference
Object Store
Object Store: Single Instance
Data object creation
Publish data object
Get data object
Destroy data object
Object Store: Publish Read
Data Object creation
Data object handle serialization and broadcast
Data object handle deserialization
Get data object
Data object destruction
Ping-Pong Example
RPC Engine
Topology Discovery
RPC Registration
SPMD: RPC Invokation and listening
Tasking
Runtime
Initializing the runtime
Adding workers
Adding tasks
Executing tasks
Examples
Tasking: ABC Tasks
Tasking: Fibonacci
Tasking: Resource List
Topology
Topology: Local
Topology detection
Compute resources and memory spaces retrieval
Topology: Distributed
Local Topology Discovery
Topology RPC registration
Listening for RPCs
RPC Invokation