Improving Data Locality of RNA Secondary Structure Prediction Code

An approach allowing us to improve the locality of RNA Secondary Structure Prediction code is proposed. We discuss the application of this technique to automatic loop nest tiling for the Nussinov algorithm. The approach requires an exact representation of dependences in the form of tuple relations and calculating the transitive closure of dependence graphs. First, to improve code locality, 3-d rectangular tiles are formed within the 3-d iteration space of the Nussinov loop nest. Then tiles are corrected to establish code validity by means of applying the exact transitive closure of a dependence graph. The approach has been implemented as a part of the polyhedral TRACO compiler. The experimental results presents the speed-up factor of optimized code. Related work and future tasks are outlined.

[1]  William Pugh,et al.  The Omega Library interface guide , 1995 .

[2]  Roger D. Chamberlain,et al.  Rapid RNA Folding: Analysis and Acceleration of the Zuker Recurrence , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[3]  Li Liu,et al.  Efficient Nonserial Polyadic Dynamic Programming on the Cell Processor , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[4]  Marek Palkowski Finding Free Schedules for RNA Secondary Structure Prediction , 2016, ICAISC.

[5]  Uday Bondhugula,et al.  Tiling for Dynamic Scheduling , 2014 .

[6]  Francisco Almeida,et al.  Optimal tiling for the RNA base pairing problem , 2002, SPAA '02.

[7]  William Pugh,et al.  An Exact Method for Analysis of Value-based Array Data Dependences , 1993, LCPC.

[8]  Marek Palkowski,et al.  Tiling arbitrarily nested loops by means of the transitive , 2016, Int. J. Appl. Math. Comput. Sci..

[9]  Ninghui Sun,et al.  Locality and Parallelism Optimization for Dynamic Programming Algorithm in Bioinformatics , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[10]  Wlodzimierz Bielecki,et al.  Using basis dependence distance vectors in the modified Floyd–Warshall algorithm , 2015, J. Comb. Optim..

[11]  Martin Griebl,et al.  Automatic Parallelization of Loop Programs for Distributed Memory Architectures , 2004 .

[12]  Uday Bondhugula,et al.  A practical automatic polyhedral parallelizer and locality optimizer , 2008, PLDI '08.