Porting well known computer vision algorithms to low power, high performance computing devices such as SIMD linear processor arrays can be a challenging task. One especially useful such algorithm is the color-based particle filter, which... more
Porting well known computer vision algorithms to low power, high performance computing devices such as SIMD linear processor arrays can be a challenging task. One especially useful such algorithm is the color-based particle filter, which has been applied successfully by many research groups to the problem of tracking non-rigid objects. In this paper, we propose an implementation of the color-based particle filter suitable for SIMD processors. The main focus of our work is on the parallel computation of the particle weights. This step is the major bottleneck of standard implementations of the color-based particle filter since it requires the knowledge of the histograms of the regions surrounding each hypothesized target position. We expect this approach to perform faster in an SIMD processor than an implementation in a standard desktop computer even running at much lower clock speeds.
The testing and debugging of complex programs has always been one of the most cost-determining factors in software design. This is even more true when parallel programs are considered. Debugging them is often based on a debugging cycle.... more
The testing and debugging of complex programs has always been one of the most cost-determining factors in software design. This is even more true when parallel programs are considered. Debugging them is often based on a debugging cycle. First we make an assumption about the probable source of the bug, and next the validity of this assumption is verified. By repeatedly applying this technique, we try to limit the search-space until eventually the bug is resolved. There is a great need however for powerful high-level tools that enable the localization of bugs without indulging in this time-consuming error-prone debugging cycle. This paper describes such a high-level debugging tool, based on the animation of a program on its hierarchical-graphical representation.
Elliptic curves were being used only for mathematical studies until Miller and Koblitz introduced elliptic curves to crypto-community in 1985 with independent works. Since then, elliptic curves became one of the most significant tools in... more
Elliptic curves were being used only for mathematical studies until Miller and Koblitz introduced elliptic curves to crypto-community in 1985 with independent works. Since then, elliptic curves became one of the most significant tools in cryptography. Elliptic curve cryptography (ECC) started to be used for commercial purposes after 1990's. It provides a better level of security with the same key size than the widely used public key crypto-systems such as RSA. Nevertheless, time complexity is not at the desired stage. Hence, there have been several studies so far that aims to increase the time efficiency. The curve forms that are being used for speed oriented operations came a long way in terms of gathering lower degree formulas for scalar multiplication which is the core operation of ECC. However, one of the curve forms which is called Huff curve could not get competitive with the other forms such as Twisted Edwards, Jacobi Quartic, despite the studies have been made so far. This thesis focuses on increasing the efficiency of Huff form of elliptic curve by making use of mathematical and computational primitives.
Inversion-free point addition and doubling formulas which are being used in scalar multiplication algorithms, are proposed for the Huff curve which is defined as y (1+a x^2) = c x (1+d y^2). First idea is rather to embed the curve into a different projective space than the preferred for Huff curve previously. Thus, $\mathbb{P}^1 \times \mathbb{P}^1$ embedding is used instead of $\mathbb{P}^2$ embedding. The second idea is to make the use of isogenies in order to obtain an alternative doubling formula. Thanks to these two ideas, an improvement is achieved.
The best algorithm for point doubling on Huff curve was computed with 6M + 5S. The proposed doubling formula in this thesis can be computed with 8M. Also, operation count of mixed addition is decreased from 10M to 8M. Both sets of formulas are leading to an effective cost of 2M. Furthermore, they are shown to be 4-way parallel.
The paper presents advances in the discrete element modelling of underground excavation processes extending modelling possibilities as well as increasing computational efficiency. Efficient numerical models have been obtained using... more
The paper presents advances in the discrete element modelling of underground excavation processes extending modelling possibilities as well as increasing computational efficiency. Efficient numerical models have been obtained using techniques of parallel computing and coupling the discrete element method with finite element method. The discrete element algorithm has been applied to simulation of different excavation processes, using different tools, TBMs and roadheaders. Numerical examples of tunnelling process are included in the paper, showing results in the form of rock failure, damage in the material, cutting forces and tool wear. Efficiency of the code for solving large scale geomechanical problems is also shown.
This thesis describes the research underpinning and the development of a cross platform application for the analysis of simultaneously recorded multi-dimensional spike trains. These spike trains are believed to carry the neural code that... more
This thesis describes the research underpinning and the development of a cross platform application for the analysis of simultaneously recorded multi-dimensional spike trains. These spike trains are believed to carry the neural code that encodes information in a biological brain. A number of statistical methods already exist to analyse the temporal relationships between the spike trains. Historically hundreds of spike trains have been simultaneously recorded, however as a result of technological advances recording capability has increased. The analysis of thousands of simultaneously recorded spike trains is now a requirement. Effective analysis of large data sets requires software tools that fully exploit the capabilities of modern research computers and effectively manage and present large quantities of data. To be effective such software tools must; be targeted at the field under study, be engineered to exploit the full compute power of research computers and prevent information overload of the researcher despite presenting a large and complex data set. The Visualisation Studio application produced in this thesis brings together the fields of neuroscience, software engineering and information visualisation to produce a software tool that meets these criteria. A visual programming language for neuroscience is produced that allows for extensive pre-processing of spike train data prior to visualisation. The computational challenges of analysing thousands of spike trains are addressed using parallel processing to fully exploit the modern researcher’s computer hardware. In the case of the computationally intensive pairwise cross-correlation analysis the option to use a high performance compute cluster (HPC) is seamlessly provided. Finally the principles of information visualisation are applied to key visualisations in neuroscience so that the researcher can effectively manage and visually explore the resulting data sets. The final visualisations can typically represent data sets 10 times larger than previously while remaining highly interactive.
Process interaction models are an integral component of parallel processing theory and practice, defining the means by which concurrent processes interact; where "interaction" means not only the exchange of data but also synchronization... more
Process interaction models are an integral component of parallel processing theory and practice, defining the means by which concurrent processes interact; where "interaction" means not only the exchange of data but also synchronization between processes. In searching for a general purpose model to program parallel machines, it is desirable to provide portability, an expressiveness which does not distract the programmer from the task in hand and efficiency independent of the memory architecture of the machine.
This book discusses these issues and presents a new process interaction model. Ease is described as a general purpose, high level, imperative programming language. A program is a collection of processes which execute concurrently, constructing and interacting via strictly typed shared data structures called "Contexts".
The paper presents advances in the discrete element modelling of underground excavation processes extending modelling possibilities as well as increasing computational efficiency. Efficient numerical models have been obtained using... more
The paper presents advances in the discrete element modelling of underground excavation processes extending modelling possibilities as well as increasing computational efficiency. Efficient numerical models have been obtained using techniques of parallel computing and coupling the discrete element method with finite element method. The discrete element algorithm has been applied to simulation of different excavation processes, using different tools, TBMs and roadheaders. Numerical examples of tunnelling process are included in the paper, showing results in the form of rock failure, damage in the material, cutting forces and tool wear. Efficiency of the code for solving large scale geomechanical problems is also shown.
ABSTRACT WebSPN is a modeling tool for the analysis of non-Markovian stochastic Petri nets that we developed some years ago. Its solution algorithm is based on a discretization of time and an approximation of non-exponentially distributed... more
With increasing need of higher computational capacity and speed for visual data such as images & videos, Multicore computing technology has become a viable solution. Graphite multicore architecture simulator provides a necessary parallel... more
With increasing need of higher computational capacity and speed for visual data such as images & videos, Multicore computing technology has become a viable solution. Graphite multicore architecture simulator provides a necessary parallel computing environment not only for computational test but also optimized modelling. This paper discusses about the efficient model for multi-core architecture based on image processing algorithm incorporating both Dynamic Voltage Frequency Scaling (DVFS) & concept of heterogeneity.
Message passing, as implemented in message passing interface (MPI), has become the industry standard for programming on distributed memory parallel architectures, while the threading on shared memory machines is typically implemented in... more
Message passing, as implemented in message passing interface (MPI), has become the industry standard for programming on distributed memory parallel architectures, while the threading on shared memory machines is typically implemented in OpenMP. ...
Abstract-The IC* project is an effort to create an environment for the design, specification, and development of complex systems such as communication protocols, parallel machines, and distributed systems. The basis of this work is the... more
Abstract-The IC* project is an effort to create an environment for the design, specification, and development of complex systems such as communication protocols, parallel machines, and distributed systems. The basis of this work is the IC* model of parallel computation. In this model, a ...