23
Turning software into computer chips - Hastlayer Zoltán Lehóczky @ Lombiq GPU Day 11.07.2019

Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Turning software into computer chips - Hastlayer

Zoltán Lehóczky @ Lombiq

GPU Day 11.07.2019

Page 2: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

2

Page 3: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

3

Page 4: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Warning

Hastlayer is currently in alpha stage!

4

Page 5: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

What’s Hastlayer?

5

Page 6: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

computer program → computer chip (hardware)

6

Page 7: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

logic expressed as software → logic expressed as hardware

7

Page 8: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

…with FPGAs

• Field-Programmable Gate Array

• Can behave like any other chip (with limitations)

• Can dynamically be „re-wired”

8

Image by SparkFun Electronics, Boulder, USA

Page 9: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

FPGAs?

• Found in routers, X-ray machines, self-driving cars…

• Compute accelerator

• You need to be a hardware engineer to utilize them

9

Page 10: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

computer program → FPGA logic

10

Page 11: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

.NET (C#, VB, C++, F#, Python, PHP, JavaScript…) → FPGA logic

11

Page 12: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

What’s the point?

12

Page 13: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

CPU vs GPU vs FPGA

13

Parallelism Program complexity Power efficiency

CPU GPU FPGA

Page 14: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

But!

14

CPU GPU FPGA FPGA with Hastlayer

How hard to learn?

Page 15: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

The benefits of FPGAs for us all

• Performance increase for parallel compute-bound algorithms

• Higher power efficiency

• Still only software development

15

Page 16: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Demo: Hands-on Hastlayer

16

Page 17: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

What’s next?

17

Page 18: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Project Catapult support

• Microsoft’s FPGA platform in TACC and Azure

• Hastlayer is in the Project Catapult Academic Program

• 8GB vs 100MB RAM, PCIe vs USB, ~10x capacity

• Azure networking, Project Brainwave, direct FPGA access?

• Let me know if you’d like a preview!

18

Page 19: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Posit number format

• https://hastlayer.com/arithmetics

• Better range/accuracy than IEEE float

• We already have a posit „processor”

19

Page 20: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

And more!

• More use-cases

• Partnership with the Wigner Research Centre for Physics

• FPGAs in every datacenter (AWS, Azure, Intel)

20

Page 21: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Wrapping up

21

Page 22: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

I like this, how do I start?

• Check out the SDK: https://github.com/Lombiq/Hastlayer-SDK/

• Be ready for an FPGA-filled future!

22

Page 23: Turning software into hardware - Hastlayer · CPU vs GPU vs FPGA 13 Parallelism Program complexity Power efficiency CPU GPU FPGA. But! 14 CPU GPU FPGA FPGA with Hastlayer How hard

Are you ready to *be* the hardware?

[email protected]

• https://hastlayer.com

• https://github.com/Lombiq/Hastlayer-SDK/

• https://lombiq.com

23