scispace - formally typeset
Search or ask a question

Showing papers by "Rezaul Chowdhury published in 2011"


Proceedings ArticleDOI
04 Jun 2011
TL;DR: The Pochoir stencil compiler allows a programmer to write a simple specification of a stencil in a domain-specific stencil language embedded in C++ which the Pochir compiler then translates into high-performing Cilk code that employs an efficient parallel cache-oblivious algorithm.
Abstract: A stencil computation repeatedly updates each point of a d-dimensional grid as a function of itself and its near neighbors. Parallel cache-efficient stencil algorithms based on "trapezoidal decompositions" are known, but most programmers find them difficult to write. The Pochoir stencil compiler allows a programmer to write a simple specification of a stencil in a domain-specific stencil language embedded in C++ which the Pochoir compiler then translates into high-performing Cilk code that employs an efficient parallel cache-oblivious algorithm. Pochoir supports general d-dimensional stencils and handles both periodic and aperiodic boundary conditions in one unified algorithm. The Pochoir system provides a C++ template library that allows the user's stencil specification to be executed directly in C++ without the Pochoir compiler (albeit more slowly), which simplifies user debugging and greatly simplified the implementation of the Pochoir compiler itself. A host of stencil benchmarks run on a modern multicore machine demonstrates that Pochoir outperforms standard parallelloop implementations, typically running 2-10 times faster. The algorithm behind Pochoir improves on prior cache-efficient algorithms on multidimensional grids by making "hyperspace" cuts, which yield asymptotically more parallelism for the same cache efficiency.

364 citations


Journal ArticleDOI
TL;DR: The authors' nonuniform fast Fourier transform-based docking algorithm is extended to include an adaptive search phase (both translational and rotational) and thereby speed up its execution and is called F2Dock, which is structured to incorporate Lennard-Jones potential and reranking docking solutions based on desolvation energy.
Abstract: The functions of proteins are often realized through their mutual interactions. Determining a relative transformation for a pair of proteins and their conformations which form a stable complex, reproducible in nature, is known as docking. It is an important step in drug design, structure determination, and understanding function and structure relationships. In this paper, we extend our nonuniform fast Fourier transform-based docking algorithm to include an adaptive search phase (both translational and rotational) and thereby speed up its execution. We have also implemented a multithreaded version of the adaptive docking algorithm for even faster execution on multicore machines. We call this protein-protein docking code {\rm F}^2Dock (F^2= {\rm \underline{F}ast\underline{F}ourier}). We have calibrated {\rm F}^2Dock based on an extensive experimental study on a list of benchmark complexes and conclude that {\rm F}^2Dock works very well in practice. Though all docking results reported in this paper use shape complementarity and Coulombic-potential-based scores only, {\rm F}^2Dock is structured to incorporate Lennard-Jones potential and reranking docking solutions based on desolvation energy .

54 citations


01 Jan 2011
TL;DR: Pochoir is a compiler for a domain-specific language embedded in C++ which produces excellent code from a simple specification of a desired stencil computation and automatically parallelizes and optimizes cache performance.
Abstract: Pochoir is a compiler for a domain-specific language embedded in C++ which produces excellent code from a simple specification of a desired stencil computation. Pochoir allows a wide variety of boundary conditions to be specified, and it automatically parallelizes and optimizes cache performance. Benchmarks of Pochoir-generated code demonstrate a performance advantage of 2‐10 times over standard parallel loop implementations. This paper describes the Pochoir specification language and shows how a wide range of stencil computations can be easily specified.

18 citations


Journal ArticleDOI
TL;DR: The 'Dynamic Packing Grid' (DPG), a neighborhood data structure for maintaining and manipulating flexible molecules and assemblies, is presented for efficient computation of binding affinities in drug design or in molecular dynamics calculations.
Abstract: Motivation: We present the ‘Dynamic Packing Grid’ (DPG), a neighborhood data structure for maintaining and manipulating flexible molecules and assemblies, for efficient computation of binding affinities in drug design or in molecular dynamics calculations. Results:DPG can efficiently maintain the molecular surface using only linear space and supports quasi-constant time insertion, deletion and movement (i.e. updates) of atoms or groups of atoms. DPG also supports constant time neighborhood queries from arbitrary points. Our results for maintenance of molecular surface and polarization energy computations using DPG exhibit marked improvement in time and space requirements. Availability: http://www.cs.utexas.edu/~bajaj/cvc/software/DPG.shtml Contact: bajaj@cs.utexas.edu Supplementary information:Supplementary data are available at Bioinformatics online.

12 citations


01 Jan 2011
TL;DR: The Dynamic Packing Grid (DPG) as mentioned in this paper is a neighborhood data structure for maintaining and manipulating flexible molecules and assemblies for efficient computation of binding affinities in drug design or in molecular dynamics calculations.
Abstract: Motivation: We present the ‘Dynamic Packing Grid’ (DPG), a neighborhood data structure for maintaining and manipulating flexible molecules and assemblies, for efficient computation of binding affinities in drug design or in molecular dynamics calculations. Results: DPG can efficiently maintain the molecular surface using only linear space and supports quasi-constant time insertion, deletion and movement (i.e. updates) of atoms or groups of atoms. DPG also supports constant time neighborhood queries from arbitrary points. Our results for maintenance of molecular surface and polarization energy computations using DPG exhibit marked improvement in time and space requirements. Availability: http://www.cs.utexas.edu/~bajaj/cvc/software/DPG.shtml