A holistic approach was used to thoroughly redesign courses in Scientific Computing at Uppsala University. The objectives weretwo-fold: to improve the learning outcome for students in general and to make the courses more appealing to women students inparticular. The redesigned courses include a combination of learning activities motivated by previous research on preferences ofwomen students regarding learning environments and educational approaches. Moreover, particular care was taken to design thecourses according to the principles of constructive alignment. This was achieved by structuring the course content into thematicmodules, where each module was organized into different learning activities with several cycles of action, observation andreflection. Indications that the resulting course design fulfils the objectives stated above are, for example: that the students get aclearer and more coherent view of the subject; that they consider the courses to be well-structured with well-connected activities;and that the student–student and student–teacher interactions are increased. The new course structure is clearly appreciated,especially by female students, and considered to be important for the learning process. The conclusions are supported by qualitativeas well as quantitative evidence.
New high order implicit-explicit Runge-Kutta methods have been developed and implemented into a finite volume code to solve the Navier-Stokes equations for reacting gas mixtures. If only the stiff chemistry is treated implicitly, the linear systems in each Newton iteration are simple and solved directly. Numerical simulations of deflagration-to-detonation transition (DDT) show the potential of the new time integration for computational combustion.
On cc-NUMA multi-processors, the non-uniformity of main memory latencies motivates the need for co-location of threads and data. We call this special form of data locality, geographical locality. In this article, we study the performance of a parallel PDE solver with adaptive mesh refinement. The solver is parallelized using OpenMP and the adaptive mesh refinement makes dynamic load balancing necessary. Due to the dynamically changing memory access pattern caused by the runtime adaption, it is a challenging task to achieve a high degree of geographical locality.The main conclusions of the study are: (1) that geographical locality is very important for the performance of the solver, (2) that the performance can be improved significantly using dynamic page migration of misplaced data, (3) that a migrate-on-next-touch directive works well whereas the first-touch strategy is less advantageous for programs exhibiting a dynamically changing memory access patterns, and (4) that the overhead for such migration is low compared to the total execution time.
On cc-NUMA multi-processors, the non-uniformity of main memory latencies motivates the need for co-location of threads and data. We call this special form of data locality, geographical locality. In this article, we study the performance of a parallel PDE solver with adaptive mesh refinement (AMR). The solver is parallelized using OpenMP and the adaptive mesh refinement makes dynamic load balancing necessary. Due to the dynamically changing memory access pattern caused by the runtime adaption, it is a challenging task to achieve a high degree of geographical locality. The main conclusions of the study are: (1) that geographical locality is very important for the performance of the solver, (2) that the performance can be improved significantly using dynamic page migration of misplaced data, (3) that a migrate-on-next-touch directive works well whereas the first-touch strategy is less advantageous for programs exhibiting a dynamically changing memory access patterns, and (4) that the overhead for such migration is low compared to the total execution time.
New high order implicit-explicit Runge-Kutta methods have been developed and implemented into a finite volume code to solve the Navier-Stokes equations for reacting gas mixtures. The resulting nonlinear systems in each stage are solved by Newton's method. If only the chemistry is treated implicitly, the linear systems in each Newton iteration are simple and solved directly. If in addition certain convection or diffusion terms are treated implicitly as well, the sparse linear systems in each Newton iteration are solved by preconditioned GMRES. Numerical simulations of deflagration-to-detonation transition (DDT) show the potential of the new time integration for computaional combustion.
Different partitioning strategies for multiblock grids have been compared experimentally. The numerical experiments have been performed on a 512 processor Cray T3D using a compressible two dimensional Navier-Stokes solver. Some complementary results are made with an advection equation solver using a Cray T3E-900. The results show that the behavior of the different parallelization strategies depends very much on the number of subgrids and their sizes as well as the number of available processors. In order to get optimal performance for a certain problem and processor configuration, the partitioning strategy must be chosen with regard to these aspects. Our results give guidelines for this.
OpenMP is an architecture-independent language for programming in the shared memory model. OpenMP is designed to be simple and powerful in terms of programming abstractions. Unfortunately, the architecture-independent abstractions sometimes come with the price of low parallel performance. This is especially true for applications with an unstructured data access pattern running on distributed shared memory systems (DSM). Here, proper data distribution and algorithmic optimizations play a vital role for performance. In this article, we have investigated ways of improving the performance of an industrial class conjugate gradient (CG) solver, implemented in OpenMP running on two types of shared memory systems. We have evaluated bandwidth minimization, graph partitioning and reformulations of the original algorithm reducing global barriers. By a detailed analysis of barrier time and memory system performance, we found that bandwidth minimization is the most important optimization reducing both L2 misses and remote memory accesses. On a uniform memory system, we get perfect scaling. On a NUMA system, the performance is significantly improved with the algorithmic optimizations leaving the system dependent global reduction operations as a bottleneck.
We compare experimentally different parallelization models using MPI and OpenMP for structured adaptive mesh refinement on a shared-memory parallel computer, a Sun-Fire 15K. Due to the dynamic properties of the mesh no static parallelization model with fixed number of processes and threads performs best in all stages. Different combinations of MPI and OpenMP are preferable in different settings of the application and grid hierarchy. We suggest a new dynamic approach using a mixed MPI-OpenMP model that adapts the number of threads during run time and gives good performance in all stages throughout the whole run as the solution state changes, i.e. the resolution in the computational grid changes.
Sverker Holmgren合作论文数Division of Scientific Computing
Department of Information Technology
Uppsala University3