Industry executives and experts share their predictions for 2018. Read them in this 10th annual VMblog.com series exclusive.
Contributed by Leo Reiter, Chief Technology Officer, Nimbix
2018 will be the year the cloud finally democratizes FPGAs
Field Programmable Gate Arrays (FPGAs) have been around for
a while. (In fact, if you want to read
more about this, check out this great post titled "FPGAs, what's old is new again"). Thanks to the perfect storm of complex use
cases like computer vision (fueled by machine learning), and an explosion of
mobile systems (not just mobile devices, but things like cars and other
vehicles), we're seeing a very strong renewed interest in this technology. While it's always been powerful, now it's
becoming essential.
The secret is the low latency, low power, and reprogrammable
nature of what is effectively hardware, rather than software. If you look at the evolution of algorithms,
for example, they start off in software and as they mature, inevitably end up
on silicon. FPGAs provide a middle
ground of allowing the silicon to be reprogrammed when the algorithms evolve,
and still retain the properties of hardware that are tough to beat in
software. We love software for dynamic,
large scale architectures, but it's pretty hard to go any faster than current
flowing through silicon for a lot of cases.
Imagine detecting objects in videos in real time, at say, 30
frames per second. You might think of
this as a self-driving car use case.
Rather than capture the video, copy it to system memory, and run it
through a trained model running as software, imagine just piping the video feed
directly into silicon and getting answers on the other side. In this case you would actually program the
trained neural network model itself as silicon gates, and then hook it up to an
incoming video feed. There's no faster
way to detect objects in real-time, and when putting the safety of passengers
(and pedestrians) on the road at stake, you want as little latency as possible.
The flipside to FPGAs of course is that while they are
programmable, they're not as easy to program as say, a Python script. In fact, it generally takes deep
understanding of how circuits work before you can even consider starting. This is not something the average software
developer typically has a lot of experience with. What's more, the toolchains are both complex
and expensive. Something has to give.
Enter the cloud - for example, a reconfigurable,
heterogenous PaaS and SaaS solution like the Nimbix
Cloud. Combined with new paradigms
such as OpenCL, on-demand toolchains can make it much easier to get started and
do amazing things with FPGAs. We've
already seen the cloud democratize GPUs, so why not FPGAs? I believe 2018 will be the year - stay tuned.
##
About the Author
Leo Reiter, Chief Technology Officer
Leo is a virtualization and cloud computing pioneer with over 20 years of
experience in software development and technology strategy. Prior to Nimbix,
Leo was co-founder and CTO of Virtual Bridges. Leo is an entrepreneur with a
strong background in LeanStartup and Agile methodologies.