Skip to content

Releases: sharc-lab/LightningSim

v0.2.5

20 Mar 21:20

Choose a tag to compare

  • Added support for pickling the CompiledSimulation and Simulation classes in the Python API
    • This enables you to serialize a ResolvedTrace to disk and load it later, e.g., to perform DSE.

v0.2.4

20 Mar 20:35

Choose a tag to compare

  • Fixed missing implementations for hls::stream<float> and hls::stream<double>
  • Fixed bad kernel invocation for designs that use array_partition on top-level ports, which was previously causing segfaults

v0.2.3

11 Feb 08:15

Choose a tag to compare

  • Fixed runtime implementation of arbitrarily sized FIFO channels, which was previously causing segfaults in certain designs
  • Fixed linker issues related to the frequently-used @llvm.part.select and @llvm.part.set intrinsics

v0.2.2

10 Feb 17:10

Choose a tag to compare

  • Fixed linker issues across Vitis HLS versions
    • This release bundles libsystemc with the package, which should make LightningSim run with the latest Vitis HLS versions (2024.x). If you continue to face issues, please leave a comment on #2 or #3.
  • Added CLI mode, which is now the default
    • CLI mode is non-interactive and does not support manipulating FIFO depths in the simulation. For this behavior, please use the existing GUI mode, which can now be launched by providing the --gui flag.
    • A message is displayed to ease migration. This message will be removed in a future version; for now, it can be suppressed by explicitly passing the --cli flag.
  • Added build for Python 3.11
    • We now provide pre-built packages for Python 3.10–3.12. If you would like us to distribute packages for another Python version, please file an issue.

v0.2.1

10 Feb 17:00

Choose a tag to compare

  • Updated packaging for LightningSimV2, which now supplants the original lightningsim conda package
    • Note that classic LightningSim and LightningSimV2 can no longer be installed side-by-side. If you need this functionality, please use v0.2.0 or revert 79cb0a6.
  • Fixed several linker issues to try to be more generic across environments and Vitis HLS versions
  • Improved minor quality-of-life features (e.g., smarter automatic port selection for web server)

LightningSimV2

11 Apr 23:41

Choose a tag to compare

LightningSimV2 Pre-release
Pre-release

This is LightningSimV2, a faster and scalable simulation tool for high-level synthesis via graph compilation and optimization.

v0.1.0

25 Apr 00:27

Choose a tag to compare

  • Optimized stall calculation, especially when a design makes many calls to submodules, by avoiding traversing the module hierarchy
  • Optimized trace generation by replacing templated fprintf calls with fputs calls with precomputed strings
  • Added progress meter (including estimated time remaining) for trace resolution and stall calculation steps
  • Added code to the benchmarking script to generate details.txt for each benchmark, which reports the start and end cycles for each module in the module hierarchy
  • Improved error reporting for failed subprocesses during trace generation by including stdout/stderr in the error message
  • Fixed incorrect expected counts of FIFO reads/writes in some edge cases, which caused trace parsing to fail for some designs
  • Fixed usage of relative paths during testbench compilation, which sometimes caused trace generation to fail when using relative paths to the solution directory

This release includes breaking API changes in the lightningsim.simulator module. Specifically, the Simulator.active_subcalls property has been renamed to subcalls to better reflect its actual purpose, and the Simulator.events property has been removed, having been replaced by the Simulator.subcall_inits and Simulator.stalls properties.

v0.0.3

12 Apr 16:35

Choose a tag to compare

  • Fixed handling of reserved function names (read, write) in Vitis HLS
  • Fixed missing runtime dependency on libedit
  • Fixed unnecessary #include <gmp.h> in FlowGNN benchmarks, which breaks those benchmarks on some systems

v0.0.2

23 Mar 21:05

Choose a tag to compare

  • Fixed certain uses of HLS math functions (af52fec)

v0.0.1

23 Mar 05:41

Choose a tag to compare

  • Initial public release of LightningSim