Skip to content

Releases: Lombiq/Hastlayer-SDK

v2.1.1

02 Oct 13:14
569cff1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

25 Jul 15:39
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v2.1.0

v2.0.0

22 Feb 23:40
Compare
Choose a tag to compare
  • Hastlayer is now fully open-source! Previously Hast.Core (the core logic that did the .NET-to-hardware transformation) was private. But now the whole of Hastlayer is available for you as fully open source software!
  • The consumer sample app now uses Terminal.Gui to provide an easy to use GUI within a terminal window. Command-line configurability remains and is even extended.
  • CI builds now happen publicly with GitHub Actions. In a related manner, the full solution is now cross-platform, so no need for a separate Windows and Linux solution.
  • ImageSharp image processing sample and benchmarks, although sadly with disappointing results.
  • .NET version upgraded to .NET 6 (we only upgrade to LTS versions).
  • Support for the Zynq 7000 family of devices that are widely used in embedded systems, including robots, drones, and satellites.

What's Changed

New Contributors

Full Changelog: 1.0.10...v2.0.0

v1.2.1

27 Oct 15:06
Compare
Choose a tag to compare

Bugfix release to make Hastlayer Remote Services reliably work. If you tried to connect to Hastlayer recently, and didn't get the transformation completed, this fixes it.

v1.2

04 Oct 14:37
Compare
Choose a tag to compare
  • Added support for the high-end Xilinx Alveo U50, U200, U250 or U280 Data Center Accelerator Cards. These are suitable hardware for any kind of demanding production-level workload. Apart from using such devices on-premise they're also available in the cloud.
  • Added support for the high-end AWS EC2 F1 FPGA cloud instances.
  • Added support for Azure NP-series VMs that use Xilinx Alveo U250s.
  • Generating the hardware for the new high-end FPGAs is fully automatic, including driving the Xilinx toolchain.
  • Migrated the code generating Transformer to the latest version of ILSpy, see the issue. Hastlayer uses the .NET decompilation tool ILSpy in the background to process .NET assemblies. Previously Hastlayer depended on an old version of ILSpy, 2.3.1, which came out in 2015. Now ILSpy is at version 7 so you can imagine all the changes such a jump brings! This Hastlayer release is updated to the most recent ILSpy binaries, bringing better support for .NET language features. Shoutout to the ILSpy developers for their awesome work!
  • Migrated to .NET Core (see issue). Now not only can Hastlayer process .NET Standard assemblies as before but now the whole projects is built on .NET Core.
  • Improved how hardware is generated for Xilinx devices a lot. This means that the resulting hardware implementations fit better on devices, there is a smaller chance for incorrect hardware results and the hardware implementation phase (with the Xilinx tools) is faster too.
  • Added support for extension methods.
  • Added support for inlining methods with multiple return statements.
  • Added a documentation page with benchmarks.
  • Various smaller bugfixes and improvements.

Note that running Hastlayer now requires Visual Studio 2019 or greater (any edition will work)

v1.1

20 Dec 21:11
Compare
Choose a tag to compare

After a lot of work we're finally ready with support for much larger FPGAs that can provide acceleration for much more complex applications! Apart from this there are a lot of other news as well so we've bumped up Hastlayer's version number to v1.1. Check the details out below!

  • Support for Microsoft's FPGA platform, Project Catapult. These FPGAs are vastly more resourceful than the Nexys with fast PCIe communication. Thus Hastlayer is now suitable in selected HPC use-cases.
  • New samples:
    • MonteCarloPiEstimator: A Monte Carlo simulation computing the value of Pi in a highly parallelized manner.
    • MemoryTest: A test algorithm similar to the Loopback sample to test basic operations of a hardware device.
    • FSharpParallelAlgorithm: Not a C# but an F# sample, showcasing the same basic parallelization features as seen in ParallelAlgorithm. See the issue.
  • New linear-feedback shift register pseudo random number generator: RandomLfsr (check out the MonteCarloPiEstimator sample on how it can be useful). This is a simpler PRNG than the RandomMwc64X implementation we had before solely, and has lower resource usage, but produces lower quality random numbers. Also included the 16b RandomLfsr16 and a xorshift version, RandomXorshiftLfsr16.
  • Optimizing InternalInvocationProxy , thus dramatically lowering the resource usage of certain parallel algorithms as well as recursive algorithms while making their execution faster too.
  • Adding transformation warning for too large arrays and displaying such arrays in the Consumer sample.
  • Adding the ability to configure methods to be inlined without an attribute.
  • Adding option to enable or disable constant substitution.
  • Implement workaround for an ILSpy bug.
  • Fixing SimdCalculator hardware execution.
  • Improving documentation.
  • Simplifying samples: no more extension methods for wrappers to be called by external consumers (all methods can be in the same classes).
  • Various smaller bugfixes and improvements.

v1.0.10

03 Jun 18:51
Compare
Choose a tag to compare
  • Updating and fixing hardware timing values, making hardware execution more reliable, but in certain cases slightly slower, however also causing lower FPGA resource usage.
  • Fixing that hardware description caching didn't work with certain programs.
  • Improved documentation.

v1.0.9

18 Mar 22:30
Compare
Choose a tag to compare
  • New Loopback sample to test FPGA connectivity and Hastlayer Hardware Framework resource usage.
  • Fixing that binary operator expressions (like 1 + 2) calculated with wrongly sized number types and could cause different results on the hardware than in software.
  • Fixing remainder calculations (9 % 4).
  • Making the lack of support for certain language features more apparent with specific exceptions.
  • Various smaller bugfixes and improvements.
  • Improved documentation.

Note that running Hastlayer now requires Visual Studio 2017 or greater (any edition will work).

1.0.8

13 Jan 16:06
Compare
Choose a tag to compare
  • Adding ability to inline methods to vastly improve performance if the method is small but called a lot of times.
  • Adding support for ref and out parameters, see the issue.
  • Fix64 fixed-point number type added for computations with fractions.
  • Simplified configuration of parallelized code: no need to manually specify the degree of parallelism any more in most cases (see ParallelAlgorithmSampleRunner for example: Configure() is just one line now).
  • Various smaller bugfixes and improvements.

For all publicly tracked issues resolved with this release see the corresponding milestone.

1.0.7

25 Nov 21:19
Compare
Choose a tag to compare
  • Adding sample with an implementation of the 3D Kardar-Parisi-Zhang surface growth simulation algorithm. Made in collaboration with the Wigner Research Centre for Physics to test against an existing GPU implementation (testing is upcoming).
  • Fixing behavior of binary operator expressions were the operands were cast.
  • Fixing exception when using public fields in certain cases.
  • More helpful exception when a type was not found.
  • The Hastlayer Hardware Framework - Xilinx project got some scripts to automate updating the Vivado project with a new generated hardware design and to program the FPGA and launch the Xilinx SDK. From now on the project has a release cycle independent of the SDK.