SlideShare a Scribd company logo
1
Architectural Optimizations for High
Performance
and Energy Efficient Smith-Waterman
Implementation on FPGAs using OpenCL
06/07/2017 @ Oracle
Lorenzo Di Tucci
lorenzo.ditucci@polimi.it
NECST Lab, Politecnico di Milano
2
The Problem
Performance Requirements of biological algorithms increased
as..
Large amount of data Algorithm Complexity High Computational
Needs
In such scenario, hardware accelerators proved to be
effective in optimizing the Performance/Power
Consumption Ratio
High Parallelism Low Power Consumption
3
Contributions
The contributions of this work are:
• Energy-Efficient Hardware architecture for a pure Smith-
Waterman algorithm
• Implementation with an OpenCL-based design and run-time
environment
• Analysis of this algorithm using the Berkeley Roofline Model
• Experimental results for ADM_PCIE_7V3 and ADM_PCIE_KU3
The results highlights the best performance w.r.t. FPGA solutions
and the best performance/power consumption ratio
w.r.t all competing devices
4
● Dynamic programming algorithm
● Perform local sequence alignment between two nucleotides or
proteins
● Guaranteed to find the optimal local alignment with regards to the
scoring system used[1]
● Highly Compute Intensive
● In order to increase system performance, the state of the art is full of
implementation based on heuristics
Speedup in
computation
Decrease in
Algorithm
Precision
[1] Smith, T. F., & Waterman, M. S. (1981). Identification of common molecular subsequences. Journal of molecular biology, 147(1), 195-197.
Background
Read all inputs
(query, database, scoring system)
Compute
Max score, similarity and traceback matrix
Traceback
Starting from max score along the highest
score in traceback matrix
Write results
Each Element depends
on the values:
-Over it (north)
- On its (west)
- On its diagonal position
(north-west)
Similarity Matrix
Starting from the
maximum value in the
Similarity Matrix,
Follow the directions
stored in the
TraceBack Matrix
Traceback Matrix
5
Algorithm
Platform
Performance
[GCUPS]
Power Efficiency
[GCUPS/W]
Tesla K20 45.0 0.200
Nvidia GeForce GTX 295 30.0 0.104
Xtreme Data XD1000 25.6 0.430
Altera Stratix V on Nallatech PCIe-385 24.7 0.988
Nvidia GeForce GTX 295 16.1 0.056
Dual-core Nvidia 9800 GX2 14.5 0.074
Nvidia GeForce GTX 280 9.66 0.041
Xtreme Data XD2000i 9.00 0.150
2XNvidia GeForce 8800 3.60 0.017
6
State on the art
Static Code
Analysis
Roofline Model Implementation
Application
BenchmarkPerformance
satisfies
roofline
prediction?
No
Yes
Final Implementation
7
Implementation work flow
Work W [Operations] Theoretical[N=query,
M=database]
Example[Ops]
N=256,M=65K
Indexing 11N2 + 11NM – 6N 185M
Comparison 6N2 + 6NM -5N 101M
Arithmetic 15N2 + 15NM – 6N + 8M +2 253M
Total 32N2 + 32NM – 17N + 8M + 2 539M
Memory Traffic DMT [B] [B]
Data in N+M 65K
Data out 64(N+M-1) 4.2M
Total 65N + 65M -64 4.3M
Operational Intensity [Ops/B]
[Ops/B] (32N2 + 32NM – 17N + 8M + 2) /
(65N + 65M -64)
126
Compute Intensive
Little read
Massive Writes
8Static code analysis
Static Code
Analysis
Roofline Model Implementation
Application
Benchmark
Performance
satisfies
roofline
prediction?
No
Yes
Final Implementation
9
Implementation work flow
Roofline Model
The roofline model [2]
Performance Model
that depicts the relation between atteinable performance
and operational intensity
[2] Williams, Samuel, Andrew Waterman, and David Patterson. "Roofline: an insightful visual performance model for multicore architectures." Communications of the ACM 52.4 (2009): 65-76.
11The roofline model
Static Code
Analysis
Roofline Model Implementation
Application
Benchmark
Performance
satisfies
roofline
prediction?
No
Yes
Final Implementation
12
Implementation work flow
Implementation
13
Implementation choices
• Traceback is sequential
• Compute on host processor
• As seen in the roofline, we are
memory bound, therefore
compression of input/output
essential
• Directions expressed with 2-bit representation
• Parallel computation along the
anti-diagonals with a systolic
array
• Buffer out corners to simplify
corner cases
• No need to buffer entire
database
• shift in as needed given current compute
window(maximum size = size of the query)
14
Implementation choices
• Traceback is sequential
• Compute on host processor
• As seen in the roofline, we are
memory bound, therefore
compression of input/output
essential
• Directions expressed with 2-bit representation
• Parallel computation along the
anti-diagonals with a systolic
array
• Buffer out corners to simplify
corner cases
• No need to buffer entire
database
• shift in as needed given current compute
window(maximum size = size of the query)
15
• Traceback is sequential
• Compute on host processor
• As seen in the roofline, we are
memory bound, therefore
compression of input/output
essential
• Directions expressed with 2-bit representation
• Parallel computation along the
anti-diagonals with a systolic
array
• Buffer out corners to simplify
corner cases
• No need to buffer entire
database
• shift in as needed given current compute
window(maximum size = size of the query)
Implementation choices
C G T
C
T
G
A
C
G
16
Implementation choices
Static Code
Analysis
Roofline Model Implementation
Application
Benchmark
Performance
satisfies
roofline
prediction?
No
Yes
Final Implementation
17
Application
Benchmark
Implementation work flow
• For the experiment, we used two boards developed by
AlphaData. The ADM-PCIE-7V3 and the ADM-PCIE-KU3
• The benchmarks have been performed by increasing the sizes of
the query and the database
PCIe
The host machine is a x64 machine
running Red Hat Linux Enterprise 6.6
• Host & FPGA are connected
over PCIe
• The execution times are
measured using the events of
the OpenCL standard
18
Experimental settings
19
Results
Systolic Array
I/O
Compression
20
Results
Systolic Array
Shift Register
21
Results
I/O
Compression
Systolic Array
Shift Register
22
Port
Mapping on
Kintex
Ultrascale
Results
Systolic Array
I/O
Compression
Static Code
Analysis
Roofline Model Implementation
Application Benchmark
Performance
satisfies
roofline
prediction?
No
Yes
Final Implementation
23
Yes
Final Implementation
Performance
satisfies
roofline
prediction?
Implementation work flow
Platform
Performance
[GCUPS]
Power Efficiency
[GCUPS/W]
Tesla K20 45.0 0.200
ADM-PCIE-KU3 42.5 1.699
Nvidia GeForce GTX 295 30.0 0.104
Xtreme Data XD1000 25.6 0.430
Altera Stratix V on Nallatech PCIe-385 24.7 0.988
Nvidia GeForce GTX 295 16.1 0.056
ADM-PCIE-7V3 14.8 0.594
Dual-core Nvidia 9800 GX2 14.5 0.074
Nvidia GeForce GTX 280 9.66 0.041
Xtreme Data XD2000i 9.00 0.150
2XNvidia GeForce 8800 3.60 0.017
24
State on the art
Platform
Performance
[GCUPS]
Power Efficiency
[GCUPS/W]
ADM-PCIE-KU3 42.5 1.699
Altera Stratix V on Nallatech PCIe-385 24.7 0.988
ADM-PCIE-7V3 14.8 0.594
Xtreme Data XD1000 25.6 0.430
Tesla K20 45.0 0.200
Xtreme Data XD2000i 9.00 0.150
Nvidia GeForce GTX 295 30.0 0.104
Dual-core Nvidia 9800 GX2 14.5 0.074
Nvidia GeForce GTX 295 16.1 0.056
Nvidia GeForce GTX 280 9.66 0.041
2XNvidia GeForce 8800 3.60 0.017
25
State on the art
26
Conclusions
We presented
• A pure implementation of the Smith-Waterman algorithm
• Analyzed using the Berkeley Roofline Model
The version presented here has
• The best performance/power consumption ratio
• The fastest implementation w.r.t FPGA implementations
Di Tucci, Lorenzo, Kenneth O'Brien, Michaela Blott, and Marco D. Santambrogio. "Architectural optimizations for high
performance and energy efficient Smith-Waterman implementation on FPGAs using OpenCL." In 2017 Design,
Automation & Test in Europe Conference & Exhibition (DATE), pp. 716-721. IEEE, 2017.
27
Future Works
Started a collaboration with Lawrence Berkeley
National Laboratory
• Implementation of the Smith-Waterman using Chisel HDL[1]
• Adaptation of the code to run with the merAligner [2]
• Implementation of a single and Multi FPGA architecture for the
merAligner
[1] https://chisel.eecs.berkeley.edu/
[2] https://people.eecs.berkeley.edu/~egeor/ipdps_genome.pdf
Thanks for the attention!
Questions?
28
Lorenzo Di Tucci – lorenzo.ditucci@polimi.it
29
Appendix: area usage & resource utilization
• All loops have II
=1
• LUTs usage <
10%
• FF usage < 5%
• BRAM ~ 1%
Platform
Performance
[GCUPS]
Price
[$]
GCUPS/$
2XNvidia GeForce 8800 3.6 2x100 0,018
Xtreme Data XD2000i 9 ------ ------
Nvidia GeForce GTX 280 9.66 50 0,1932
Dual-core Nvidia 9800 GX2 14.5 70 0,207
ADM-PCIE-7V3 14.84 3200 0,0046
Nvidia GeForce GTX 295 16.087 294 0,055
Altera Stratix V on Nallatech
PCIe-385
24.7 4995 0,005
Xtreme Data XD1000 25.6 ------ ------
Nvidia GeForce GTX 295 30 295 0,102
ADM-PCIE-KU3 42.47 2795 0,015
Tesla K20 45 2779 0,016
30
Comparison with state of the art

More Related Content

PPTX
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
PDF
Federated HPC Clouds applied to Radiation Therapy
PPTX
C-SAW: A Framework for Graph Sampling and Random Walk on GPUs
PDF
A Deeper Dive into EXPLAIN
 
PPTX
Super COMPUTING Journal
PDF
Latency Performance of Encoding with Random Linear Network Coding
PPTX
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
PPTX
Quantum Gaussian Processes - Gawel Kus
Exploiting a Synergy between Greedy Approach and NSGA for Scheduling in Compu...
Federated HPC Clouds applied to Radiation Therapy
C-SAW: A Framework for Graph Sampling and Random Walk on GPUs
A Deeper Dive into EXPLAIN
 
Super COMPUTING Journal
Latency Performance of Encoding with Random Linear Network Coding
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
Quantum Gaussian Processes - Gawel Kus

What's hot (20)

PDF
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
PPTX
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
PPTX
Thesis_presentation1
PDF
Performance Benchmarking of the R Programming Environment on the Stampede 1.5...
PPTX
Big Linked Data Interlinking - ExtremeEarth Open Workshop
PPTX
InfluxDB IOx Tech Talks: A Rusty Introduction to Apache Arrow and How it App...
PDF
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
PDF
SkyhookDM - Towards an Arrow-Native Storage System
PPT
4A_ 3_Parallel k-means clustering using gp_us for the geocomputation of real-...
PPTX
Smallworld Data Check-Out to Microstation
PDF
Data-intensive IceCube Cloud Burst
PDF
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
PPTX
Federated HPC Clouds Applied to Radiation Therapy
PDF
Running a GPU burst for Multi-Messenger Astrophysics with IceCube across all ...
PDF
Run-time power management in cloud and containerized environments
PDF
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
PPTX
Thermal modeling and management of cluster storage systems xunfei jiang 2014
PDF
How to Build a Telegraf Plugin by Noah Crowley
PDF
"Update on Khronos Standards for Vision and Machine Learning," a Presentation...
PDF
Self-adaptive container monitoring with performance-aware Load-Shedding policies
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
Thesis_presentation1
Performance Benchmarking of the R Programming Environment on the Stampede 1.5...
Big Linked Data Interlinking - ExtremeEarth Open Workshop
InfluxDB IOx Tech Talks: A Rusty Introduction to Apache Arrow and How it App...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
SkyhookDM - Towards an Arrow-Native Storage System
4A_ 3_Parallel k-means clustering using gp_us for the geocomputation of real-...
Smallworld Data Check-Out to Microstation
Data-intensive IceCube Cloud Burst
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
Federated HPC Clouds Applied to Radiation Therapy
Running a GPU burst for Multi-Messenger Astrophysics with IceCube across all ...
Run-time power management in cloud and containerized environments
"Using SGEMM and FFTs to Accelerate Deep Learning," a Presentation from ARM
Thermal modeling and management of cluster storage systems xunfei jiang 2014
How to Build a Telegraf Plugin by Noah Crowley
"Update on Khronos Standards for Vision and Machine Learning," a Presentation...
Self-adaptive container monitoring with performance-aware Load-Shedding policies
Ad

Similar to Architectural Optimizations for High Performance and Energy Efficient Smith-Waterman Implementation on FPGAs Using OpenCL (20)

PDF
FPGA-enhanced Bioinformatics @ NECST
PPSX
MAtrix Multiplication Parallel.ppsx
PPSX
matrixmultiplicationparallel.ppsx
PDF
A Parallel, Energy Efficient Hardware Architecture for the merAligner on FPGA...
PDF
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
PDF
Recent Progress in SCCS on GPU Simulation of Biomedical and Hydrodynamic Prob...
PPTX
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
PDF
Trends in Systems and How to Get Efficient Performance
PDF
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
PDF
Performance Analysis and Optimizations of CAE Applications (Case Study: STAR_...
PDF
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
PDF
Deep Learning Initiative @ NECSTLab
PDF
Large-Scale Optimization Strategies for Typical HPC Workloads
PDF
Get Lower Latency and Higher Throughput for Java Applications
PPTX
DATE 2020: Design, Automation and Test in Europe Conference
PPT
Per domain power analysis
PDF
Application Optimisation using OpenPOWER and Power 9 systems
PPTX
Advanced Computer Architecture – An Introduction
PDF
pgconfasia2016 plcuda en
PDF
Supermicro X12 Performance Update
FPGA-enhanced Bioinformatics @ NECST
MAtrix Multiplication Parallel.ppsx
matrixmultiplicationparallel.ppsx
A Parallel, Energy Efficient Hardware Architecture for the merAligner on FPGA...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Recent Progress in SCCS on GPU Simulation of Biomedical and Hydrodynamic Prob...
LEGaTO: Low-Energy Heterogeneous Computing Use of AI in the project
Trends in Systems and How to Get Efficient Performance
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Performance Analysis and Optimizations of CAE Applications (Case Study: STAR_...
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Deep Learning Initiative @ NECSTLab
Large-Scale Optimization Strategies for Typical HPC Workloads
Get Lower Latency and Higher Throughput for Java Applications
DATE 2020: Design, Automation and Test in Europe Conference
Per domain power analysis
Application Optimisation using OpenPOWER and Power 9 systems
Advanced Computer Architecture – An Introduction
pgconfasia2016 plcuda en
Supermicro X12 Performance Update
Ad

More from NECST Lab @ Politecnico di Milano (20)

PDF
Mesticheria Team - WiiReflex
PPTX
Punto e virgola Team - Stressometro
PDF
BitIt Team - Stay.straight
PDF
BabYodini Team - Talking Gloves
PDF
printf("Nome Squadra"); Team - NeoTon
PPTX
BlackBoard Team - Motion Tracking Platform
PDF
#include<brain.h> Team - HomeBeatHome
PDF
Flipflops Team - Wave U
PDF
Bug(atta) Team - Little Brother
PDF
#NECSTCamp: come partecipare
PDF
NECSTLab101 2020.2021
PDF
TreeHouse, nourish your community
PDF
TiReX: Tiled Regular eXpressionsmatching architecture
PDF
Embedding based knowledge graph link prediction for drug repurposing
PDF
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
PDF
EMPhASIS - An EMbedded Public Attention Stress Identification System
PDF
Luns - Automatic lungs segmentation through neural network
PDF
BlastFunction: How to combine Serverless and FPGAs
PDF
Maeve - Fast genome analysis leveraging exact string matching
Mesticheria Team - WiiReflex
Punto e virgola Team - Stressometro
BitIt Team - Stay.straight
BabYodini Team - Talking Gloves
printf("Nome Squadra"); Team - NeoTon
BlackBoard Team - Motion Tracking Platform
#include<brain.h> Team - HomeBeatHome
Flipflops Team - Wave U
Bug(atta) Team - Little Brother
#NECSTCamp: come partecipare
NECSTLab101 2020.2021
TreeHouse, nourish your community
TiReX: Tiled Regular eXpressionsmatching architecture
Embedding based knowledge graph link prediction for drug repurposing
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
EMPhASIS - An EMbedded Public Attention Stress Identification System
Luns - Automatic lungs segmentation through neural network
BlastFunction: How to combine Serverless and FPGAs
Maeve - Fast genome analysis leveraging exact string matching

Recently uploaded (20)

DOCX
573137875-Attendance-Management-System-original
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Road Safety tips for School Kids by a k maurya.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
PDF
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Queuing formulas to evaluate throughputs and servers
PPTX
Internship_Presentation_Final engineering.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
anatomy of limbus and anterior chamber .pptx
PPTX
web development for engineering and engineering
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
436813905-LNG-Process-Overview-Short.pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Practice Questions on recent development part 1.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
573137875-Attendance-Management-System-original
CH1 Production IntroductoryConcepts.pptx
Road Safety tips for School Kids by a k maurya.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Queuing formulas to evaluate throughputs and servers
Internship_Presentation_Final engineering.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
anatomy of limbus and anterior chamber .pptx
web development for engineering and engineering
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
436813905-LNG-Process-Overview-Short.pptx
Model Code of Practice - Construction Work - 21102022 .pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Practice Questions on recent development part 1.pptx
bas. eng. economics group 4 presentation 1.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...

Architectural Optimizations for High Performance and Energy Efficient Smith-Waterman Implementation on FPGAs Using OpenCL

  • 1. 1 Architectural Optimizations for High Performance and Energy Efficient Smith-Waterman Implementation on FPGAs using OpenCL 06/07/2017 @ Oracle Lorenzo Di Tucci [email protected] NECST Lab, Politecnico di Milano
  • 2. 2 The Problem Performance Requirements of biological algorithms increased as.. Large amount of data Algorithm Complexity High Computational Needs In such scenario, hardware accelerators proved to be effective in optimizing the Performance/Power Consumption Ratio High Parallelism Low Power Consumption
  • 3. 3 Contributions The contributions of this work are: • Energy-Efficient Hardware architecture for a pure Smith- Waterman algorithm • Implementation with an OpenCL-based design and run-time environment • Analysis of this algorithm using the Berkeley Roofline Model • Experimental results for ADM_PCIE_7V3 and ADM_PCIE_KU3 The results highlights the best performance w.r.t. FPGA solutions and the best performance/power consumption ratio w.r.t all competing devices
  • 4. 4 ● Dynamic programming algorithm ● Perform local sequence alignment between two nucleotides or proteins ● Guaranteed to find the optimal local alignment with regards to the scoring system used[1] ● Highly Compute Intensive ● In order to increase system performance, the state of the art is full of implementation based on heuristics Speedup in computation Decrease in Algorithm Precision [1] Smith, T. F., & Waterman, M. S. (1981). Identification of common molecular subsequences. Journal of molecular biology, 147(1), 195-197. Background
  • 5. Read all inputs (query, database, scoring system) Compute Max score, similarity and traceback matrix Traceback Starting from max score along the highest score in traceback matrix Write results Each Element depends on the values: -Over it (north) - On its (west) - On its diagonal position (north-west) Similarity Matrix Starting from the maximum value in the Similarity Matrix, Follow the directions stored in the TraceBack Matrix Traceback Matrix 5 Algorithm
  • 6. Platform Performance [GCUPS] Power Efficiency [GCUPS/W] Tesla K20 45.0 0.200 Nvidia GeForce GTX 295 30.0 0.104 Xtreme Data XD1000 25.6 0.430 Altera Stratix V on Nallatech PCIe-385 24.7 0.988 Nvidia GeForce GTX 295 16.1 0.056 Dual-core Nvidia 9800 GX2 14.5 0.074 Nvidia GeForce GTX 280 9.66 0.041 Xtreme Data XD2000i 9.00 0.150 2XNvidia GeForce 8800 3.60 0.017 6 State on the art
  • 7. Static Code Analysis Roofline Model Implementation Application BenchmarkPerformance satisfies roofline prediction? No Yes Final Implementation 7 Implementation work flow
  • 8. Work W [Operations] Theoretical[N=query, M=database] Example[Ops] N=256,M=65K Indexing 11N2 + 11NM – 6N 185M Comparison 6N2 + 6NM -5N 101M Arithmetic 15N2 + 15NM – 6N + 8M +2 253M Total 32N2 + 32NM – 17N + 8M + 2 539M Memory Traffic DMT [B] [B] Data in N+M 65K Data out 64(N+M-1) 4.2M Total 65N + 65M -64 4.3M Operational Intensity [Ops/B] [Ops/B] (32N2 + 32NM – 17N + 8M + 2) / (65N + 65M -64) 126 Compute Intensive Little read Massive Writes 8Static code analysis
  • 9. Static Code Analysis Roofline Model Implementation Application Benchmark Performance satisfies roofline prediction? No Yes Final Implementation 9 Implementation work flow Roofline Model
  • 10. The roofline model [2] Performance Model that depicts the relation between atteinable performance and operational intensity [2] Williams, Samuel, Andrew Waterman, and David Patterson. "Roofline: an insightful visual performance model for multicore architectures." Communications of the ACM 52.4 (2009): 65-76.
  • 12. Static Code Analysis Roofline Model Implementation Application Benchmark Performance satisfies roofline prediction? No Yes Final Implementation 12 Implementation work flow Implementation
  • 13. 13 Implementation choices • Traceback is sequential • Compute on host processor • As seen in the roofline, we are memory bound, therefore compression of input/output essential • Directions expressed with 2-bit representation • Parallel computation along the anti-diagonals with a systolic array • Buffer out corners to simplify corner cases • No need to buffer entire database • shift in as needed given current compute window(maximum size = size of the query)
  • 14. 14 Implementation choices • Traceback is sequential • Compute on host processor • As seen in the roofline, we are memory bound, therefore compression of input/output essential • Directions expressed with 2-bit representation • Parallel computation along the anti-diagonals with a systolic array • Buffer out corners to simplify corner cases • No need to buffer entire database • shift in as needed given current compute window(maximum size = size of the query)
  • 15. 15 • Traceback is sequential • Compute on host processor • As seen in the roofline, we are memory bound, therefore compression of input/output essential • Directions expressed with 2-bit representation • Parallel computation along the anti-diagonals with a systolic array • Buffer out corners to simplify corner cases • No need to buffer entire database • shift in as needed given current compute window(maximum size = size of the query) Implementation choices
  • 17. Static Code Analysis Roofline Model Implementation Application Benchmark Performance satisfies roofline prediction? No Yes Final Implementation 17 Application Benchmark Implementation work flow
  • 18. • For the experiment, we used two boards developed by AlphaData. The ADM-PCIE-7V3 and the ADM-PCIE-KU3 • The benchmarks have been performed by increasing the sizes of the query and the database PCIe The host machine is a x64 machine running Red Hat Linux Enterprise 6.6 • Host & FPGA are connected over PCIe • The execution times are measured using the events of the OpenCL standard 18 Experimental settings
  • 23. Static Code Analysis Roofline Model Implementation Application Benchmark Performance satisfies roofline prediction? No Yes Final Implementation 23 Yes Final Implementation Performance satisfies roofline prediction? Implementation work flow
  • 24. Platform Performance [GCUPS] Power Efficiency [GCUPS/W] Tesla K20 45.0 0.200 ADM-PCIE-KU3 42.5 1.699 Nvidia GeForce GTX 295 30.0 0.104 Xtreme Data XD1000 25.6 0.430 Altera Stratix V on Nallatech PCIe-385 24.7 0.988 Nvidia GeForce GTX 295 16.1 0.056 ADM-PCIE-7V3 14.8 0.594 Dual-core Nvidia 9800 GX2 14.5 0.074 Nvidia GeForce GTX 280 9.66 0.041 Xtreme Data XD2000i 9.00 0.150 2XNvidia GeForce 8800 3.60 0.017 24 State on the art
  • 25. Platform Performance [GCUPS] Power Efficiency [GCUPS/W] ADM-PCIE-KU3 42.5 1.699 Altera Stratix V on Nallatech PCIe-385 24.7 0.988 ADM-PCIE-7V3 14.8 0.594 Xtreme Data XD1000 25.6 0.430 Tesla K20 45.0 0.200 Xtreme Data XD2000i 9.00 0.150 Nvidia GeForce GTX 295 30.0 0.104 Dual-core Nvidia 9800 GX2 14.5 0.074 Nvidia GeForce GTX 295 16.1 0.056 Nvidia GeForce GTX 280 9.66 0.041 2XNvidia GeForce 8800 3.60 0.017 25 State on the art
  • 26. 26 Conclusions We presented • A pure implementation of the Smith-Waterman algorithm • Analyzed using the Berkeley Roofline Model The version presented here has • The best performance/power consumption ratio • The fastest implementation w.r.t FPGA implementations Di Tucci, Lorenzo, Kenneth O'Brien, Michaela Blott, and Marco D. Santambrogio. "Architectural optimizations for high performance and energy efficient Smith-Waterman implementation on FPGAs using OpenCL." In 2017 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 716-721. IEEE, 2017.
  • 27. 27 Future Works Started a collaboration with Lawrence Berkeley National Laboratory • Implementation of the Smith-Waterman using Chisel HDL[1] • Adaptation of the code to run with the merAligner [2] • Implementation of a single and Multi FPGA architecture for the merAligner [1] https://chisel.eecs.berkeley.edu/ [2] https://people.eecs.berkeley.edu/~egeor/ipdps_genome.pdf
  • 28. Thanks for the attention! Questions? 28 Lorenzo Di Tucci – [email protected]
  • 29. 29 Appendix: area usage & resource utilization • All loops have II =1 • LUTs usage < 10% • FF usage < 5% • BRAM ~ 1%
  • 30. Platform Performance [GCUPS] Price [$] GCUPS/$ 2XNvidia GeForce 8800 3.6 2x100 0,018 Xtreme Data XD2000i 9 ------ ------ Nvidia GeForce GTX 280 9.66 50 0,1932 Dual-core Nvidia 9800 GX2 14.5 70 0,207 ADM-PCIE-7V3 14.84 3200 0,0046 Nvidia GeForce GTX 295 16.087 294 0,055 Altera Stratix V on Nallatech PCIe-385 24.7 4995 0,005 Xtreme Data XD1000 25.6 ------ ------ Nvidia GeForce GTX 295 30 295 0,102 ADM-PCIE-KU3 42.47 2795 0,015 Tesla K20 45 2779 0,016 30 Comparison with state of the art

Editor's Notes

  • #5: GARANTISCE DI TROVARE!!!
  • #12: Le performance predette sono maggiori di quelle nello stato dell’arte per quanto riguarda implementazioni su FPGA, quindi ha motivo accelerare questo algoritmo per le nostre piattaforme