Bioinformatics Custom Computing

Bioinformatics Custom Computing

• bioinformatics

– “bioinformatics is the application of computer

science and information technology to the

field of biology” [Wikipedia]

– works on genome information

• many applications

– understanding of biologic processes, e.g.

interaction of genes

– protein structure prediction

– drug discovery and design

• computationally intensive methods

– data mining

– pattern recognition

– machine learning

– visualization

definition, image: Wikipedia

What is Bioinformatics?

Revolutionary Progress in Genome Sequencing

• 2003: Human Genome


– 3’000 mega base pairs (Mbp)


– 13 years / 300 Mio US$

• 2007: introduction of next

generation sequencers

– James Watson (454 Life


– 2 month / 2 Mio US$

• 2011: duration and cost

greatly reduced

– ~14 days / 30’000 US$

• cost of sequencers also

reduced, available at many


data, images: A. Goesmann Uni Bielefeld,, 454 Life Sciences

• data processing is the new bottleneck

– huge amounts of data created at increasing speed

– archiving all data becomes prohibitively expensive

Challenges in Bioinformatics

– researchers like to run increasingly sophisticated analyses on the results

§� foundational research: slow processing and use of computer clusters is OK

§� medical applications: results should be available instantly, no clusters

• CPUs are slow for these tasks

– optimized for

§� computation on large integers and floating points data

§� limited amount of parallelism

§� data reuse, small working sets (caches)

– many bioinformatics application need

§� simple operations on small bitwidth data

§� high throughput processing on streams (difficult for caching)

• custom computers have shown great potential for bioinformatics

• custom computing is “computing without


– design of application-specific “processor”

– implementation with programmable hardware


– massively parallel computation

– speedups for suitable applications: 10-1000x

• challenge in previous systems

– no integrated platforms, languages, tools

– digital circuit design knowledge required

– (too) difficult to program for application


• new generation of custom computers

– specifically targeted at HPC applications

– programming at a higher abstraction level

images: Nallatech, Convey Computers

What is Custom Computing?

Programming a Maxeler Custom Computer

• accelerator specified in Java using a high-level library

– FPGA internals and tool flow hidden from developer

– suitable for streaming applications

public class Mav_kernel extends Kernel {


public Mav_kernel (KernelParameters parameters) {



HWVar x = io.input(“A“, hwFloat(8, 24));

HWVar prev = stream.offset(x, -1);

HWVar next = stream.offset(x, 1);

HWVar sum = prev + x + next;

HWVar result = sum / 3;

io.output(“B“, result, hwFloat(8, 24));

example: Maxeler


-1 +1



/ 3


software (C)

device = max_open_device


float A[SIZE]

host PC


main memory A


stream_data(device, A);

example: Maxeler

Using a Maxeler Custom Computer

MAX3 accelerator card



manager (Java)

Manager m = new Manager

(“Loop“, MAX3);


link(“A“, PCIE);

link(“B“, DRAM(LINEAR));;





kernel (Java)

public class Mav_kernel extends Kernel{

public Mav_kernel(KernelParameters

parameters) {


HWVar x = io.input(“A“, hwFloat(8,24));

HWVar prev = stream.offset(x, -1);

HWVar next = stream.offset(x, 1);

HWVar sum = prev + x + next;

HWVar result = sum / 3;

io.output(“B“, result, hwFloat(8,24));



Project Group: Bioinformatics Custom Computing

• use custom computing platforms for


– design accelerators for important algorithms, e.g.,

“short read mapping”, “sequence alignment”

• access to the hottest currently available custom


– Maxeler MaxStation

– Convey HC-1 Hybrid Core Computer

– programming with high-level design tools, no circuit

design knowledge required

• goals

– outperform the fastest available CPU and GPU


– validation of results with real data and users

(cooperation CeBiTeC Bielefeld)

images: Maxeler, Convey Computers

Maxeler MaxStation

Convey HC-1

~50’000 US$

• the project group is held in English

• website

Organization and further information



• lecture “Reconfigurable Computing” by Prof. Marco Platzner

– runs concurrently with the project group

– background knowledge on custom computing technology and tools

• advisors

– Heiner Giefers

– Marco Platzner

– Christian Plessl

• registration

– please register via the PAUL system and additionally send us an email

More magazines by this user
Similar magazines