Lombiq / Hastlayer-SDK

Turning .NET software into FPGA hardware for faster execution and lower power usage.
https://hastlayer.com
BSD 3-Clause "New" or "Revised" License
302 stars 33 forks source link
dotnet fpga hardware lombiq performance

Hastlayer SDK

Hast.Layer NuGet Build and Test

About

Hastlayer - be the hardware. Hastlayer automatically transforms .NET assemblies into computer chips, improving performance and lowering power consumption for massively parallel applications. For some figures check out the benchmarks.

Hastlayer uses FPGAs (chips that can be "re-wired" on the fly): Simply select the compute-bound part of your .NET program, and Hastlayer seamlessly swaps it out with a generated FPGA implementation. Since .NET Intermediate Language assemblies (but not C#, VisualBasic or other code) are transformed, you can use any .NET language (e.g. C#, VB, F# - sample included, C++, Python, PHP, and JavaScript) in theory.

Hastlayer was also featured on .NET Conf 2017 and many other conferences and meetups. The recorded session covers interesting features of Hastlayer. Check out the FAQ for more information.

This is the PC-side component of Hastlayer, the one that transforms .NET assemblies, programs attached FPGAs, and communicates with said FPGAs.

Note that due to a repository purge the repo history doesn't contain anything from before July 2017 though development has been ongoing more or less actively from 2015.

Created by Lombiq Technologies, an open source .NET web development company working mostly with Orchard CMS, i.e. Orchard 1.x and Orchard Core.

Hastlayer uses ILSpy to process CIL assemblies.

Notes on Hastlayer's documentation

These text files should only serve as a starting point. The samples are the best source of information on how to use Hastlayer. The public API of Hastlayer is also documented inline as code comments. Please check the comments for clarification. The projects also have README files.

Table of contents

Contributing and support

Bug reports, feature requests, comments, questions, code contributions, and love letters are warmly welcome, please do so via GitHub issues and pull requests. Please adhere to our open-source guidelines while doing so.

This project is developed by Lombiq Technologies. Commercial-grade support is available through Lombiq.