Reconfigure.io lets you program FPGAs with Go. We offer a powerful, easy to use service that provides access to the hardware acceleration power of FPGAs combined with the convenience of cloud-based management. Our aim is to enable you to build and deploy your project-specific application to an FPGA, entirely with Go, bypassing the need for hard-to-find hardware expertise or costly R&D budgets.
Who is it for?Reconfigure.io is for any project where speed and cost are important factors. We make parallel computing accessible so you can speed up the processing and analysis of vast amounts of data by running many, many computational processes at the same time on a single server.
Why FPGA? and Why Reconfigure.io?Speed – FPGAs provide significant speed enhancements (10–100x) over the same code running on traditional CPUs. While FPGAs run at a slow speed relative to modern CPUs, they complete many, many tasks at the same time resulting in a dramatic overall speed increase.Cost – FPGAs allow you to increase speed while reducing hardware requirements, which leads to cost savings. Hardware consolidation is made possible because one FPGA can simultaneously perform the tasks of many servers.Parallelism – The flexibility and configurability of the FPGA gives you a cost-effective opportunity to bring high-powered parallel computing to your specific application.Reprogrammability – Once up and running your bespoke program can be altered at any time in line with your business’s changing requirements.Cloud Management – Reconfigure.io’s build and deployment service is accessible entirely within the cloud.Familiar tooling – Use a streamlined subset of the Go language to program remote FPGA hardware accelerators in a familiar cloud-based build/deployment environment. There is no requirement to learn an HDL to use our FPGAs.
Why use Go?The Go language has a number of features that are ideally suited to writing code in which many functions run in parallel:Goroutines are functions that can run concurrently with other functions.Channels are pipelines through which Goroutines can communicate and synchronize their operation.Select statements help organize the process of switching between channels and give programmers the ability to control when parallel operations can run.Reconfigure.io then seamlessly transforms your Go code to run on the parallel architecture of the FPGA.For more on these features, take a look a