Automatic and Explicit Parallelization Approaches for Equation Based Mathematical Modeling and Simulation.
Saved in:
Superior document: | Linköping Studies in Science and Technology. Dissertations Series ; v.1967 |
---|---|
: | |
Place / Publishing House: | Linköping : : Linkopings Universitet,, 2018. {copy}2018. |
Year of Publication: | 2018 |
Edition: | 1st ed. |
Language: | English |
Series: | Linköping Studies in Science and Technology. Dissertations Series
|
Online Access: | |
Physical Description: | 1 online resource (223 pages) |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Table of Contents:
- Intro
- POPULÄRVETENSKAPLIG SAMMANFATTNING
- Abstract
- Acknowledgments
- Contents
- List of Figures
- List of Tables
- Listings
- 1 Introduction
- Motivation
- Research Problem
- Main Contributions
- Automatic Parallelization
- Explicit Parallelization
- Practical Considerations
- Thesis Structure
- 2 Parallel Programming
- Introduction
- Programmability
- Automatic Parallelization
- Explicit Parallelization
- Memory Model
- Shared Memory
- Distributed Memory
- Threading Model
- Data Parallelism
- Task Parallelism
- Combined Shared Parallelism: Programmability with Threading Model
- 3 Mathematical Modeling
- Assignments and Equations
- Notations
- Equality Checks
- Equations
- Inputs and Outputs
- Solving Equation Systems
- Dynamic Systems: Time
- Rate Of Change: Derivatives
- Discrete Behaviour
- Modelica
- Modelica for Mathematical Modeling
- Modelica Standard Library (MSL)
- OpenModelica
- I Automatic Parallelization
- 4 Introduction
- Terminology
- Graphs
- Directed Graphs
- Bipartite Graphs
- Causalization of Equation Systems
- Matching
- Sorting
- Automatic Parallelization Approaches
- Parallelization Over Method
- Parallelization Over Time
- Parallelization Over Equation System
- 5 Connected Component Parallelization
- Integrated Approach
- Cost Estimation and Load Balancing
- Memory Management
- Shared Global Memory Pool
- Thread Local Memory Pool
- Thread Management
- Complexity and Portability Issues
- Improving Decoupling
- Case Study
- Conclusions
- 6 Strongly Connected Components Parallelization
- Equation System Structure
- The Need for Scheduling
- Data Dependencies
- The Need for Clustering
- Stand Alone Implementation
- Memory and Thread Management
- 7 Clustering and Scheduling
- Task Clustering: Reducing Overhead, Improving Locality, and Balancing.
- Background
- The Bin Packing Problem
- Polynomial Time Bin Packing Approximations
- k-way Integer Partitioning
- Makespan Scheduling Approximation Algorithms
- Clustering Heuristics
- Merge Single Parent (MSP)
- Merge Level Parents (MLP)
- Merge Level for Bins (MLB)
- Merge Level for Cost (MLC)
- Schedulers
- The Level Scheduler
- Flow Graph Scheduler
- 8 ParModAuto
- Motivation
- Design Principles
- High Level Operation
- Runtime Processing
- Portability Considerations
- Extensibility Considerations
- Independence: Minimal Assumptions
- Implementation
- Task Abstraction
- Clusters
- Dependency Specification and Task System Construction
- Task System Representation
- Schedulers
- Equation System Representation
- Extra Functionalities
- 9 Performance Evaluation
- Overview
- Setup
- Test Cases and Results
- CauerLowPassSC
- BranchingDynamicPipes
- Spice3BenchmarkFourBitBinaryAdder
- EngineV6
- SteamPipe
- 10 Conclusions on Automatic Parallelization
- II Explicit Parallelization
- 11 Introduction
- General Purpose Graphic Processing Unit (GPGPU) programming
- OpenCL
- The OpenCL Architecture
- Platform Model
- Execution Model
- Memory Model
- Programming Model
- Modelica for Scientific Computing
- Related work
- 12 ParModelica Extensions
- Parallel Variables
- Parallel Functions
- Kernel Functions
- Parallel For Loop: parfor
- Built-in Functions
- Synchronization and Thread Management
- Extra OpenCL Functionalities
- 13 ParModExp
- ParModelica OpenCL-C Runtime Library
- ParModelica OpenCL Utility Headers
- 14 Performance Evaluations
- The MPAR Benchmark Suite
- Results
- Conclusions
- III Appendix
- 15 Numerical Methods
- Non-Linear Systems: Root Finding and Newton's method
- Numerical Integration
- Euler's Methods
- Adam-Bashforth Methods
- Adam-Moulton Methods.
- Backward Differentiation Formulae (BDF) Methods
- DASSL
- 16 ParModelica (Extended Modelica) Concrete Syntax
- Lexical conventions
- Grammar
- Stored Definition - Within
- Class Definition
- Extends
- Component Clause
- Modification
- Equations
- Expressions
- 17 Selected ParModExp OpenCL Library API definitions
- Bibliography.