For Three Easy Payments: Scoring Peptides with Portable Performance Using Specmaster

In shotgun proteomics, matching peptides to tandem mass spectrometry data is a computationally expensive process that in some cases can take days using conventional software packages. Even though many existing search engines such as Sequest, Myrimatch, and X!Tandem now exploit multiple processors via threading libraries, they leave much on the table in terms of performance and don't exploit computational accelerators. In this paper, we present Spec master, a Myri-match implementation written in OpenCL with performance portability in mind. We demonstrate the same Spec master code base outperforming Myrimatch by several fold on 32-core AMD and Intel x86 machines and by nearly an order of magnitude on both an AMD Radeon 7970 and Nvidia GTX 480. We describe the rationale behind Specmaster's design, and how to gain portable performance on a plethora of architectures using OpenCL.