We accelerated the OpenCL backend of pyPaSWAS sequence aligner

Reading Time: 2 minutes

Last year we accelerated the OpenCL-code in PaSWAS, which is open source software to do DNA/RNA/protein sequence alignment and trimming. It has users world-wide in universities, research groups and industry.

Below you’ll find the benchmark results of our acceleration work. You can also test out yourself, as the code is public. In the readme-file you can learn more about the idea of the software. Lots of background information is described in these two papers:

We chose PaSWAS because we really like bio-informatics and computational chemistry – the science is interesting, the problems are complex and the potential GPU-speedup is real. Other examples of such software we worked on are GROMACS and TeraChem.

The efforts Stream HPC put into accelerating pyPaSWAS are very much appreciated. The speed-up has a direct effect on our ability to run even larger data sets. Also, Stream HPC shows that having computer science engineers on board life science projects is of great importance.

Sven Warris – author of PyPaSWAS

Benchmarks

A number of different datasets were used for the query and database. The comparison is between the performance of the original code and our branch. The scoring matrix used is BLOSUM80, with all other parameters set to default. NOTE: The results below are for the non-affine gap method.

An example of how a benchmark is run, is: time python pypaswas.py --loglevel=info -M BLOSUM80 data/canisLupusAnkyrinPRED.fasta ../canisLupusFamiliaris.faa_4284.faa --device_type=GPU --platform_name=AMD --framework=OpenCL --device=1

You can change the variables as we put in the dataset description.

Dataset 1

  • Query file: canisLupusAnkyrin.fasta
  • Target file: canisLupusAnkyrinPRED.fasta
  • Number of queries: 8
  • Number of targets: 346

OpenCL DeviceOriginalStreamSpeedup
TimeTimeGCUPSTimeGCUPS
Dual Intel Xeon CPU E5-2650 v3 @ 2.30GHz0m48.244s0.03XX
AMD Firepro s9300 (only 1 GPU used)0m16.648s0.090m4.841s0.475.2x
AMD Radeon Instinct MI250m11.464s0.130m3.938s0.453.4x
NVIDIA GeForce GTX9800m19.943s0.070m4.131s0.385.4x

Dataset 2

  • Query file: canisLupusAnkyrin.fasta
  • Target file: canisLupusFamiliaris.faa_4284.faa
  • Number of queries: 8
  • Number of targets: 4284

OpenCL DeviceOriginalStreamSpeedup
TimeTimeGCUPSTimeGCUPS
Dual Intel Xeon CPU E5-2650 v3 @ 2.30GHz5m16.338s0.03XX
AMD Firepro s9300 (only 1 GPU used)1m30.050s0.120m9.644s1.4111.7x
AMD Radeon Instinct MI250m55.800s0.190m9.403s1.246.5x
NVIDIA GeForce GTX9802m19.006s0.070m13.478s0.8111.5x

Dataset 3

  • Query file: canisLupusAnkyrinPRED.fasta
  • Target file: canisLupusFamiliaris.faa_4284.faa
  • Number of queries: 346
  • Number of targets: 4284

OpenCL DeviceoriginalStreamSpeedup
TimeTimeGCUPSTimeGCUPS
Dual Intel Xeon CPU E5-2650 v3 @ 2.30GHz95m40.606s0.11XX
AMD Firepro s9300 (only 1 GPU used)16m41.019s0.632m11.045s4.907.7x
AMD Radeon Instinct MI2510m12.648s1.032m8.425s4.964.8x
NVIDIA GeForce GTX98039m13.160s0.273m21.758s3.1511.6x

Thanks

Big thanks go to Sven Warris, the author of the software and first author of the papers, who supported us with papers and background info to make this happen.

If you want to use the software for your own research, download a release at https://github.com/swarris/pyPaSWAS/releases

 

Related Posts

default

Join us at the Dutch eScience Symposium 2019 in Amsterdam

Soon there will be another Dutch eScience Symposium 2019 in Amsterdam. We thought it might be a good place to meet and listen to e-science talks. Stre ...

screenshot-python-is-scripting

Do you have our GPU DNA?

This is the first question to warm up. Python-programmers are often users of GPU-libraries, not the builders of those libraries.In January 2019 I  ...

ISC-HPC-logo

Stream Team at ISC

...  we got known in the HPC-world for our expertise on OpenCL, we now have many years of experience in CUDA and OpenMP. To get there, ...

default

GPU-related PHD positions at Eindhoven University and Twente University

We're collaborating with a few universities on formal verification of GPU code. The project is called ChEOPS: verified Construction of corrEct and Opt ...