Frequently Asked Questions

Having problems?

How do I report a bug?

My graph won’t open

How do I sign up for an account?

Visit us here to sign up. We’ll ask you a few introductory questions and then send you an invite email with a link to create your account. Then you can get all set up by following our getting started guide.

How much does it cost to use

We have a couple of plans depending on the scale of your organization. Check out our pricing options for more details. Alternatively, if your work is open source, with a license, then our service is free to use.

Do I need an AWS F1 account?

No, we handle the instances for you. All you need is a computer, a account and our reco command line tool.

What is an FPGA? And why would I want to use one?

FPGAs are basically reprogrammable circuitry on a chip. They’ve been in-use since the mid-80s and were originally designed for developing new hardware, allowing new chip designs to be simulated to ensure they worked.

FPGAs are now of increasing interest to software engineers due to their ability to efficiently process large amounts of data. They are one way to supercharge computational performance. FPGAs are programmable like GPUs or CPUs but are aimed at parallel, low-latency, high-throughput problems like inference and Deep Neural Networks.

What skills do I need to use

To use our service, all you need is a computer. All processing work is done in the cloud. We have designed our tooling and workflow to be really easy to use. All the code you’ll write will be in Go. If you’re not familiar with using Go, there are some great resources online. Our command line tool will feel familiar, and our libraries and examples are all available as github repositories.

We provide a series of tutorials, starting with getting your account up and running, then onto our workflow, and then we introduce code templates to help you start to create simple programs yourself. Concurrency is important because our aim is to help you speed up your applications by taking advantage of the parallel capabilities of FPGAs, so we touch on this throughout our tutorials too.

We have a great community forum where the team are always available to help, and you can share experiences with other users. We provide support through the forum with optimizing your code too.

What do I need to use

All you need is a account, our command line tool, reco, and a Go environment set up locally.

How do I go about setting up Go on my computer?

This page has all the instructions you need to set up your own Go development environment. It leads you on to some basic tutorials for learning Go too, which are really useful if you are just starting out.

Can I use to program my own FPGA?

Currently, our cloud service provides access to FPGAs using AWS F1 Instances, and our on-premesis version uses FPGA server instances, for more on this please email:

Can I use the Go standard library in my FPGA code?

We support a subset of Go for FPGA-side code, details of which you can find here: Go support – FPGA side. We can’t use the Go standard library for the FPGA, but we are creating FPGA-focussed equivalents which fit well with the FPGA’s architecture, for a full list of what’s available so far see Go Packages for FPGAs.

Can I use my own Go packages in my programs?

You can! Checkout our guide to creating your own packages specifically for FPGAs.

Can I benchmark my code?

Yes, we use Go’s built-in benchmarking support for this. Follow our guide to find out how.

Can I automatically add parallel elements to my project?

We have a MapReduce framework for creating FPGA code with parallel processing, you can read more about it here.

How will I know where on the FPGA my data will end up?

When you make a struct or array, the size determines where on the FPGA it will end up. See our coding style guide for more information: Data size considerations.

How do I report a bug?

At the moment we’re handling all bug reporting through our forum. To report a bug, just start a new topic and tell us as much as possible about it. We will investigate and get back to you with a fix.

My graph won’t open

If you generate a graph and nothing happens if you enter the reco graph open <graph_ID> command, it’s possible there’s an issue with your default PDF viewer. Try the following link in a web browser instead, substituting your graph ID: