v1.3.0 (2025-08-28)
New
- PXL:
- Memory Allocation: Added support for
callocviapxl::runtime::Context::memCalloc(const size_t num, const size_t size). - Resource:
- Added support for loading large MU ELF files (up to 256MB).
- Added support for loading modules from image.
- Added support for directly loading MU binary files into
pxl::runtime::Jobusingpxl::runtime::Job::load(const char* path). - Added support for resource queries via
pxl::runtime::Context::getAttribute(DeviceAttr attr, uint64_t& value).
- Memory Allocation: Added support for
- MU Library:
- Added support for large MU ELF files (up to 256MB)
- Enabled ID reading functionality for individual Mu instances
- Introduced NDArray support for enhanced data handling
- Supported Global Read/Write operations and Cache Flush functionality
Changed
- PXL:
- Functions that previously returned
boolnow returnPxlResult. invalidL1(...),flushL1(...)->invalidL2(...), flushL2(...)- Data structures:
pxl::runtime::Tensor<T>has been renamed topxl::runtime::NDArray<T>.
pxl::runtime::NDArray<T>is internally split into multiplemu::NDArray<T>objects for parallel execution in kernels.
- Namespaces:
pxl::Device,pxl::Sub,pxl::Task→pxl::device::Device,pxl::device::Sub,pxl::device::Taskpxl::Module,pxl::Function,pxl::createModule(...)→pxl::kernel::Module,pxl::kernel::Function,pxl::kernel::createModule(...)
- Resource queries:
Context::remainSub()→Context::availableSubCount()Context::remainMemorySize()→Context::availableMemSize()Context::remainIoMemorySize()→Context::availableIoMemSize()
- Map:
Map::setSuccessCallback()→Map::setCompleteCallback()
- Logger:
pxl::log::setLog(...)is removed.
- Functions that previously returned
- MU Library:
atomicRead->atomicLoad- Explicitly separated asynchronous functions for clarity and control.
- Updated APIs are available in the API Reference.
Fixed
- Documentation has been updated to align with the API changes.
Important Notes
- This release contains many API changes. Please refer to the API Reference for details.
Docker Image
- Image Name:
xcenadev/sdk:1.3.0 -
Pull Command:
docker pull xcenadev/sdk:1.3.0
v1.2.0 (2025-05-20)
New
- PXL Rust: Added Rust binding for PXL, enabling Rust developers to leverage PXL’s capabilities with Rust language support
- Fail Recovery: Added fail recovery mechanism to handle device failures
- Jupyter: Added Jupyter notebook support for interactive development of C++ applications using PXL in a Docker + QEMU environment
- xMapReduce: Added xMapReduce and xkvstore libraries to provide a mapreduce framework to leverage PXL’s capabilities
- Documentation:
- Added example documentation for PXL Rust bindings
- Added API documentation for MU Rust Library
- Added tutorial documentation for Jupyter notebook
- Added documentation for xMapReduce framework usage
Changed
- PXL:
pxl::runtime::Parallelis now unified intopxl::runtime::Mapfor consistency.pxl::runtime::Mapcan be used as a drop-in replacement for allpxl::runtime::Parallel.pxl::runtime::getNumDevice()is now removed. Usepxl::getNumDevice()instead.pxl::runtime::syncToDevice()andpxl::runtime::syncFromDevice()are now removed. Usepxl::runtime::Context::syncToDevice()andpxl::runtime::Context::syncFromDevice()instead.pxl::runtime::Context::copyToDevice()andpxl::runtime::Context::copyFromDevice()are now supported.
- QEMU: Reduced CPU usage during idle time
Fixed
- QEMU: Fixed hang issue during MMIO access in MSI interrupts
- Documentation: Updated documentation to align with API changes
Important Notes
pxl::runtime::Parallelhas been removed in this version. All code using thepxl::runtime::Parallelmust be updated to use the new unifiedpxl::runtime::Map.
Docker Image
- Image Name:
xcenadev/sdk:1.2.0 -
Pull Command:
docker pull xcenadev/sdk:1.2.0
v1.1.0 (2025-04-04)
New
- QEMU: Support multiple devices
- PXL: Added logger and performance tracer
- Tool: Added
pxltopfor real time resource monitoring - MU Compiler: Support Rust
- MU Library: Support Rust
- Document: Added community and troubleshooting page
Changed
- PXL: Unified interface for map/parallel argument type
Fixed
- PXL: Resolved stability issues during job executions
- CLI: Fix bug in device number counting
Important Notes
Docker Image
- Image Name:
xcenadev/sdk:1.1.0 -
Pull Command:
docker pull xcenadev/sdk:1.1.0
v1.0.1 (2025-01-10)
New
- Initial release of SDK for FPGA environment
- Example: Add KNN application
- MU lib: Support atomic operation
- CLI: Add MU logger
- Docker: Support Dev container
Changed
- QEMU: Apply XCENA vendor ID for lspci information
- Example: Migrate build environment from Makefile to CMake
Fixed
- QEMU: Fix assert for misaligned CXL memory access
- PXL: Fix bugs in device library, memory allocator
Deprecated
Important Notes
Docker image
- Image name : xcenadev/sdk:1.0.1
-
Pull command
docker pull xcenadev/sdk:1.0.1
v1.0.0 (2024-12-15)
New
- Initial release of SDK emulator environment
Changed
Fixed
Deprecated
Important Notes
Docker image
- Image name : xcenadev/sdk:1.0.0
-
Pull command
docker pull xcenadev/sdk:1.0.0