Introduction to FPGAs in Parallel Computing

17
Introduction to FPGAs in Parallel Computing Sebastian Grygiel

Transcript of Introduction to FPGAs in Parallel Computing

Page 1: Introduction to FPGAs in Parallel Computing

Introduction to

FPGAs in Parallel Computing

Sebastian Grygiel

Page 2: Introduction to FPGAs in Parallel Computing

What will we learnWhat is an FPGA

Differences between FPGA and a conventional processor

How does FPGA work

Advantages and disadvantages of using FPGAs

Applications of FPGAs

Page 3: Introduction to FPGAs in Parallel Computing

What is an FPGA

Page 4: Introduction to FPGAs in Parallel Computing

Field Programmable Gate ArrayA chip - in a package like ordinary

processors

Device containing large amounts of simple, but versatile components

Reconfigurable silicon surface

Page 5: Introduction to FPGAs in Parallel Computing

How does an FPGA differ from a conventional processor

Page 6: Introduction to FPGAs in Parallel Computing

How does a conventional processors work“Conventional” processor - x86, ARM, AVR and others

Faster clock speeds possible

Clock cycle usually executes around one instruction

Sequential execution model

Limited parallel access to available chip resources

Page 7: Introduction to FPGAs in Parallel Computing

How is an FPGA different from such processorLower clock speeds

A single clock cycle is not related to an instruction

Programs take space and not time

Page 8: Introduction to FPGAs in Parallel Computing

Programmer’s PerspectiveClear division of control and data flow

High awareness of where the data is

Moving data is easy, changing its flow is hard

Page 9: Introduction to FPGAs in Parallel Computing

Advantages and Disadvantages of FPGAs

Page 10: Introduction to FPGAs in Parallel Computing

Advantages of FPGAsEquivalent parallel execution of all instructions

Can accelerate dataflow-heavy algorithms by factors of up to several tens

High power efficiency

Page 11: Introduction to FPGAs in Parallel Computing

Disadvantages of FPGAsExpensive to buy

Expensive to program

Some algorithms cannot be implemented efficiently

Page 12: Introduction to FPGAs in Parallel Computing

Applications of FPGAs

Page 13: Introduction to FPGAs in Parallel Computing

Electronic DevicesHome Internet routers

Medical equipment

Cameras

Hardware controllers

Page 14: Introduction to FPGAs in Parallel Computing

Industrial and Research ApplicationsNano-scale physical computation

Weather simulation

Seismic data analysis

Financial analytics

Low latency systems

Page 15: Introduction to FPGAs in Parallel Computing

Alternatives to FPGAs?

Page 16: Introduction to FPGAs in Parallel Computing

Conclusion

FPGAs are usually more expensive,

different from conventional processors,

but can be used to greatly accelerate some algorithms.

Page 17: Introduction to FPGAs in Parallel Computing

Further Information and ResourcesMaxeler machine is available on the campus

Contact Dr Ingo Frommholz if you are interested in doing a research project with the machine