13 research outputs found
バルク計算のための効率的なGPU実装手法
広島大学(Hiroshima University)博士(工学)Doctor of Engineeringdoctora
Accelerating 3D Cellular Automata Computation with GP GPU in the Context of Integrative Biology
In this paper we explore the possibility of using GP GPU technology (General Purpose Graphical Processing Unit) in the context of integrative biology. For more than a decade, 3D cellular automata represent a promising approach to handling multi-scale modeling of organs. However, the computing time of such huge automata has limited the experiments. Current GP GPUs now allow the execution of hundreds of threads with a regular PC hosting a device card. This capability can be exploited in the case of cellular automata where each cell has to compute the same algorithm. We have implemented two algorithms to compare different memory usage. The performances show very significant speedup even when compared to the latest CPU processors. The interconnection of GP GPU boards and servers will be considered to build a local grid of hybrid machines
Flexible high performance agent based modelling on graphics card hardware
Agent Based Modelling is a technique for computational simulation of complex interacting systems, through the specification of the behaviour of a number of autonomous individuals acting simultaneously. This is a bottom up approach, in contrast with the top down one of modelling the behaviour of the whole system through dynamic mathematical equations. The focus on individuals is considerably more computationally demanding, but provides a natural and flexible environment for studying systems demonstrating emergent behaviour. Despite the obvious parallelism, traditionally frameworks for Agent Based Modelling fail to exploit this and are often based on highly serialised mobile discrete agents. Such an approach has serious implications, placing stringent limitations on both the scale of models and the speed at which they may be simulated. Serial simulation frameworks are also unable to exploit multiple processor architectures which have become essential in improving overall processing speed.
This thesis demonstrates that it is possible to use the parallelism of graphics card hardware as a mechanism for high performance Agent Based Modelling. Such an approach is in contrast with alternative high performance architectures, such as distributed grids and specialist computing clusters, and is considerably more cost effective. The use of consumer hardware makes the techniques described available to a wide range of users, and the use of automatically generated simulation code abstracts the process of mapping algorithms to the specialist hardware. This approach avoids the steep learning curve associated with the graphics card hardware's data parallel architecture, which has previously limited the uptake of this emerging technology. The performance and flexibility of this approach are considered through the use of benchmarking and case studies. The resulting speedup and locality of agent data within the graphics processor also allow real time visualisation of computationally and demanding high population models
AN EXTENDABLE VISUALIZATION AND USER INTERFACE DESIGN FOR TIME-VARYING MULTIVARIATE GEOSCIENCE DATA
Geoscience data has unique and complex data structures, and its visualization has been challenging due to a lack of effective data models and visual representations to tackle the heterogeneity of geoscience data. In today’s big data era, the needs of visualizing geoscience data become urgent, especially driven by its potential value to human societies, such as environmental disaster prediction, urban growth simulation, and so on. In this thesis, I created a novel geoscience data visualization framework and applied interface automata theory to geoscience data visualization tasks. The framework can support heterogeneous geoscience data and facilitate data operations. The interface automata can generate a series of interactions that can efficiently impress users, which also provides an intuitive method for visualizing and analysis geoscience data. Except clearly guided users to the specific visualization, interface automata can also enhance user experience by eliminating automation surprising, and the maintenance overhead is also reduced. The new framework was applied to INSIGHT, a scientific hydrology visualization and analysis system that was developed by the Nebraska Department of Natural Resources (NDNR). Compared to the existing INSIGHT solution, the new framework has brought many advantages that do not exist in the existing solution, which proved that the framework is efficient and extendable for visualizing geoscience data.
Adviser: Hongfeng Y
AN EXTENDABLE VISUALIZATION AND USER INTERFACE DESIGN FOR TIME-VARYING MULTIVARIATE GEOSCIENCE DATA
Geoscience data has unique and complex data structures, and its visualization has been challenging due to a lack of effective data models and visual representations to tackle the heterogeneity of geoscience data. In today’s big data era, the needs of visualizing geoscience data become urgent, especially driven by its potential value to human societies, such as environmental disaster prediction, urban growth simulation, and so on. In this thesis, I created a novel geoscience data visualization framework and applied interface automata theory to geoscience data visualization tasks. The framework can support heterogeneous geoscience data and facilitate data operations. The interface automata can generate a series of interactions that can efficiently impress users, which also provides an intuitive method for visualizing and analysis geoscience data. Except clearly guided users to the specific visualization, interface automata can also enhance user experience by eliminating automation surprising, and the maintenance overhead is also reduced. The new framework was applied to INSIGHT, a scientific hydrology visualization and analysis system that was developed by the Nebraska Department of Natural Resources (NDNR). Compared to the existing INSIGHT solution, the new framework has brought many advantages that do not exist in the existing solution, which proved that the framework is efficient and extendable for visualizing geoscience data.
Adviser: Hongfeng Y
A unifying mathematical definition enables the theoretical study of the algorithmic class of particle methods.
Mathematical definitions provide a precise, unambiguous way to formulate concepts. They also provide a common language between disciplines. Thus, they are the basis for a well-founded scientific discussion. In addition, mathematical definitions allow for deeper insights into the defined subject based on mathematical theorems that are incontrovertible under the given definition. Besides their value in mathematics, mathematical definitions are indispensable in other sciences like physics, chemistry, and computer science. In computer science, they help to derive the expected behavior of a computer program and provide guidance for the design and testing of software. Therefore, mathematical definitions can be used to design and implement advanced algorithms.
One class of widely used algorithms in computer science is the class of particle-based algorithms, also known as particle methods. Particle methods can solve complex problems in various fields, such as fluid dynamics, plasma physics, or granular flows, using diverse simulation methods, including Discrete Element Methods (DEM), Molecular Dynamics (MD), Reproducing Kernel Particle Methods (RKPM), Particle Strength Exchange (PSE), and Smoothed Particle Hydrodynamics (SPH). Despite the increasing use of particle methods driven by improved computing performance, the relation between these algorithms remains formally unclear. In particular, particle methods lack a unifying mathematical definition and precisely defined terminology. This prevents the determination of whether an algorithm belongs to the class and what distinguishes the class.
Here we present a rigorous mathematical definition for determining particle methods and demonstrate its importance by applying it to several canonical algorithms and those not previously recognized as particle methods. Furthermore, we base proofs of theorems about parallelizability and computational power on it and use it to develop scientific computing software.
Our definition unified, for the first time, the so far loosely connected notion of particle methods. Thus, it marks the necessary starting point for a broad range of joint formal investigations and applications across fields.:1 Introduction
1.1 The Role of Mathematical Definitions
1.2 Particle Methods
1.3 Scope and Contributions of this Thesis
2 Terminology and Notation
3 A Formal Definition of Particle Methods
3.1 Introduction
3.2 Definition of Particle Methods
3.2.1 Particle Method Algorithm
3.2.2 Particle Method Instance
3.2.3 Particle State Transition Function
3.3 Explanation of the Definition of Particle Methods
3.3.1 Illustrative Example
3.3.2 Explanation of the Particle Method Algorithm
3.3.3 Explanation of the Particle Method Instance
3.3.4 Explanation of the State Transition Function
3.4 Conclusion
4 Algorithms as Particle Methods
4.1 Introduction
4.2 Perfectly Elastic Collision in Arbitrary Dimensions
4.3 Particle Strength Exchange
4.4 Smoothed Particle Hydrodynamics
4.5 Lennard-Jones Molecular Dynamics
4.6 Triangulation refinement
4.7 Conway's Game of Life
4.8 Gaussian Elimination
4.9 Conclusion
5 Parallelizability of Particle Methods
5.1 Introduction
5.2 Particle Methods on Shared Memory Systems
5.2.1 Parallelization Scheme
5.2.2 Lemmata
5.2.3 Parallelizability
5.2.4 Time Complexity
5.2.5 Application
5.3 Particle Methods on Distributed Memory Systems
5.3.1 Parallelization Scheme
5.3.2 Lemmata
5.3.3 Parallelizability
5.3.4 Bounds on Time Complexity and Parallel Scalability
5.4 Conclusion
6 Turing Powerfulness and Halting Decidability
6.1 Introduction
6.2 Turing Machine
6.3 Turing Powerfulness of Particle Methods Under a First Set of Constraints
6.4 Turing Powerfulness of Particle Methods Under a Second Set of Constraints
6.5 Halting Decidability of Particle Methods
6.6 Conclusion
7 Particle Methods as a Basis for Scientific Software Engineering
7.1 Introduction
7.2 Design of the Prototype
7.3 Applications, Comparisons, Convergence Study, and Run-time Evaluations
7.4 Conclusion
8 Results, Discussion, Outlook, and Conclusion
8.1 Problem
8.2 Results
8.3 Discussion
8.4 Outlook
8.5 Conclusio
Cellular Automata
Modelling and simulation are disciplines of major importance for science and engineering. There is no science without models, and simulation has nowadays become a very useful tool, sometimes unavoidable, for development of both science and engineering. The main attractive feature of cellular automata is that, in spite of their conceptual simplicity which allows an easiness of implementation for computer simulation, as a detailed and complete mathematical analysis in principle, they are able to exhibit a wide variety of amazingly complex behaviour. This feature of cellular automata has attracted the researchers' attention from a wide variety of divergent fields of the exact disciplines of science and engineering, but also of the social sciences, and sometimes beyond. The collective complex behaviour of numerous systems, which emerge from the interaction of a multitude of simple individuals, is being conveniently modelled and simulated with cellular automata for very different purposes. In this book, a number of innovative applications of cellular automata models in the fields of Quantum Computing, Materials Science, Cryptography and Coding, and Robotics and Image Processing are presented
The application of parallel processing techniques to computationally intensive biomedical imaging studies
The landscape of modern computing is changing. While Moore’s law is currently holding and the number of transistors that can be produced on a given area of a chip is still growing exponentially, the practice of improving performance by increasing the clock frequency of a single processor is reaching its limit. Instead, the focus has shifted to applying multiple processors to solving a single problem, a methodology known as parallel processing. Parallel processing has the potential to overcome many of the shortcomings of linear processing, but also presents a number of unique challenges. This dissertation explores the potential benefits of parallel processing by examining the application of a near-field coded aperture simulator on a parallel cluster and contrasting its implementation and performance with previously written simulators for serial processors. The platform used is a cluster of Sony PlayStation 3’s; featuring the IBM developed Cell Broadband Engine Architecture. It was found that the PS3’s were capable of producing performance gains of around forty times an equivalently priced conventional processor, with the capability of easily scaling the system by adding or removing nodes as required. However, this comes at the cost of a much increased burden on the developer. Apart from the core application, a great deal of code must be written to handle communication and synchronization between nodes, a task which can at times be very complex. In addition, a number of tools available for serial processors, such as highly efficient compilers, advanced development environments and many standardized libraries cannot be applied in a parallel environment. The main conclusions drawn from this research are that while the potential gains of parallel processing are enormous, allowing attainable solutions to problems that were previously too costly, the costs of development are prohibitive. Still, parallel processing is the natural next step in modern computing, and it is only a matter of time before its idiosyncrasies are solved