Clay P. Breshears
Intel
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Clay P. Breshears.
Computing in Science and Engineering | 2001
Steve W. Bova; Clay P. Breshears; Henry A. Gabb; Bob Kuhn; Bill Magro; Rudolf Eigenmann; Greg Gaertner; Stefano Salvini; Howard Scott
The authors discuss methods for expressing and tuning the performance of parallel programs, using two programming models in the same program: distributed and shared memory. Such methods are important for anyone who uses these large machines for parallel programs as well as for those who study combinations of the two programming models. The article outlines applications in hydrology, computational chemistry, general science, seismic processing, aeronautics, and computational physics. Emphasizing both I/O and computation, they apply several numerical methods including finite element analysis, wave equation integration, linear algebra subroutines, fast Fourier transforms (FFTs), filters, and a variety of PDEs (partial differential equations) and ODEs (ordinary differential equations).
ACM Transactions on Mathematical Software | 2002
Richard J. Hanson; Clay P. Breshears; Henry A. Gabb
Pthreads is the library of POSIX standard functions for concurrent, multithreaded programming. The POSIX standard only defines an application programming interface (API) to the C programming language, not to Fortran. Many scientific and engineering applications are written in Fortran. Also, many of these applications exhibit functional, or task-level, concurrency. They would benefit from multithreading, especially on symmetric multiprocessors (SMP). We present here an interface to that part of the Pthreads library that is compatible with standard Fortran. The contribution consists of two primary source files: a Fortran module and a collection of C wrappers to Pthreads functions. The Fortran module defines the data structures, interface and initialization routines used to manage threads. The stability and portability of the Fortran API to Pthreads has been demonstrated using common mathematical computations on several SMP systems.
PLOS ONE | 2015
Hamid Mohamadi; Benjamin P. Vandervalk; Anthony Raymond; Shaun D. Jackman; Justin Chu; Clay P. Breshears; Inanc Birol
One essential application in bioinformatics that is affected by the high-throughput sequencing data deluge is the sequence alignment problem, where nucleotide or amino acid sequences are queried against targets to find regions of close similarity. When queries are too many and/or targets are too large, the alignment process becomes computationally challenging. This is usually addressed by preprocessing techniques, where the queries and/or targets are indexed for easy access while searching for matches. When the target is static, such as in an established reference genome, the cost of indexing is amortized by reusing the generated index. However, when the targets are non-static, such as contigs in the intermediate steps of a de novo assembly process, a new index must be computed for each run. To address such scalability problems, we present DIDA, a novel framework that distributes the indexing and alignment tasks into smaller subtasks over a cluster of compute nodes. It provides a workflow beyond the common practice of embarrassingly parallel implementations. DIDA is a cost-effective, scalable and modular framework for the sequence alignment problem in terms of memory usage and runtime. It can be employed in large-scale alignments to draft genomes and intermediate stages of de novo assembly runs. The DIDA source code, sample files and user manual are available through http://www.bcgsc.ca/platform/bioinfo/software/dida. The software is released under the British Columbia Cancer Agency License (BCCA), and is free for academic use.
Journal of Scientific Computing | 2004
Phu V. Luong; Clay P. Breshears; Le N. Ly
Numerical grid generation techniques play an important role in the numerical solution of partial differential equations on arbitrarily shaped regions. For coastal ocean modeling, in particular, a one-block grid covering the region under study is commonly used. Most bodies of water of interest have complicated coastlines; e.g., the Persian Gulf and Mediterranean Sea. Since such one-block grids are not boundary conforming, the number of unused grid points can be a relatively large portion of the entire domain space. Other disadvantages of using a one block grid include large memory requirements and long computer processing time. Multiblock grid generation and dual-level parallel techniques are used to overcome these problems. Message Passing Interface (MPI) is used to parallelize the Multiblock Grid Princeton Ocean Model (MGPOM) such that each grid block is assigned to a unique processor. Since not all grid blocks are of the same size, the workload varies between MPI processes. To alleviate this, OpenMP dynamic threading is used to improve load balance. Performance results from the MGPOM model on a one-block grid, a twenty block grid, and a forty-two block grid after a 90-day simulation for the Persian Gulf demonstrate the efficacy of the dual-level parallel code version.
Proceedings of the IFIP TC2/WG2.5 Working Conference on the Architecture of Scientific Software | 2000
Richard J. Hanson; Clay P. Breshears; Henry A. Gabb
Pthreads is the library of POSIX standard functions for concurrent, multithreaded programming. The POSIX standard only defines an application programming interface (API) to the C programming language, not to Fortran. Many scientific and engineering applications are written in Fortran. Also, many of these applications exhibit functional, or tasklevel, concurrency. They would benefit from multithreading, especially on symmetric multiprocessors (SMP). We summarize here an interface to that part of the Pthreads library that is compatible with standard Fortran. The contribution consists of two primary source files: a Fortran module and a collection of C wrappers to Pthreads functions. The Fortran module defines the data structures, interface and initialization routines used to manage threads. The stability and portability of the Fortran API to Pthreads is demonstrated using common mathematical computations on three different systems.
Archive | 2000
Steve W. Bova; Clay P. Breshears; Rudolf Eigenmann; Henry A. Gabb; Greg Gaertner; Bob Kuhn; Bill Magro; Stefano Salvini; Veer Vatsa; Greg Astfalk
Supercomputing, ACM/IEEE 2001 Conference | 2006
Phu Luong; Clay P. Breshears; Le N. Ly
Archive | 2000
Richard J. Hanson; Clay P. Breshears; Henry A. Gabb
Archive | 2001
Phu V. Luong; Clay P. Breshears; Le Ngoc Ly
Computing in Science and Engineering | 2001
Steven W. Bova; Clay P. Breshears; Henry A. Gabb; Bob Kuhn; Bill Magro; Rudolf Eigenmann; Greg Gaertner; Stefano Salvini; Howard Scott