首页> 外文会议>Society of Petroleum Engineers Reservoir Simulation Symposium >Parallel Automatically Differentiable Data-types for Next Generation Simulator Development
【24h】

Parallel Automatically Differentiable Data-types for Next Generation Simulator Development

机译:下一代模拟器开发的并行自动可微分数据类型

获取原文

摘要

We develop and analyze an algorithmic framework and library of parallel automatically differentiable data-types written in the C++ programming language. In addition to representing variables and discretized expressions on a simulation grid, the data-types hide algorithms employed behind the scenes capable of automatically computing the sparse analytical Jacobian. Using the library, reservoir simulators can be developed rapidly by simply writing the residual equations, and without any hand differentiation, loops, or any other low-level constructs. The key challenge addressed is a technical development to enable this to run fast. Faster than if any of several existing automatic differentiation packages were used, faster than any purely Object Oriented implementation, and at least as fast as if a development team implemented hand-optimized residuals, analytical derivatives, and Jacobian assembly routines. This is achieved by extending a generic programming technique specific to the C++ programming language known as Expression Templates. The extension enables its application to handle nested abstract types including sparse vector composites. Consequently, the library implementation can handle the complexity of any reservoir simulation model with optimal use of microprocessor hard-ware. We demonstrate the ease of use of the library by presenting an efficient and rapidly developed fully-implicit simulator. Performance analysis is performed with varying grid size and is bench-marked with structured implemen-tations. The tests are run with widely used compilers on standard microprocessors.
机译:我们开发并分析了在C ++编程语言中编写的并行自动可差异数据类型的算法框架和库。除了在模拟网格上表示变量和离散化表达式之外,数据类型隐藏算法在能够自动计算稀疏分析jacobian的场景后面使用。使用图书馆,通过简单地写入残余方程,储存器模拟器可以快速开发,并且没有任何手工差异化,环路或任何其他低级构造。解决的主要挑战是技术开发,以便能够快速运行。比使用任何现有的自动差异化包的任何一个,比任何纯对象的实施方式更快,至少那么快,好像开发团队实施了手工优化的残留物,分析衍生物和雅各比组装例程。这是通过扩展特定于称为表达式模板的C ++编程语言的通用编程技术来实现的。扩展使其应用程序能够处理包括稀疏向量复合材料的嵌套抽象类型。因此,图书馆实现可以利用微处理器硬件的最佳用途来处理任何储层仿真模型的复杂性。我们通过呈现高效且迅速开发的完全隐式模拟器来展示图书馆的易用性。性能分析以不同的网格尺寸进行,并且具有结构化Implemen-Tations的基准标记。测试在标准微处理器上使用广泛使用的编译器进行运行。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号