|
PXL
|
Parallel Xceleration Library (PXL) is a key component of XCENA SDK designed to facilitate optimized communication between host system and XCENA computational memory devices.
By leveraging PXL, developers can unlock the full potential of in-memory computing technology through a robust and efficient API.
PXL exposes a unified public API under the pxl:: namespace, organized into the following functional areas:
Context, Stream, Job, Map, NDArray — manages execution sessions, async task scheduling, and host-device memory mapping.Module, Function, KernelTraits — loads compiled kernel binaries and binds callable functions.allocateMemory, releaseMemory, pinMemory, prefetchMemory, etc. — manages device memory with optional flags.Launcher, LaunchBuilder, LaunchResult — high-level kernel launch API with automatic device detection.enableLog, registerSignalHandler, flushHostCache — runtime configuration and utilities.Currently, PXL is provided as a C++ API. In the future, support for additional programming languages will be introduced to accommodate a broader range of development environments and preferences.
PXL 3.0 flattened the public API into a single pxl:: namespace. The pxl/compat.hpp header forwards the old names to the new ones with [[deprecated]] warnings. Scheduled for removal in a future release.