scaling ion torrent semiconductor sequencing · mohit gupta and jakob siegel scaling ion torrenttm...

57
1 The world leader in serving science Mohit Gupta and Jakob Siegel Scaling Ion Torrent TM Semiconductor Sequencing Analysis with GPU’s

Upload: others

Post on 22-Sep-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

1 The world leader in serving science

Mohit Gupta and Jakob Siegel

Scaling Ion TorrentTM Semiconductor Sequencing

Analysis with GPU’s

Page 2: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

2

What is DNA

• Hereditary material in

humans and almost all other

living organisms

• Comprises of four chemical

base pairs: (A,T), (C,G) in

double helix structure

• Sequence of these base

pairs determines how an

organism develops, survives

and reproduce

Guanine

Thymine

Cytosine

Adenine

Page 3: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

3

Why sequence DNA ?

Page 4: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

4

Tumor DNA: in blood

• Identifying tumor by

sequencing the free

floating DNA in blood for

mutations

• If mutations in ctDNA

tumor somewhere in the

body

For Research Use Only. Not for use in diagnostic procedures.

Page 5: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

5

Main Frame Mini Computer Personal Computer

CE/Sanger Sequencing Next-Gen Sequencing Ion Semiconductor Sequencing

Requirements for Success

Affordable, Scalable Technologies

Simple, End-to-End Workflows

Strong User Community and Reference Base

Benchtop High Throughput Sequencing Accessible to All Labs

Page 6: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

6

Ion ProtonTM sequencer

Page 7: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

7

Sensor Plate

Silicon Substrate

Drain Source Bulk

dNTP

To column

receiver

∆ pH

∆ Q

∆ V

Sensing Layer

H+

Rothberg J.M. et al Nature doi:10.1038/nature10242

Transistor as a pH meter

Compute Intensive signal

processing

Page 8: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

8

0

150M

300M

Num

be

r o

f w

ells

pe

r ch

ip

Unprecedented Scaling

Ion 316™ Ion 314 Ion 318™

Ion PI™

Chips

600M

1.2M 6.1M 11M

165M

660 million sensors anticipated of

being recorded at 15 FPS for 5

seconds for each of 300 nucleotide

flows

21 TB (~2 TB compressed) data in

less than 3 hours. `

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

450M

Ion PII™

660M 750M

Page 9: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

9

Ion Chip Scalability

PITM, 1.3um

165M wells

PIITM, 0.5um

660M wells

3-series, 3um

11M wells

The content provided herein may relate to products that have not been officially released and is subject to change without notice

Page 10: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

10

Ion PII™ Chip

Contrast to the Ion PI™ Chip:

• 4x as many wells and transistors

is expected to enable much

higher throughput

• Expected to offer twice the data

rate to maximize data analysis

rates and minimize analysis

times

• Anticipating higher signal to

noise to maximize quality of

signal output

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Page 11: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

11

Anticipated data rate from the PIITM Chip

HD Movie streams

36000 movies

Latest generation Cisco router

10 to100 Gbps

1G Ethernet

120 cables Latest generation CMOS camera

5.6 Gbps

Ion PIITM Chip

660 M wells

120 Gbps

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Netflix

Page 12: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

12

Ion PIITM Chip Expected to be Functional and Deliver Promising Data

>300M aligned reads 115 base mode >30G Total Bases

Target 200-300M reads @ 100bp

Human Genome Fragment Library

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Page 13: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

13

Ion PITM Chip - Microwell Innovations Push read length to 400 bases and output to 30Gb

~ 30 Gb Total Bases ~ 400 Base Mode 99% Accuracy

Combining 3 PITM chips enables 30X whole human

genome

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Page 14: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

14

30X Whole Human Genome on Three Ion PITM Chips

~30X mean coverage

1X coverage 99.6%

SNP:MAF>0.2 SNPs

Total 3,621,628

Het/Hom ratio 1.693

Ts/Tv ratio 2.06

% in(chr1)

dbSNP

97.4%

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Page 15: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

15

Data Processing Pipeline

Data

acquisition

and

compression

in FPGA

Signal

Processing

BaseCalling

and

Alignment to

reference

genome

2 TB 200 GB

21 TB

(PIITM chip)

Page 16: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

16

How to process data at the source ?

Big data on ProtonTM Sequencer

Cloud/Cluster not an option

Dual 8-core Intel® Xeon® Sandy

Bridge

Dual Altera® Stratix® V

NVIDIA® Tesla® K20

11 TB (SSD and HDD)

Page 17: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

17

GPU to the rescue

• Removed main hotspot in signal processing pipeline

• Speedups of more than 250x over a CPU core!

0 20 40 60 80 100 120 140 160

CPU

GPU

time in s

bead find

CPU processingfirst 20 flows

per block CPUprocessing afterflow 20

time spent infitting

Page 18: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

18

GPU’s Impact

• Multiple sequencing runs a day possible

• Swift pace of Research and Development

• Accelerated product innovation

with GPU

CPU only

On Instrument Analysis Time with and without GPU

Page 19: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

19

Signal Processing Signal Processing

Page 20: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

20

Signal Processing Flow

Reading flow

data

Writing signal

values

Raw Data

Processing

Post Fit

Processing

Parameter

Estimation

unique to each

well (LM fitting)

Regional

Parameter

Estimation

(Common to all

wells)

Page 21: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

21

Mathematical model

• Sophisticated model

• Background correction

• Incorporation

• Buffering

• Regional Parameters

• Enzyme kinetics, nucleotide

rise, diffusion etc.

• Well Parameters

• Hydrogen ions generated,

buffering, DNA copies etc.

Decay in H+

Incorporation

Page 22: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

22

Parameter Estimation

• Rich data fitting on first 20 flows

• Custom Levenberg-Marquardt algorithm

• Multiple parameters are estimated

• Requires a full matrix solve like Cholesky decomposition

• Required for each well

• A two parameter fit is required in rest of the flows

• Generates signal value corresponding to hydrogen ions

generated in each flow

Page 23: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

23

Levenberg Marquardt (LM) Algorithm

• Least squares curve fitting where sum of squared residuals

between observed and predicted data is minimized

where

S: sum of squared residuals between observed

and predicted data

β: set of model parameters

y, x: observed data

• Essentially Gauss Newton (GN) algorithm with a damping

factor λ tuned in every solve iteration to progress in the

direction of gradient descent

S(b) =2

[yi- f (xi,b)]i=1

Page 24: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

24

LM algorithm cont’d

• For our application

• Minimize the residual between raw data and signal value

obtained from the mathematical model for each well

• Provides numerical solution for the parameters governing

the model

• Iterative algorithm executed repeatedly till there is no

appreciable change in parameters

• Convergence in reasonable time and iterations depends on

the initial guess for parameters

Page 25: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

25

GPU Acceleration GPU Acceleration

Page 26: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

26

Current Execution Model

• Based on Original CPU implementation: Process Level

• 96 blocks

• depending on hardware 4 to 6

processes in parallel

• work on available data during

experiment

*Heat-map and timing from a Proton P1TM with Nvidia C2075 GPU

Page 27: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

27

BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker Thread

ImgLoader ImgLoader ImgLoader Raw Data Loader

Thread

CPU Queue

Gen Traces

1

36

RegionFit PostFit

Xtalk/Clonal

6

ImgLoader ImgLoader ImgLoader 1.well writer

accumulate

traces for

20 flows

1

sync

Single Flow

Fit

beads

frames

flows (20)

copy

Current Execution Model

• Based on Original CPU implementation: Thread Level

Page 28: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

28

Current Implementation

• Stream based to hide PCIe transfer

• Resources needed for stream execution are pre-allocated and obtained from a resource pool.

• If resources to create a Stream Execution Unit (SEU) are available the Stream Manager will try to poll a new job from a job queue.

• The Stream Manager can drive multiple SEUs which can be of different types.

• Theoretically up to 16 SEUs can be spawned in one Stream Manager if enough resources are available

Page 29: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

29

• ~400 MB GPU / 150MB Host memory per stream

• no room for persistent data (36 regions)

• huge allocation and copy overhead

• data transpose overhead

• varying bead count and frames per region,

reallocation and slowdown in absolute worst case.

• synchronization steps

GPU memory

fram

es

flow

s (2

0)

beads

host memory

beads

frames

flows (20)

copy

BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker BkgModel Worker Thread

ImgLoader ImgLoader ImgLoader Raw Data Loader

Thread

CPU Queue

Gen Traces

1

36

RegionFit PostFit

Xtalk/Clonal

GPU Queue

6

ImgLoader ImgLoader ImgLoader 1.well writer

GPU

Worker

StreamManager SEU

StreamEU

GPU

transp. Input

SingleFlowFit

transp. Output

accumulate

traces for

20 flows

36

1

sync

page locked memory

frames

flows (20)

beads

Current Pipeline after 20 flows

Page 30: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

30

GPU Code Optimizations

• Merging smaller kernels into fat kernels

• No kernel launch overheads

• Removes lot of redundant global memory reads and writes

• Invariant code motion

• Instruction reordering to allow for better caching

• Loop unrolling

• Reduction in integer operation for address calculations

• Reduction in register pressure

• Occupancy was register limited

• Did a sweep over kernel launch bounds to arrive at optimal value

Page 31: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

31

GPU Memory Optimizations

• Global memory access optimization

• Data transform from AoS to SoA.

• Data reorganization to allow for vec4 reads

• Use of shared memory to store some heavily accessed elements

• Padded buffers to allow for more efficient 128byte segment reads

• “Excessive” use of constant memory

• Optimization for L1 cache

• needs to be revisited for every new architecture

• e.g. Fermi to Kepler:

no more L1 for global r/w __ldg(),

changes in shared memory per thread.

new L1/Shm config

Page 32: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

32

Why are further optimizations needed?

• Current pipeline optimized for PITM signal processing

• Utilizes GPU (more or less) efficiently during bkgmodel fitting

• Generating empty and bead traces a bottleneck

• Big chunk of CPU time spent in these computations

• Mostly memory bound and a natural step to be performed on GPU as a

precursor to fitting

• Raw data processing is another big compute hog

• This pipeline will enable it to be easily streamlined in the new flow

• Many unnecessary data transformations and memcopies

• Complex execution model

• All above steps will take 4x more time with PIITM

• No filtering so pure 4x increase in time

Page 33: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

33

Why are further optimizations needed?

Wall clock time and GPU utilization for K20c and K40 w. boost (Proton P1 experiment run with 500 flows)

212

92%

0%

20%

40%

60%

80%

100%

120%

0

50

100

150

200

250

Timing Utilization

K20c

207

70%

0%

20%

40%

60%

80%

100%

120%

0

50

100

150

200

250

Timing Utilization

K40 w. boost

tim

e in

min

ute

s

Page 34: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

34

Signal Processing Flow

Reading flow

data

Writing signal

values

Raw Data

Processing

Post Fit

Processing

Parameter

Estimation

unique to each

well (LM fitting)

Regional

Parameter

Estimation

(Common to all

wells)

Page 35: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

35

Current Optimization Work

• Expand scope of GPU implementation

• Some algorithm tweaks

• Modifications in intermediate data layout

• Removed need for addition copies and transposes

• Changes in spatial and temporal data subdivision

• Use of Nvidia MPS to hide PCIe transfers

Page 36: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

36

Data Layout

• New Layout • Maintain layout of raw data

• Use mask on GPU instead of extracting relevant data from raw data

• Keep all the data in planes so neighboring threads always access consecutive data elements

• Fixed data layout allows for in-place recompression and other operations

• Easier resource management

• More data to work on for GPU

• instead of 20x now 36x region size

• Region size does no longer limit GPU performance

Mask

data/traces

params

Page 37: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

37

GPU Worker

ImgLoader ImgLoader ImgLoader Raw Data Loader

Thread

ImgLoader ImgLoader ImgLoader 1.well writer

GPU

Gen Traces

RegionFit

SingleFlowFit

Init Persistent

Data

first GPU flow?

Xtalk

ClonalFilter

ClonalFilter Flow

GPU memory

host memory

copy

• Per block fixed amount ~270 MB GPU memory

• Almost no additional host memory

• Persistent data only copied/generated once on

device, no additional transposes.

• No host side copy overhead (use of MPS to hide

PCIe)

• Fixed max block size, no need for re-allocation

• No synchronization steps

Optimized after 20 flows

Page 38: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

38

optimize pipeline performance

Wall clock time and GPU utilization for K20c and K40 w. boost (Proton P1 experiment run with 500 flows)

192

99%

0%

20%

40%

60%

80%

100%

120%

0

50

100

150

200

250

Timing Utilization

K20c

161

98%

0%

20%

40%

60%

80%

100%

120%

0

50

100

150

200

250

Timing Utilization

K40 w. boost

Page 39: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

39

optimize pipeline performance for 300 flow PIITM run

492

371

0

100

200

300

400

500

600

current optimized

wall c

lock t

ime in

min

ute

s

optimized pipeline 25%

faster than current

implementation.

Page 40: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

40

NVIDIA MPS

• Multiple overlapping contexts on

one device

• concurrent PCIe copies and

kernel execution

• Huge reduction in code

complexity no more streams

Page 41: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

41

MPS performance

MPS issues

• occasional slowdown

(overhead?)

• undefined state after a

process encountered

an exception/error

212

192

228

207

161

203

0

50

100

150

200

250

current optimized with MPS without MPS

wall c

lock t

ime in

min

ute

s

Timing for Proton P1 run with 500 flows

K20 K40 with boost

Page 42: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

42

Optimization Summary

• P1TM/P2TM block level signal processing • Concept of bkgmodel regions internal to the GPU

• Easy to experiment with different region sizes

• Regions can talk to each other.

• Streamlined flow from raw data processing to signal processing

• Sequential execution of the pipeline steps

• Final output to be written to 1.wells

• Fewer data copies, reduced memory footprint for P1TM

• Freed up CPU resources

• Reduced context switches on the GPU

• Better utilization of PCIe bandwidth

Page 43: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

43

Expanding the Scope

Data

acquisition

and

compression

in FPGA

Signal

Processing

BaseCalling

and

Alignment to

reference

genome

2 TB 200 GB

21 TB

(PIITM chip)

The content provided herein may relate to products that have not been officially released and is subject to change without notice.

Page 44: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

44

GPU-based Mapping

• Aligners considered

• TMAP

• Mapper from Ion Torrent developed in-house

• Dual 8-core Intel® Xeon® Sandy Bridge

• nvBowtie

• Re-engineered version of bowtie2 from NVIDIA

• NVIDIA® Tesla® K40

• Dataset

• Ampliseq Exome from Ion Torrent

Page 45: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

45

nvBowtie: Speed and Quality

• Speed

• Index construction (using H.sapiens genome assembly v.39)

• 14X speedup

• Mapping (45M reads)

• 7.1X speedup

• Quality

• Mapping Concordance

• 100% on unique locations

• 51% overall (Seems to be a bug with the most recent version of

nvBowtie. Actively investigating with NVIDIA)

Thanks to Denis Kaznadzey for evaluating nvBowtie and generating timing

and performance results

Page 46: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

46

Results Conclusion

Page 47: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

47

Comparison GPU generations

163

250

280

324

0

50

100

150

200

250

300

350

C2075 K20 K40 K40 boost

sp

eed

up

ov

er

sin

gle

CP

U c

ore

Algorithm Speedup over a Single CPU Core

2x

Page 48: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

48

Conclusion and Future Work

• Breach the legacy code wall.

• CUDA quickly speeds up bottlenecks until your legacy code

prevents you from scaling. At that point severe refactoring might be

the only solution.

• Expand the scope

• Other pipeline components need more attention, e.g. Alignment

• Well known algorithm Smith waterman for detailed alignments

• NVBIO from NVIDIA is the preferred solution

• More work to do to tackle the PIITM data challenge

• Exploit Kepler architecture to its maximum potential

• Explore potential of Maxwell GPUs. preliminary test are promising

Page 49: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

49

Thank You

NVIDIA

specifically the DevTech Team

Nikolai Sakhkarnykh

Jonathan Bentz

Jacopo Pantaleoni

Mark Berger

Kimberley Powell

Our supervisor Charles Sugnet, Eugene Ingermen

and

The entire Ion Torrent R&D team

Page 50: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

50

For Research Use Only. Not for use in diagnostic procedures. © 2015 Thermo Fisher Scientific Inc. All rights reserved. All trademarks are the property of

Thermo Fisher Scientific and its subsidiaries unless otherwise specified.

NVIDIA and Tesla are trademarks of Nvidia Corporation. Intel and Xeon are trademarks of

Intel Corporation. Altera and Stratix are trademarks of Altera Corporation

Page 51: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

51

GPU Acceleration Appendix

Page 52: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

52

LM algorithm

• Need to solve the following equation for δ

where

J: Jacobian matrix

δ: Increment vector to be added to parameter vector β

y: vector of observed values at (x0 , . . . , xn)

f: vector of function values calculated from the model

for given vector of x and parameter vector β

λ: damping parameter to steer the movement in the direction

of decreasing gradient

JTJ + ldiag(JTJ)( )d = JT y- f (b)( )

Page 53: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

53

LM algorithm cont’d

• Run an outer loop on some maximum number of

iterations

• Exit if no appreciable change in parameter value from

previous to current iteration

• Run an inner loop

• Worse case loop count depends on max or min value of

λ

• Increase λ if residuals increase compared to previous

outer iteration

• Decrease λ if residual decrease compared to previous

outer iteration

Page 54: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

54

LM implementation on GPU

• LM for each well is done by one thread on GPU

• Millions of wells

• Embarrassingly parallel problem

• High on compute

• Several iterations required to obtain a solution with a reasonable

tolerance

• Thread exits once numerical solution is obtained for the

parameters

Page 55: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

55

Ou

ter

loo

p ite

ratio

n

0

1

2

39

t0 t1 t2 t3

λ-iteration

outer loop iteration

idle time

return

threads within same warp

Bottlenecks of GPU implementation of LM

Divergence among GPU threads in a warp

• Each well is sequencing different DNA

fragment

• Need different number of iterations

• Different number of iterations of increasing

or decreasing λ for each iteration

• Towards the end of the algorithm execution,

only few threads are active in a warp

• Scarce resources on GPU doesn’t allow LM

kernels from two different jobs to overlap

Page 56: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

56

0

t0 t1 t2 t3

Gauss Newton

iteration

idle time

return

Threads within same warp

1

2

3

4

5

6

7

ite

ratio

n

Switch to Gauss Newton Algorithm

• Same as LM algorithm without damping

parameter λ to be tuned in every iteration

• Converges faster if initial guess is in the

vicinity of the solution

• Mitigated the divergence problem caused

by LM to a great extent

• No λ tuning iterations are involved

• Reduced code and complexity

• Limit maximum iterations to be

performed in worst case scenario

0

100

200

300

400

500

600

1 3 5 7 9 111315171921232527293133353739

Fit

ted

Wells i

n T

ho

usan

ds

Iterations until finished

Page 57: Scaling Ion Torrent Semiconductor Sequencing · Mohit Gupta and Jakob Siegel Scaling Ion TorrentTM Semiconductor Sequencing Analysis with GPU’s. 2 What is DNA •Hereditary material

57

Execution Model

• Stream based execution allows for

overlap of

• Kernel execution

• PCIe transfers

• host side data reorganization

• CPU pre and post processing

• Queue system for heterogeneous

execution

• Balances execution of different tasks

between CPU and GPU