Papers by Edusmildo Orozco
Asserting parallel computational thinking into an undergraduate computer science curriculum
PsycEXTRA Dataset, 2011
On the parallel generation of coastal arrays /
Tables. Typescript (photocopy). Thesis (M.S.)--University of Puerto Rico, Mayagüez Campus, 1998. ... more Tables. Typescript (photocopy). Thesis (M.S.)--University of Puerto Rico, Mayagüez Campus, 1998. Includes bibliographical references (leaf 59).
A Systolic Array Based Architecture for Implementing Multivariate Polynomial Interpolation Tasks
2009 International Conference on Reconfigurable Computing and FPGAs, 2009
Multivariate polynomial interpolation is a key computation for the reverse engineering of genetic... more Multivariate polynomial interpolation is a key computation for the reverse engineering of genetic networks modeled by finite fields. Faster implementations of such algorithms are needed to cope with the increasing quantity and complexity of genetic data. Our implementation of an interpolation methodology to FPGA has led us to identify a systolic array-based hardware architecture that is useful for performing at

International Journal of Reconfigurable Computing, 2010
Multivariate polynomial interpolation is a key computation in many areas of science and engineeri... more Multivariate polynomial interpolation is a key computation in many areas of science and engineering and, in our case, is crucial for the solution of the reverse engineering of genetic networks modeled by finite fields. Faster implementations of such algorithms are needed to cope with the increasing quantity and complexity of genetic data. We present a new algorithm based on Lagrange interpolation for multivariate polynomials that not only identifies redundant variables in the data and generates polynomials containing only nonredundant variables, but also computes exclusively on a reduced data set. Implementation of this algorithm to FPGA led us to identify a systolic array-based architecture useful for performing three interpolation subtasks: Boolean cover, distinctness, and polynomial addition. We present a generalization of these tasks that simplifies their mapping to the systolic array, and control and storage considerations to guarantee correct results for input sequences longer...
Reduced linear modular systems
Contemporary Mathematics, 2008

Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays
Scalable Computing : Practice and Experience, 2007
Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays by Maya B.... more Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays by Maya B. Gokhale and Paul S. Graham Springer, 2005, 238 pp. ISBN-13 978-0387-26105-8, $87.20 Reconfigurable Computing Accelerating Computation with Field-Programmable Gate Arrays is an expository and easy to digest book. The authors are recognized leaders with many years of experience on the field of reconfigurable computing. The book is written so that non-specialists can understand the principles, techniques and algorithms. Each chapter has many excellent references for interested readers. It surveys methods, algorithms, programming languages and applications targeted to reconfigurable computing. Automatic generation of parallel code from a sequential program on conventional micro-processor architectures remains an open problem. Nevertheless, a wide range of computationally intensive applications have benefited from many tools developed to tackle such a problem. For RC, it is even a much harder problem (perhaps 10x and up) and intense research is being devoted to make RC a common-place practical tool. The aim of the authors is threefold. First, guide the readers to know current issues on HLL for RC. Second, help the readers understand the intricate process of algorithmic-to-hardware compilation. And third, show that, even though this process is painful, if the application is suitable for RC the gains in performance are huge. The book is divided into two parts. The first part contains four chapters about reconfigurable computing and languages. Chapter 1 presents an introduction of RC, contrasting conventional fixed instruction microprocessors with RC architectures. This chapter also contains comprehensive reference material for further reading. Chapter 2 introduces reconfigurable logic devices by explaining the basic architecture and configuration of FPGAs. Chapter 3 deals with RC systems by discussing how parallel processing is achieved on reconfigurable computers and also gives a survey of RC systems today. Then, in chapter 4, languages, compilation, debugging and their related manual vs. automatic issues are discussed. The second part of the book comprises five chapters about applications of RC. Chapter 5 and 6 discuss digital signal and image processing applications. Chapter 7 covers the application of RC to secure network communications. The aim of Chapter 8 is to discuss some important bioinformatics applications for which RC is a good candidate, their algorithmic problems and hardware implementations. Finally, Chapter 9 covers two applications of reconfigurable supercomputers. The first one is a simulation of radiative heat transfer and the second one models large urban road traffic. This book is neither a technical nor a text book, but in the opinion of this reviewer, it is an excellent state-of-the-art review of RC and would be a worthwhile acquisition by anyone seriously considering speeding up a specific application. On the downside, it is somewhat disappointing that the book does not contain more information about HLL tools that could be used to help close the gap between traditional HPC community and the raw computing power of RC. Edusmildo Orozco, Department of Computer Science, University Of Puerto Rico at Rio Piedras.
A Curricular Experience With Parallel Computational Thinking: A Four Years Journey
Abstract—In this article we document the process by which we inserted parallel computational thin... more Abstract—In this article we document the process by which we inserted parallel computational thinking throughout the undergraduate computer science program at the University of Puerto Rico–Rı́o Piedras. Our target audience is faculty and other stakeholders from CS departments similar to ours that might be interested in pursuing a similar endeavor. We discuss our initial motivations, the curricular redesign strategy, results, and experiences, as well as the educational resources created along the way. I.

It is desirable to have efficient mathematical methods to extract information about regulatory it... more It is desirable to have efficient mathematical methods to extract information about regulatory iterations between genes from repeated measurements of gene transcript concentrations. One piece of information is of interest when the dynamics reaches a steady state. In this paper we develop tools that enable the detection of steady states that are modeled by fixed points in discrete finite dynamical systems. We discuss two algebraic models, a univariate model and a multivariate model. We show that these two models are equivalent and that one can be converted to the other by means of a discrete Fourier transform. We give a new, more general definition of a linear finite dynamical system and we give a necessary and sufficient condition for such a system to be a fixed point system, that is, all cycles are of length one. We show how this result for generalized linear systems can be used to determine when certain nonlinear systems (monomial dynamical systems over finite fields) are fixed po...

On some algorithms for reverse engineering certain finite dynamical systems
There are two general problems related to finite dynamical systems (FDS): the analysis and the sy... more There are two general problems related to finite dynamical systems (FDS): the analysis and the synthesis (also known as the reverse engineering ) problems. In the former, we are interested in uncovering the sequential structure of a given FDS. In the latter, given a prescribed structure, we have to find an appropriate FDS that accomplishes the intended behavior. In this work we reverse engineer FDSs related to two recent applications. One is the problem of finding an optimal linear (i.e., a matrix) FDS over the integers mod a prime p to efficiently compute FFTs with linear symmetries. For this, we propose O(p 2 log p) and O(p 3 log p) time algorithms for the two and three dimensional cases as opposed to O(p6) and O(p12) time of exhaustive searchs, respectively. Also, we characterize those important cases for which the symmetric FFT with prime edge-length can be computed through a single cyclic convolution. For the second problem, the reverse engineering problem in bioinformatics, we...

Proceedings of the 50th ACM Technical Symposium on Computer Science Education
Exploring Computer Science (ECS) [1] spawned from the need to provide access to Computer Science ... more Exploring Computer Science (ECS) [1] spawned from the need to provide access to Computer Science to everyone in the US. The success and commitment to equity and diversity of the ECS curriculum in Latina/o communities inspired an interdisciplinary group of educators from the University of Puerto Rico to tackle the lack of K-12 CSE on the island. This group recognized the need to implode the self-perception of Latinas (os) as being foreign to computing by educating them about Computer Science. Teachers were identified as the catalyst change agents to transform Puerto Ricans students into contributors and creators of technology through computing. The intended audience for this panel consists of practitioners and creators of curriculum looking for creative strategies to engage students from diverse cultural backgrounds in computing using their native language.
In many important applications of multidimensional DFTs, such as x-ray crystallography, the input... more In many important applications of multidimensional DFTs, such as x-ray crystallography, the input/output data contains symmetries. This work gives support to some new and promising ideas proposed by Seguel to compute the fast Fourier Transform for data endowed with symmetries. Sequential experiments have been done and we expect to write parallel programs to explore our ideas.
In this article we document the process by which we inserted parallel computational thinking thro... more In this article we document the process by which we inserted parallel computational thinking throughout the undergraduate computer science program at the University of Puerto Rico-Río Piedras. Our target audience is faculty and other stakeholders from CS departments similar to ours that might be interested in pursuing a similar endeavor. We discuss our initial motivations, the curricular redesign strategy, results, and experiences, as well as the educational resources created along the way.
Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays
Modules to Teach Parallel and Distributed Computing Using MPI for Python and Disco
2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2016
Computing strongly-connected components of graphs and their periods using a Pregel model

Optimizing Symmetric FFTs with Prime Edge-Length
Iccsa, 2004
It is known that a multidimensional FFT with prime edge-length p and linear symmetries in its inp... more It is known that a multidimensional FFT with prime edge-length p and linear symmetries in its inputs, given by a matrix S, can be computed efficiently in terms of cyclic convolutions by determining a nonsingular matrix M that commutes with S and that minimizes the number of MS-orbits. To date the only known method for determining such an M is by exhaustion, which takes time O(p 6) in the two-dimensional case and time O(p 12) in the three-dimensional case. In this work we study methods for determining M directly. Our results include algorithms which, assuming the availability of primitive polynomials, compute M in time O(p) in the two-dimensional and, in a special three-dimensional case that is important for crystallographers. Furthermore, also assuming the availability of primitive polynomials of degree three, we give an O(p 3) time algorithm to compute the M-minimal three-dimensional case.
A New Prime Edge Length Crystallographic FFT
Proceedings of the International Conference on Computational Science Part Ii, 2002
A new method for computing the discrete Fourier transform (DFT) of data endowed with linear symme... more A new method for computing the discrete Fourier transform (DFT) of data endowed with linear symmetries is presented. The method minimizes operations and memory space requirements by eliminating redundant data and computations induced by the symmetry on the DFT equations. The arithmetic complexity of the new method is always lower, and in some cases significantly lower than that of its

Optimizing Symmetric FFTs with Prime Edge-Length
Lecture Notes in Computer Science, 2004
It is known that a multidimensional FFT with prime edge-length p and linear symmetries in its inp... more It is known that a multidimensional FFT with prime edge-length p and linear symmetries in its inputs, given by a matrix S, can be computed efficiently in terms of cyclic convolutions by determining a nonsingular matrix M that commutes with S and that minimizes the number of MS-orbits. To date the only known method for determining such an M is by exhaustion, which takes time O(p 6) in the two-dimensional case and time O(p 12) in the three-dimensional case. In this work we study methods for determining M directly. Our results include algorithms which, assuming the availability of primitive polynomials, compute M in time O(p) in the two-dimensional and, in a special three-dimensional case that is important for crystallographers. Furthermore, also assuming the availability of primitive polynomials of degree three, we give an O(p 3) time algorithm to compute the M-minimal three-dimensional case.
A Parallel Solution to Reverse Engineering Genetic Networks
Lecture Notes in Computer Science, 2004
Abstract. The reverse engineering problem is the problem of, given a set of measurements over a g... more Abstract. The reverse engineering problem is the problem of, given a set of measurements over a genetic network, determine the function that fits the data. In this work we develop a solution to this problem that uses a finite field model and that takes advantage of the efficient ...
A New Prime Edge Length Crystallographic FFT
Lecture Notes in Computer Science, 2002
A new method for computing the discrete Fourier transform (DFT) of data endowed with linear symme... more A new method for computing the discrete Fourier transform (DFT) of data endowed with linear symmetries is presented. The method minimizes operations and memory space requirements by eliminating redundant data and computations induced by the symmetry on the DFT equations. The arithmetic complexity of the new method is always lower, and in some cases significantly lower than that of its
Uploads
Papers by Edusmildo Orozco