首页> 外文学位 >Building sparse linear solver component for large scale scientific simulation and multiphysics coupling.
【24h】

Building sparse linear solver component for large scale scientific simulation and multiphysics coupling.

机译:构建用于大型科学仿真和多物理场耦合的稀疏线性求解器组件。

获取原文
获取原文并翻译 | 示例

摘要

Sparse linear solves are ubiquitous in high performance computing (HPC) and often are the most computational intensive parts in scientific computing codes. A few of the many applications relying on sparse linear solvers include fusion energy simulation, space weather simulation, climate modeling, and environmental modeling. Although a large number of linear solver packages are available, no single solver can handle all problems arising from the real world applications. Even within a single application, as the linear systems evolve from time step to time step, the choice of solver may also need to change. A mechanism facilitating easy switching among solver packages has long been recognized as a major need in HPC. Because linear solvers for parallel codes often are deeply embedded in the application, minimizing the required application code changes related to this switching will help lessen the difficulty of changing solvers as the problems change. We believe that A common interface spanning multiple solver packages can be developed to meet all above requirements. The Common Component Architecture provides a way to allow multiple parties to collaborate together on designing and using a common interface, with multiple underlying implementations. A generic interface is needed and can be developed using CCA for sparse linear solvers.;Designing a generic interface for linear solver is nontrivial. By comparing widely used linear solver packages such as Trilinos, Petsc, SuperLU, Hypre and MUMPS, we can identify three phases for solving a linear system: Setting up the linear system data structures, setting up solution parameters, and solving the system. Even with these three phases in common, there are three challenges to defining a generic interface, (1) to accomodate different APIs and input data structure and to hide their difference; (2) to take into account different use cases such as multiple right hand side solve, one time solves; (3) to handle multilevel method which may have different algorithms on different levels.;In addition to allowing applications to switch among linear solvers, a linear solver interface is also needed for the increasingly important area of model coupling. In fusion energy simulations in particular, efforts are underway to integrate codes that currently work on relatively isolated parts of the problem. This decoupling is achieved by isolating different modes and eigenvalues, assuming the others are constant. Coupling codes involves all of the modes from each constituent code, and newly introduced intermediate modes that do not appear in any of the physics submodels. A linear solver interface will help in creating solvers for the integrated multiple fusion simulations that combine separate codes, and can use each code's native and specialized solvers for the subproblems corresponding to each physics submodel.;This thesis provides a generic solver interface to cover full range of solver types and solver packages, and it provides a uniform way to hide the difference from packages. This allows the application to be able to switch between solver packages in the runtime.
机译:稀疏线性解法在高性能计算(HPC)中无处不在,并且通常是科学计算代码中计算量最大的部分。依赖稀疏线性求解器的许多应用中的一些应用包括聚变能仿真,空间天气仿真,气候建模和环境建模。尽管有大量的线性求解器软件包可用,但没有一个求解器可以解决现实应用中出现的所有问题。即使在单个应用程序中,随着线性系统从时间步长到时间步长的发展,求解器的选择也可能需要更改。长期以来,一种促进在求解程序包之间轻松切换的机制一直是HPC的主要需求。由于并行代码的线性求解器通常被深深地嵌入到应用程序中,因此,与该切换有关的所需应用程序代码更改最小化将有助于减少随着问题的变化而更改求解器的难度。我们相信可以开发出一个跨多个求解程序包的通用接口来满足上述所有要求。通用组件体系结构提供了一种方法,允许多方在具有多个底层实现的情况下共同设计和使用通用接口进行协作。需要通用接口,并且可以使用CCA开发稀疏线性求解器。;为线性求解器设计通用接口并非易事。通过比较广泛使用的线性求解器程序包(例如Trilinos,Petsc,SuperLU,Hypre和MUMPS),我们可以确定用于求解线性系统的三个阶段:设置线性系统数据结构,设置求解参数和求解系统。即使这三个阶段是相同的,定义通用接口也面临三个挑战:(1)适应不同的API和输入数据结构并隐藏它们的差异; (2)考虑到多个右手求解,一次求解等不同用例; (3)处理可能在不同级别上具有不同算法的多级方法。;除了允许应用程序在线性求解器之间切换之外,对于模型耦合的日益重要的领域,还需要线性求解器接口。特别是在聚变能模拟中,人们正在努力整合目前在问题相对孤立的部分工作的代码。假设其他模式和特征值是恒定的,则可以通过隔离不同的模式和特征值来实现这种去耦。耦合代码涉及每个组成代码中的所有模式,以及新出现的中间模式,这些模式不会出现在任何物理子模型中。线性求解器接口将有助于为组合了不同代码的集成多融合仿真创建求解器,并且可以将每个代码的本机和专用求解器用于与每个物理子模型相对应的子问题。求解器类型和求解器程序包,它提供了一种统一的方法来隐藏程序包中的差异。这使应用程序能够在运行时在求解程序包之间切换。

著录项

  • 作者

    Liu, Fang.;

  • 作者单位

    Indiana University.;

  • 授予单位 Indiana University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2009
  • 页码 176 p.
  • 总页数 176
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号