CN103959233A - 在执行eos计算的指令受限算法中最优化矩阵和向量运算 - Google Patents

在执行eos计算的指令受限算法中最优化矩阵和向量运算 Download PDF

Info

Publication number
CN103959233A
CN103959233A CN201280045166.4A CN201280045166A CN103959233A CN 103959233 A CN103959233 A CN 103959233A CN 201280045166 A CN201280045166 A CN 201280045166A CN 103959233 A CN103959233 A CN 103959233A
Authority
CN
China
Prior art keywords
eos
block
matrix
vector
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201280045166.4A
Other languages
English (en)
Other versions
CN103959233B (zh
Inventor
K·豪根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ExxonMobil Upstream Research Co
Original Assignee
Exxon Production Research Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exxon Production Research Co filed Critical Exxon Production Research Co
Publication of CN103959233A publication Critical patent/CN103959233A/zh
Application granted granted Critical
Publication of CN103959233B publication Critical patent/CN103959233B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种用于在执行EOS计算的指令受限算法中最优化矩阵和向量运算的系统和方法。该方法包括将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块,其中该区块大小是非均匀的或均匀的。与EOS稳定性方程和EOS分相方程相关的每个向量可以被分成数个条带。区块和条带可以被存储在主存储器、高速缓存或寄存器中,并且与逐次代换和牛顿迭代相关的矩阵和向量运算可以使用区块和条带并行执行。

Description

在执行EOS计算的指令受限算法中最优化矩阵和向量运算
相关申请的交叉参考
本申请要求美国临时专利申请61/535,131的利益,该申请提交于2011年9月15日,标题为OPTIMIZED MATRIX AND VECTOROPERATIONS IN INSTRUCTION LIMITED ALGORITHMS THATPERFORM EOS CALCULATIONS,在此通过引用将其全文合并于此。
技术领域
本技术涉及具有最优化矩阵和向量运算的指令受限算法。具体地,本技术的示范实施例涉及用于执行状态方程(EOS)计算的系统和方法。
背景技术
本节意图介绍可以与所披露技术的实施例相关的现有技术的各种方面。本讨论相信可以有助于提供框架从而促进更优理解所披露技术的具体方面。因此应理解本节从这点阅读,而不必认可现有技术。
指令受限算法可以在各种工业中发生。例如指令受限算法可以在领域例如3D图形分析、加密、数据挖掘、压缩、信号处理、图像处理、链式法则评估、数值法例如有限元和有限体积分析、地震模式识别和状态方程(EOS)计算中发生。
EOS计算可以用来模拟可以对储层性能具有显著效果的相行为。石油混合物可以流过多孔介质的速率受相态数、每个相态的粘度和每个相态的密度影响。一般地,相行为和相性质是温度、压力和成分的函数。在一些情况下,与相行为相关的成分效果是微弱的并可以忽略。这可以伴随称为黑油的石油流体发生。模拟含黑油的储层可以称为黑油仿真。
在其他情况下,成分效果可以被解释。为解释成分效果,石油工业通常使用状态方程(EOS)。将具有成分效果的储层建模可以称为成分仿真。数个先进开采机制可以依靠相行为的成分效果。
EOS计算可以使成分仿真比黑油仿真可观地更低。EOS计算通常涉及确定相态数和每个相态的成分。尽管单个EOS计算执行的消耗低廉,但其可以在储层仿真的过程中重复数十亿次。因此EOS计算可以消耗总仿真时间的多于50%。此外EOS计算是计算密集的并且其成本可以随着混合物中组分数目增加而迅速提高。
为改进计算速度,并行储层仿真器可以使用。当使用并行化时,巨大问题被分成较小子问题,并然后在数个处理核心之间分配。子问题可以不是独立的,并且核心可以通信从而将其工作同步。核心可以通过共享存储器或通过高速网络同步。在并行计算环境中,存储器带宽和网络通信通常是速度限制因素。
D.Voskov和H.Tchelepi,“Tie-Simplex Based MathematicalFramework for Thermodynamical Equilibrium Computation of Mixtureswith an Arbitrary Number of Phases”,Fluid Phase Equilibria,第283卷,2009,pp.1-11陈述基于连结线的并行化方法在成分流仿真中改进相行为表示的准确度和状态方程(EOS)计算的效率。对于不能融合的成分仿真,陈述该技术试验成分空间自适应列表以避免多余EOS计算中的大部分。然而,矩阵和向量运算没有最优化。
C.Rasmussen等人,“Increasing the Computational Speed of FlashCalculations with Applications for Compositional,Transient Simulations”,SPE Reservoir Evaluation and Engineering,第9卷第1册,2009,pp.32-38陈述在常规闪存计算中,仿真时间的大部分花费在稳定性分析上。陈述该技术判定在其调整时绕过稳定性分析,并且不在执行EOS计算的指令受限算法中最优化矩阵和向量运算。
E.Hendriks和A.Van Bergen,“Application of a Reduction Method toPhase-Equilibria Calculations”,Fluid Phase Equilibria,第74卷,1992,pp.17-34陈述对于特定热动力模型,求解涉及混合物相平衡的一组非线性方程的方程数可以减少。问题大小和计算工作可以通过变量变换来减小。另外,适当描述混合物相行为的减少变量的最小数目可以确定。然而在执行EOS计算的指令受限算法中的矩阵和向量运算没有被最优化。
发明内容
本技术的示范实施例提供在执行EOS计算的指令受限算法中最优化矩阵和向量运算的方法。与EOS稳定性方程和EOS分相方程相关的每个矩阵可以被分成数个非均匀或均匀大小区块。与EOS稳定性方程和EOS分相方程相关的每个向量可以被分成数个条带。区块和条带可以在主存储器、高速缓存或寄存器中组织,并且与逐次代换和牛顿迭代相关的矩阵和向量运算可以使用区块和条带并行执行。
本技术的示范实施例提供系统,其包括处理器和存储用于由处理器执行的机器可读指令的有形机器可读存储介质,该机器可读指令包括在由处理器执行时被适配为使处理器将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块的指令,其中该区块大小是均匀的或非均匀的。代码在由处理器执行时可以被适配为使处理器将与EOS稳定性方程和EOS分相方程相关的每个向量分成数个条带,并且在主存储器、高速缓存或寄存器中存储区块和条带。另外,代码在由处理器执行时可以被适配为使处理器使用区块和条带并行执行与逐次代换和牛顿迭代相关的矩阵和向量运算。
本技术的示范实施例提供非暂时性计算机可读介质,其包括经配置引导处理器将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块的代码,其中该区块大小是非均匀的或均匀的。与EOS稳定性方程和EOS分相方程相关的每个向量分成数个条带。区块和条带可以在主存储器、高速缓存或寄存器中存储,并且与逐次代换和牛顿迭代相关的矩阵和向量运算可以使用区块和条带并行执行。
附图说明
本技术的优点可以紧接着浏览实施例的非限制示例的以下详细描述和附图变得更明显,在该附图中:
图1是过程流程图,其概述根据本技术的实施例在执行EOS计算的指令受限算法中最优化矩阵和向量运算的方法;
图2是示出根据本技术的实施例的存储器层次的图示;
图3是图解根据本技术的实施例的如何使用三个不同存储格式将二维矩阵映射到线性存储器的图示;
图4是示出根据本技术的实施例的均匀区块和非均匀区块的图示;
图5是图解根据本技术的实施例的指令的数目如何可以通过SIMD/SIMT向量化被减少的图示;
图6是概述根据本技术的实施例的执行EOS计算的方法的过程流程图;
图7是概述根据本技术的实施例的用于EOS计算的稳定性和分相算法的迭代性质的过程流程图;
图8是概述根据本技术的实施例的执行逐次代换和牛顿算法的方法的过程流程图;
图9是概述根据本技术的实施例的成分如何可以在牛顿迭代内被更新的方法的过程流程图;
图10是根据本技术的实施例的计算机系统的框图,该计算机系统可以用来在指令受限算法中最优化矩阵和向量计算。
具体实施方式
在以下详细描述节中,具体实施例作为示例描述。然而,就以下描述对具体实施例或特别使用特定来说,其意图仅用于示范目的并简单提供示范实施例的描述。因此本技术不限于在下面描述的实施例,但相反这样的技术包括落入附加权利要求的精神和保护范围内的全部替换、修改和等效。
起初,并为容易参考,阐述用于本申请的某些术语及其用于该上下文的意义。就本文使用的术语不在下面定义来说,应给予其如在至少一个印刷出版物或已提交专利中反映的本领域技术人员给予的最广泛定义。
术语“单元”指代面的集合,或暗示地定义面的节点的集合,其中该面一起形成封闭体积。另外术语“面”指代形成表面的点的任意集合。
术语“通信受限”指代算法执行速度由速度限制的时候,处理核心能够通过共享处理器或高速网络在该速度通信并将处理核心的工作同步。
术语“存储器受限”指代算法执行速度由速率限制的时候,数据在存储器和CPU之间在该速率移动。
术语“指令受限”指代算法执行速度由速率限制的时候,指令由CPU在该速率处理。
术语“成分储层仿真”指代用来仿真需要获知储层的至少一部分中成分改变的开采过程的仿真。例如,成分仿真可以有助于研究(1)易挥发油或气体冷凝物储层的耗尽,其中相成分和性质随着压力低于气泡压力或露点压力显著变化,(2)非平衡气体(干燥或富集的)喷射到黑油储层,从而由蒸发成更可移动的气相或由通过彻底的(单接触)或动态的(多接触)混溶性将油移动,以及(3)将CO2喷射到油储层,从而由混溶驱动(miscible displacement)并由油粘度减小和油溶胀(oil swelling)将油移动。
由于大量迭代相平衡计算和大量流动方程求解,因此使用EOS描述多组分流体混合物的相行为的成分储层仿真可以是耗时的。在EOS计算中求解的方程的数目与流体中组分数目成比例。由于储层流体可以含有数百种纯组分,因此执行其中所有储层组分在计算中使用的成分仿真可以是不实际的。因此希望将在描述流体混合物中使用的组分的数目保持最小。
术语“计算机部件”指代计算机相关实体、硬件、固件、软件、其组合,或执行中的软件。例如,计算机部件可以是但不限于在处理器上运行的过程、处理器、对象、可执行过程、执行的线程、程序和计算机。一个或多个计算机部件可以位于执行的过程或线程内,并且计算机部件可以定位在一台计算机上或在两台或更多台计算机之间分布。
术语“状态方程”或“EOS”指代方程,该方程代表包括烃的任何流体的相行为。在储层仿真中,状态方程可以仅用于烃相,并且经验关系式可以用来描述液相。EOS可以在基于计算机的建模和仿真技术中用来创造模型,以便估计所关注储层中烃流体的性质和/或行为。一旦EOS模型定义,则其可以用来计算储层的石油流体的广泛的一系列性质,例如气-油比(GOR)或冷凝物-气体比(CGR)、每个相态的密度、体积因数和压缩率、热容量和饱和压力(泡点或露点)。因此EOS模型可以经求解获得在给定温度的饱和压力。此外GOR、CGR、相密度和体积因数是EOS模型的副产物。输送性质例如传导率、扩散率或粘度可以从性质例如流体成分推导,该性质从EOS模型获得。
术语“非暂时性计算机可读介质”、“有形机器可读介质”等指代参与向处理器提供指令以便执行的任何有形存储。这样的介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括例如NVRAM或磁或光盘。易失性介质包括动态存储器例如主存储器。计算机可读介质可以包括例如软盘、软磁盘、硬盘、磁带,或任何其他磁介质、CD-ROM、任何其他光介质、RAM、PROM和EPROM、FLASH-EPROM、固态介质如全息存储器、存储器卡或任何其他存储器芯片或盒式磁带,或计算机可以从其读取的任何其他介质。在计算机可读介质配置为数据库时,理解数据库可以是任何类型的数据库,例如关系的、分层的、面向对象的,等等。因此本技术的示范实施例可以认为包括有形存储介质或有形分布介质和现有技术认可的等效与后继介质,实施本技术的软件实施在这些介质中存储。
术语“等待时间”指代在系统中经历的时延的测量值。
术语“相行为”指代流体混合物如何将作为压力、温度和成分的函数分成两个或更多个相态。混合物的相态可以是固体、蒸汽、液体或超临界。
术语“相态”指代可以从非均匀混合物机械地分离的物质的化学或物理统一量。其可以由单种物质或多种物质的混合物构成。一般地,物质的四相是固体、液体、气体和等离子体。然而术语“相态”也用来描述物质的其他性质或状态,例如非混溶液体的分离层、胶体物质或混合物,以及无定形固体。在烃生产中,含水的(水)、液体(油)和蒸汽(气体)相经常存在。
术语“性质”指代数据,该数据表示与基于每一元素的不同拓扑元素相关的特性。一般地,性质可以是包括整数和浮点数型等的任何计算值类型。此外,性质可以包括值向量类型。性质可以仅对几何对象的元素的子组有效。性质可以用来将对象的几何形状着色。术语“性质”也可以指代涉及对象的特性或已存储信息。适当定义的应用对计算机科学领域技术人员是直观的。
术语“特化”指代为一组特定输入参数计算机程序或算法的版本。
术语“线程”一般指代使用特别输入数据执行特别程序的实例。并行线程可以使用不同处理引擎同时执行,允许处理工作在给定量的时间内完成。
总述
尽管为解释简便,图解方法学示出并描述为一系列方框,但认识到由于一些方框可以在不同顺序中发生和/或与源自示出并描述的其他方框同时发生,因此方法学不受方框的顺序限制。此外,少于全部的图解方框可以需要实施例子方法学。方框可以组合或分离为多个组成。此外,另外和/或可替换的方法学可以采用另外的未图解方框。尽管附图图解各种串行发生的行为,但认识到各种行为可以连续发生、基本并行发生和/或在时间中基本不同点发生。
实施例提供用于在任意硬件体系结构上的指令受限算法中最优化矩阵和向量运算的方法。计算机算法可以含有各种矩阵和向量运算。任何计算机算法的速度由三个可能瓶颈限制:指令吞吐量、存储器吞吐量和在集群情况下的通信吞吐量。最科学的算法由在其上处理它们的硬件来存储器或通信限制。然而EOS计算通常是指令受限的,意味着EOS算法的最终速度可以由硬件能够在其执行单个运算的速率确定。结果,最优化可以涉及在其中计算发生的高速缓存和硬件寄存器之间有效移动数据。该数据可以包括矩阵和向量数据。
图1是过程流程图,其概述根据本技术实施例在执行EOS计算的指令受限算法中优化矩阵和向量运算的方法100。在方框102处,每个矩阵被划分成多个区块(tile)。区块通常可以被描述为从原始的较大矩阵形成的较小子矩阵。图3进一步描述将矩阵分成区块。此外,每个矩阵可以与具有非均匀或均匀区块大小的EOS稳定性方程或EOS分相方程相关。在方框104处,每个向量都被分成多个条带(strip)。与区块类似,条带通常可以被描述为从原始的较大向量形成的较小子向量。每个向量可以与EOS稳定性方程或EOS分相方程相关。
在方框106处,区块和条带可以被组织在计算机存储例如主存储器、高速缓存或寄存器中。在区块和条带中含有的数据可以被操作之前,运算数(operand)中的至少一个被传递到硬件寄存器。非必需的数据传递可能减慢CPU执行速度。为使数据传递更加有效,由于高速缓存存储器与主存储器相比可以更快并且具有更低的等待时间,因此现代硬件体系结构可以在主存储器和寄存器之间使用高速缓存存储器作为缓冲器。在方框108处,可以使用区块和条带并行执行矩阵和向量计算,其中所有矩阵和向量计算以区块运算和条带运算的术语来表述。进一步地,在EOS计算中,可以使用区块和条带来并行执行与逐次代换和牛顿迭代相关的矩阵和向量运算。图6-9进一步描述逐次代换和牛顿迭代。并行化可以用来加速单个区块单条带运算或同时执行多个区块多条带运算。
图2是示出根据本技术的实施例的存储器层次的图示200。如图示200所说明的,现代CPU通常具有多级高速缓存层次202。图示200具有在204的等级1、在206的等级2和在208的等级3这三个高速缓存的等级。在204的高速缓存等级1最接近寄存器210,并且高速缓存等级3最接近主存储器212。因此,越接近存储数据的寄存器210,速度214将提高并且等待时间216降低。在主存储器212和多级高速缓存层次202之间、在多级高速缓存层次202自身内或者在多级高速缓存层次202和寄存器210之间的每次数据传递花费有限量的时间。非必需的数据传递可能导致硬件浪费若干计算机时钟循环来等待数据从而进行处理。在现代CPU上,与小问题例如EOS计算相关的数据可以完全容纳在高速缓存存储器级内。因此在现代CPU上的数据传递问题通常在高速缓存存储器级和寄存器之间发生。相反,现代GPU通常具有显著较小量的可用高速缓存存储器。因此在现代GPU上的数据传递问题通常在高速缓存存储器级和主存储器之间发生。
最优化技术
致力于指令吞吐量的最优化技术包括区块化、每区块最优化、特化、条带化和向量化。因为尽管矩阵是二维数据结构,但矩阵通常被存储在一维存储器中,所以有效实施这些最优化技术可能是挑战性的。矩阵在存储器中所依照存储的方式影响执行矩阵运算所需要的数据传递的数目。如上面讨论,非必需的数据传递可能导致硬件浪费若干计算机时钟循环来等待有待处理的数据。
一般具有两类的可用计算机体系结构,标量和向量。标量体系结构可以每次对单个数据元素运算,而向量体系结构可以同时对若干数据元素运算。在各种计算机和移动装置中发现的中央处理单元(CPU)是标量硬件体系结构的示例。在计算机显卡上发现的图形处理单元(GPU)是向量硬件体系结构的示例。两类体系结构都由工作可以在其间划分的若干核心构成。工作的划分可以通过将工作分成称为线程的较小子任务来实现。
图3是示出根据本技术的实施例的二维矩阵304-308如何使用三个不同存储格式映射到线性存储器302的图示300。存储矩阵的一个普遍方法是将数据行相互挨靠放置。这称为行优先存储格式并在行优先矩阵304中示出。可替换地,人们可以将数据列相互挨靠放置,从而获得在列优先矩阵304示出的列优先存储格式。这两种存储格式在应用到各种计算时可能在硬件寄存器和高速缓存存储器之间产生大量非必需的数据传递。数据传递问题可以通过将矩阵分成称为区块的较小子矩阵来解决,这些区块在区块化矩阵308示出。单个区块310的大小被选择用于确保每个算术运算中的至少一个运算数以及与区块运算相关的中间结果保留在寄存器中。这样,在寄存器和高速缓存之间的数据传递可以最小化,结果,CPU循环的较大部分可能花费在计算上。矩阵可以被再分成均匀或非均匀区块。使用非均匀区块可以允许任何大小的矩阵使用区块化存储格式。
图4是示出根据本技术的实施例的均匀区块和非均匀区块的图示400。矩阵402含有每个是相同大小的在参考号404处的区块。因此矩阵402的区块是均匀区块。矩阵406含有在参考号408处的区块、在参考号410处的区块和在参考号412处的区块。在参考号408处的区块、在参考号410处的区块和在参考号412处的区块大小不同。因此矩阵402的区块是非均匀区块。具有均匀区块的矩阵和具有非均匀区块的矩阵可以被使用在本技术中。此外,区块可以按照顺序或交错的形式被组织或存储在主存储器、高速缓存或寄存器中。如本文所讨论的条带也可以按照顺序或交错形式被组织或存储在主存储器、高速缓存或寄存器中。进一步地,可以使用标量硬件体系结构或向量硬件体系结构来实现区块。
无论均匀或非均匀,区块的大小都可以被选择以便最小化单个硬件体系结构内的存储器层次的不同等级之间的数据传递。当区块是均匀的时,矩阵大小可以被约束到区块大小的整数倍。通过用伪元素将矩阵填充至允许使用均匀区块的大小,可以为任何矩阵实现整数倍的矩阵大小。然而,除非矩阵大小显著大于区块大小,否则填充矩阵可能显著增加矩阵运算的计算时间。在此情况下,因为可以不使用填充将矩阵分成区块,所以使用非均匀区块可以消除这种计算时间上的增加。
使用区块允许基于每区块的最优化。换言之,每个区块最优化促进使用分治途径,其中最优化矩阵运算可以被减少到运算少数区块运算。例如,EOS特定区块运算可以被用来计算逸度导数并用于在牛顿算法中构建雅可比矩阵。牛顿算法也使用线性求解器。在EOS计算中,雅可比矩阵是稠密的使得大多数元素非零。求解具有稠密雅可比矩阵的线性方程组的两个普遍算法是均可以按照区块运算表述的高斯消去和上-下(UL)分解。每区块最优化可以减小循环开销和跳跃开销。循环开销指代与每个循环相关的计算开销。该循环开销可以是在循环的每个迭代期间必须被估计从而确定循环的随后迭代是否发生的状况的结果。同样,跳跃开销指代在计算机程序遇到告诉其从代码中的一行跳跃到另一行的指令时的相关的计算开销。跳跃开销通常作为函数调用、循环迭代的结果发生,或在执行路径取决于一些测试的输出结果(分支)时发生。这样的跳跃指令可以可观地减慢执行速度,除非跳跃开销小于执行跳跃之间的代码花费的时间。
为了减小循环开销和跳跃开销,现代编译器如可能则可以“展开”循环。当展开循环时,编译器可以估计控制循环迭代的数目的状况,并将循环转变成相应的非循环指令。例如,在EOS运算中,循环迭代的数目可以由混合物中的组分的数目来控制。通常,混合物中的组分的数目对于编译器来说是不可用的,从而防止循环展开发生。相反地,与EOS计算相关的区块可以具有预定大小,并且已经与区块运算相关并且基于区块大小的每个循环可以被完全地展开。相似地,在EOS计算中,已经与条带相关并且基于条带大小的每个循环可以被完全地展开。
另一最优化技术可以使用寄存器变量。在使用数据结构例如向量和矩阵时的普遍编程实践是使用指向结构中的第一数据元素的地址的指针。使用该地址作为参考,算法获知如何访问其他数据元素。按照这种方式使用指针,尤其是在编译器采用多个指针可以指向相同的数据地址时,可能导致硬件寄存器和高速缓存存储器之间的非必需的数据传递。为了避免数据不一致,在寄存器中修改的任何数据元素可以被拷贝到高速缓存存储器从而确保每个指针具有到最近更新的访问。相似地,数据元素每当有待运算时其可以从高速缓存存储器中被拷贝,从而确保寄存器变量更新。过量的数据传递可以通过为中间计算使用寄存器变量或者保存输入数据的拷贝来避免。因此寄存器变量中的数据不可由指针访问,并且数据不必再在寄存器和高速缓存存储器之间被拷贝。
用特化来最优化涉及做出最优化算法的若干版本从而调节取决于未知区块数目的展开循环,其与取决于区块大小的循环相反。如本文所讨论的,由于区块大小是编译器已知的,因此基于区块大小的循环可以被展开。然而,区块的数目可以是未知的。因此,取决于区块的数目的循环不可以被展开。特化为所关注的每个数目的区块提供算法。每个算法版本具有已知数目的区块,该已知数目的区块允许循环基于区块的数目被展开。特化还应用到与向量运算相关的循环并可以是自动使用模板。例如,通过特化展开循环可以在为具有不同数目组分的混合物生成数个不同EOS算法时发生。
由于向量是一维数据结构,因此区块化不应用到向量。为了减少与向量相关的循环和跳跃开销,向量可以被分成条带。使用条带促进循环展开并且促进按照与区块相同的方式使用寄存器变量。例如,循环可以基于条带大小被展开。如本文所讨论的,条带利用涉及向量运算、从向量化分离并且不同于向量化的各种算法。
单指令多数据(SIMD)和单指令多线程(SIMT)向量化也可以最优化指令受限算法。SIMD指令对多个数据元素同时运算。大多数现代CPU实施经常称为向量扩展的SIMD指令。然而关于GPU,具有SIMD和SIMT两种体系结构。SIMD指令可以由单处理核心执行,而SIMT指令由多处理核心执行。SIMD和SIMT指令都可以用来加速指令受限算法。
图5是示出根据本技术的实施例的如何可以通过SIMD/SIMT向量化来减少指令的数目的图示500。每个阵列502-508代表可以对其运算的数据段。数目鉴别对单个数据元素运算的指令。双精度标量指令在参考号502处示出,并且双精度向量指令在参考号504处示出。单精度标量指令在参考号506处示出,并且单精度向量指令在参考号508处示出。例如,假设每个向量的大小是128位。相同运算可以被执行在阵列中的每个元素上。使用双精度向量,每个运算对两个数据元素运算,将指令数减少到原来的二分之一。单精度向量含有数据元素数目的两倍,并且指令数减少到原来的四分之一。因此数据元素的单精度、双精度或混合精度向量化可以与SIMD或SIMT向量指令一起使用。进一步地,单精度、双精度或混合精度向量化可以被用来并行执行EOS计算,其中每个EOS计算可以对应于不同混合物。
在指令受限的算法中,从双精度切换到单精度不会加速计算。尽管数据元素的大小被减小,但指令的数目保持相同。利用单精度涉及使用向量指令。因为单精度向量在与双精度向量比较时保存两倍之多的元素,所以加速随着单精度向量指令发生。因此每个指令对两倍数目的数据元素运算。
SIMD/SIMT向量化可以被用来加速单个区块和条带运算。在该情况中,区块和条带可以是SIMD/SIMT向量长度的整数倍。因此,该方法用于短SIMD/SIMT向量。可替换地,SIMD/SIMT向量化可以被用于并行执行若干区块和条带运算。在该情况中,区块和条带可以被交错以使每个SIMD/SIMT向量指令访问源自每个区块或条带的单个元素。因为由每个SIMD/SIMT向量指令访问的数据元素属于分离的区块或条带,因此SIMD/SIMT向量化与并行的区块和条带运算不会对向量或条带大小添加任何约束,并可以与任意长度的SIMD/SIMT向量一起使用。这样,与EOS计算相关的区块和条带或者与EOS计算相关的区块和条带内的数据元素的单精度、双精度或混合精度向量化可以使用单指令多数据或单指令多线程向量指令。大多数现代CPU的向量寄存器可以保存两个双精度或四个单精度元素,或者甚至可以保存四个双精度或八个单精度元素。
示例
本文所描述的各种最优化可以用不同方式来组合,并可以针对算法可以在其上运行的具体硬件被制定。为了描述的目的,三个示例被说明。然而,这些示例用于描述目的并非意在限制本技术。同样,第一示例可以为没有SIMD指令的硬件而设计,第二示例可以为具有短SIMD向量的硬件而设计,并且第三示例可以为具有任意长度的SIMD向量的硬件而设计。
I.在第一示例中,硬件可以不支持SIMD指令。所有矩阵可以被组织成区块,并且区块内的数据可以使用如本文所描述的行优先、列优先或区块化存储格式。矩阵内的区块可以被顺序地组织或存储在主存储器、高速缓存或寄存器中。区块大小可以用尽可能有效地使用寄存器的方式来选择。当前,通常的台式和工作站CPU可以具有16个寄存器,因此三乘三和四乘四是合理的区块大小。使用均匀区块大小在组分的数目中引入粒度。例如,使用每n个的区块大小可以将组分的数目驱动到n的倍数。对于其中组分数目不是n的倍数的混合物,添加痕量的伪组分可以允许组分总体是n的倍数。为避免过多填充,即使在使用具有大量寄存器的硬件时,区块大小仍可以保持较小。
可替换地,通过将矩阵分成不同大小的区块,填充可以完全地被避免。执行的区块运算可以包括线性代数运算如矩阵-矩阵乘法、矩阵-向量乘法和矩阵求逆。此外,基于最优化区块运算使用线性求解器可以求解各种线性方程组。
此外,在没有SIMD指令的硬件上使用时,向量可以被组织成条带。条带长度可以匹配区块大小。例如,使用每n个的区块大小意味着使用n的条带长度。向量运算可以被表达为一系列条带运算。这允许如本文所描述的部分展开对应的循环。其他循环可以使用特化来展开。然而在线性求解器内,一些循环可以对于编译器来说过于复杂而难以展开。这些循环可以被人工展开或通过使用模板而展开。
II.在第二示例中,硬件可以支持在短向量上的SIMD指令。因此SIMD指令可被用来通过如本文所讨论的向量化来加速单个区块和条带运算。这意味着涉及若干数据元素的计算可以被并行执行,并且单精度SIMD向量和双精度SIMD向量都可以被使用。所有矩阵可以被组织成区块,并且区块内的数据可以使用行优先或列优先存储格式。可以按照尽可能有效地使用寄存器的方式来选择区块大小。由于向量化用来加速单个区块运算,因此即使区块大小是非均匀的,区块大小仍可以经选择是向量长度的整数倍。实施SIMD向量的通常台式和工作站CPU可以保持两个双精度元素或四个单精度元素,或者甚至是四个双精度元素或八个单精度元素。此外,条带长度也可以是向量长度的整数倍并可以被选择用于而匹配区块大小。
在第二示例中,区块运算可以被重设计为按照SIMD指令工作。除了矩阵-矩阵乘法,矩阵向量乘法和矩阵求逆运算以外,计算矩阵转置的算法也可以被实施。除了使用基于SIMD的区块运算以外,线性求解器可以与第一示例几乎相同。然而对于第二示例,一个主要区别是在每个区块内的SIMD向量对齐必须被考虑。水平SIMD向量对齐意味着SIMD向量中的所有数据元素属于区块中的相同行。相似地,垂直SIMD向量对齐意味着SIMD向量中的所有数据元素属于区块中的相同列。单个区块运算采用特定SIMD向量对齐,并且偶然地,区块内的SIMD向量对齐必须倒转。这可以通过使用矩阵转置运算来完成。可以按照SIMD指令来表达条带运算,并且特化可以使用人为展开的循环或者通过使用模板展开的循环来发生。
在第二示例的部分实施中,最优化算法通过对二十组分混合物执行EOS计算并为各种子算法记录平均执行时间来测试。不包括涉及使用条带的最优化。表1示出针对稳定性和分相算法获得的执行时间。实施的最优化导致2.2倍的平均加速。
表1:用于稳定性和分相算法的执行时间
算法 之前 之后 加速
稳定性 107μs 42.5μs 2.51x
分相 60.6μs 32.8μs 1.85x
总计 168μs 75.9μs 2.21x
加速主要由在稳定性和分相算法中执行的牛顿算法中的显著性能改进而引起。表2示出在应用到稳定性和分相算法时关于逐次代换和牛顿算法两者所见的性能改进。
表2:用于逐次代换和牛顿算法的执行时间
算法 之前 之后 加速
逐次代换(S) 24.7μs 19.7μs 1.25x
逐次代换(PS) 22.8μs 19.1μs 1.19x
牛顿(S) 82.0μs 22.8μs 3.60x
牛顿(PS) 37.8μs 13.7μs 2.76x
S=稳定性,PS=分相
因为矩阵运算中的若干发生牛顿算法,并且矩阵运算可以大幅受益于本文描述的最优化,所以在牛顿算法中的显著加速是可预期的。牛顿算法在计算涉及矩阵-向量乘法的EOS参数和寻求三次方程的根的同时调用少数基础子算法例如雅可比和线性求解器。表3列出在这些基础算法中的性能改进。显著加速在线性求解器中发生,其中性能被提高近六倍。
表3:用于基础算法的执行时间
算法 之前 之后 加速
EOS参数 0.69μs 0.36μs 1.92x
逸度导数 1.27μs 0.59μs 2.15x
雅可比(S) 1.48μs 0.37μs 3.97x
雅可比(PS) 3.91μs 1.54μs 2.54x
线性求解器 9.40μs 1.65μs 5.70x
S=稳定性,PS=分相
III.第三示例可应用于支持任意长度的SIMD向量的硬件。该实施方式通过将循环重排序以使最内循环取决于同时计算的数目,来使用SIMD向量并行运行若干算法。如本文描述,单精度和双精度SIMD向量都可以被使用在向量化中。数据组织或存储可以包括将区块交错从而与在存储器中顺序地存储区块相反。将区块交错可以改进SIMD向量化。交错区块的数目可以匹配SIMD向量的长度,其还可以取决于硬件体系结构。可以用相似形式交错条带。表4示出与参考执行时间相比,针对用于第二和第三途径的稳定性和分相算法获得的执行时间。
表4:用于稳定性和分相算法的执行时间
算法 参考 第二途径 第三途径
稳定性 107μs 42.2μs 14.0μs
分相 59.9μs 33.5μs 9.7μs
总计 167μs 75.7μs 23.7μs
表5示出与参考执行时间相比,逐次代换和牛顿算法两者应用到用于第二和第三途径的稳定性和分相算法时所见的性能改进。
表5:用于逐次代换和牛顿算法的执行时间
算法 参考 第二途径 第三途径
逐次代换(S) 24.5μs 19.9μs 4.5μs
逐次代换(PS) 23.0μs 19.6μs 3.0μs
牛顿(S) 82.0μs 22.3μs 9.5μs
牛顿(PS) 37.9μs 13.9μs 6.7μs
S=稳定性,PS=分相
表6列出与参考执行时间相比,在用于第二和第三途径的这些基础算法中的性能改进。注意表4-6分别包括稍不同于表1-3中的结果的用于第二途径的更新计算。
表6:用于基础算法的执行时间
算法 参考 第二途径 第三途径
EOS参数 0.69μs 0.36μs 0.11μs/0.24μs
逸度导数 1.26μs 0.59μs 0.18μs
雅可比(S) 1.48μs 0.37μs 0.16μs
雅可比(PS) 3.91μs 1.53μs 0.43μs
线性求解器 9.17μs 1.48μs 0.47μs
S=稳定性,PS=分相
在第三示例中,区块大小可以不再受向量长度影响,并可以被选择用于尽可能有效地利用寄存器。在其中少量高速缓存存储器可用的GPU上,区块大小可以被选择用于减少主存储器和高速缓存存储器之间的数据传递。同样地,条带长度不再受向量长度影响并可以被选择用于匹配区块大小。
进一步地,区块运算可以被重设计为按照SIMD指令工作。由于不同的数据结构,因此第三示例中的设计可以不同于第二示例中的设计。矩阵转置运算可以不再是必需的。相似地,除了使用基于SIMD的区块运算以外,第三示例中的线性求解器可以与第一示例中的线性求解器相同。可以按照SIMD指令来表达条带运算并且可以使用特化。线性求解器中的复杂循环可以被人为展开或通过使用模板来展开。
工业示例
本文描述的指令受限算法中的矩阵和向量最优化可以在各种情境中应用,例如3D图形分析、加密、数据挖掘、压缩、信号处理、图像处理、链式法则评估、数值法例如有限元和有限体积分析,以及模式识别例如地震模式。在3D图形分析的情况下,矩阵可以微小因此区块化可以不必需,但本文描述的其他最优化可以使用。在其他情况例如图像处理中,矩阵可以巨大因此运算是存储器约束的,并且最大速度在为存储器和高速缓存之间有效数据传递将矩阵区块化时获得。对于这样的巨大矩阵,嵌套区块化策略可以用来将不同高速缓存级之间与高速缓存和寄存器之间数据传递最优化。寻找最优区块大小可以依靠试错法。此外使用非均匀区块在区块大小的选择上提供自由。
另外,将本技术与有限元法一起使用可以在对每个区块运算时确保最大效率而不在块大小上放置任何约束。在每个有限元数值单元内的变化可以由形状函数描述。这可以意味着从形状函数导致的线性系统的系数矩阵是块稀疏的,其中非零元素成群出现。稀疏矩阵存储格式可以通过在存储器中毗连存储每个区块来利用该结构。块稀疏矩阵也可以在其他数值法例如有限体积法中出现。
本技术可以应用于地震模式识别,其中一组矩阵运算在每个数据点和每个数据点的邻近数据点上执行。包括的邻近数据点定义中心在所关注数据点上的3D窗口。3D窗口的大小和形状由人们寻找的特征确定。通过区块化,矩阵运算可以更有效。
本技术也可以应用于链式法则,其中链式法则用来计算当两组变量之间具有隐关系时一组变量相对于另一组变量的导数。区块和条带最优化可以应用,其中微小矩阵向量运算与链式法则相关。
同样,区块和条带最优化可以在任意硬件体系结构上的EOS模型中应用于EOS计算。EOS计算可以用来确定混合物的稳定热动力状态,并通常包括数个嵌套循环。与EOS计算中的循环相关的循环和跳跃开销可以与循环内的运算一样计算上昂贵。分析EOS模型的工作一般集中在减少与EOS计算相关的计算工作上,而不注意单个EOS计算如何可以实施以完全利用基础硬件。
寻找混合物的稳定热动力状态对应于寻找热动力函数例如吉布斯自由能的全局最小值。尽管全局最小化技术存在,但它们一般过于计算昂贵从而不能在储层仿真中包括。结果石油工业主要集中在其中EOS计算分成稳定性测试和分相计算的方程求解途径上。
稳定性测试可以确定给定相态是否稳定或被分成至少两个不同相态。如果测试相态不稳定,则所有相态的量和成分可以由分相计算确定。随后稳定性测试可以为新相态中的至少一个重复从而确定更多相态是否存在。稳定性测试可以重复直到确定相态的稳定配置。一般地,认为水不可与所有其他相态混溶,并且仅非水相态在EOS计算中包括。
图6是概述根据本技术的实施例的执行EOS计算的方法的过程流程图。在方框602处,开始点用平衡比Ki的猜测初始化,该平衡比Ki定义为相态B和参考相态A之间的组分i的摩尔分数ni,以使满足方程1中的状况。
K i = n i B / n i A - - - ( 1 )
在方框604处,稳定性测试基于Ki的初始猜测,检查极少量的第二相态的形成是否影响混合物的吉布斯自由能。即,稳定性测试可以确定混合物是否被分成至少两个相态。使用一阶泰勒展开式证明原成分的微小扰动,从而描述丰富相态的吉布斯自由能。所得的有待求解的非线性方程组在方程2中示出。
在方程2中,μ是化学势,是逸度,并且上标“0”表示原混合物的流体性质。变量Ni通过在方程3中示出的表达式涉及摩尔分数ni
ni=Ni/∑Nj    (3)
在方框606处确定混合物的稳定性。如果稳定性测试断定混合物稳定,则方法进展到方框610。因为仅有一个相态存在并且吉布斯自由能不随着另一相态形成而降低,所以稳定混合物不需要进一步分相。然而如果稳定性测试断定吉布斯自由能随着另一相态形成而降低,则混合物不稳定并且方法进展到方框608。在方框608处执行分相计算。分相确定在每个仿真单元中存在的每个相态的量和成分。有待求解的对应非线性方程组表达相态之间化学平衡,如在方程4中示出。
可从质量守恒示出摩尔分数ni由方程5中的表达式涉及平衡比。
n i A = n i 0 / ( 1 + β ( K i - 1 ) ) , n i B = K i n i A - - - ( 5 )
在方程5中,β是由方程6给出的Rachford-Rice方程的解。
RR = Σ n i 0 ( K i - 1 ) / ( 1 + β ( K i - 1 ) ) = 0 - - - ( 6 )
该途径容易延伸到多相态。
在完成分相计算后,方法进展到方框610,其中为每个相态计算所选择流体性质和导数。在将仿真中每个相态的流动建模时需要该信息。
稳定性和分相方程的非线性性质需要迭代解规程。普遍途径是使用逐次代换(SS)直到符合切换准则并然后使用牛顿迭代直到收敛。
图7是概述根据本技术的实施例的用于EOS计算的稳定性和分相算法的迭代性质的过程流程图700。在方框702执行逐次代换。逐次代换的步骤在图8中进一步描述。在方框704执行对逐次代换收敛的检查。如果逐次代换收敛则方法进展到方框706。如果逐次代换不收敛则方法返回到方框702。这样,逐次代换在循环中执行直到符合切换准则,如下面描述。
同样在方框706执行牛顿计算。牛顿计算的步骤在图8中进一步描述。在方框708执行对牛顿计算收敛的检查。如果牛顿计算收敛则方法进展到方框710。如果牛顿计算不收敛则方法返回到方框706。这样,牛顿计算在循环中执行直到计算收敛。
通常,检查收敛可以意味着将方程2或方程4的残差的范数与预定准则比较。借助逐次代换循环,准则可以相对宽松,而用于牛顿循环的准则可以严格得多。因为逐次代换循环的转换准则确定算法何时切换到牛顿循环,所以其频繁称为切换准则。
图8是概述根据本技术的实施例的执行逐次代换(图7的方框702)和牛顿算法(图7的方框706)的方法的过程流程图800。逐次代换(图7的方框702)和牛顿算法(图7的方框706)都涉及相同基础计算。在方框802更新成分。逐次代换(图7的方框702)和牛顿算法(图7的方框706)的主要区别是如何更新成分。
当执行逐次代换时,成分通过直接从方程2和方程4更新ln Ni和ln Ki来更新。随后对应摩尔分数分别从方程3和方程5计算。牛顿算法基于方程2和方程4的残差更新成分。方程2和方程4的残差可以描述为每个分别方程的左侧偏离零的量。残差如何精确转变为成分更新由线性系统的雅可比矩阵确定。线性系统的雅可比矩阵分别指代方程2和方程4的导数的矩阵。另外扭断算法涉及计算逸度导数并求解线性方程组,如在图9中进一步解释。
尽管每当提供良好初始猜测时牛顿法迅速收敛,但其可以在初始猜测远离真实解时发散。因此更鲁棒的逐次代换可以用来获得良好初始猜测。牛顿算法可以然后应用直到收敛。尽管牛顿算法比逐次代换计算上更昂贵,但成本可以由提高的收敛速率证明是合理的。
在方框804,EOS参数更新,并且在方框806逸度系数更新。在方框808残差更新。在方框810执行对收敛的检查。如果算法收敛则方法在方框812终止。如果算法不收敛则方法返回到方框802。
图9是概述如何可以在牛顿迭代内更新成分的方法的过程流程图。在方框902计算关于摩尔分数的逸度导数。
在方框904逸度导数用来构建有待求解的非线性方程组的雅可比矩阵。雅可比矩阵定义为关于主变量的残差导数。在稳定性和分相算法中,残差由方程2和方程4分别定义。
在方框906,所得的线性方程组经求解更新主变量。一旦主变量确定则成分容易更新。通过特化,EOS算法可以为所选择数目的组分生成,允许编译器展开更多循环。同样,SIMD/SIMT向量化的可替换使用是通过将循环重排序以使最内循环取决于同时EOS计算的数目,为多种混合物并行运行EOS计算。因为与矩阵运算相关的循环的迭代数目取决于代替混合物中组分数目的区块数目,所以使用区块在EOS计算中减少循环和跳跃开销。EOS区块运算也可以用来计算逸度导数,并用于在牛顿算法中构建雅可比矩阵。牛顿算法也使用线性求解器。在EOS计算中,雅可比矩阵是稠密的以使大多数元素非零。求解具有稠密雅可比矩阵的线性方程组的两个普遍算法是都可以按照区块运算表述的高斯消去和LU分解。
系统
图10是根据本技术的实施例的计算机系统1000的框图,该计算机系统1000可以用来在指令受限算法中最优化矩阵和向量计算。中央处理单元(CPU)1002耦合到系统总线1004。CPU1002可以是任何通用CPU,尽管只要CPU1002(和示范系统1000的其他部件)支持如本文描述的运算,则其他类型体系结构的CPU1002(或示范系统1000的其他部件)可以使用。本领域技术人员认识到尽管仅单个CPU1002在图10中示出,但另外CPU可以存在。此外计算机系统1000可以包括图形处理单元(GPU)1014。系统可以包括联网多处理器计算机系统,该联网多处理器计算机系统可以包括混合并行CPU/GPU系统。CPU1002和GPU1014可以根据各种示范实施例执行逻辑指令。例如CPU1002可以与GPU1014并行执行指令以便根据上面连同图1和6-9描述的运算流程执行处理。所描述的处理可以并行执行。
计算机系统1000也可以包括计算机部件例如非暂时性计算机可读介质。计算机可读介质的示例包括可以是SRAM、DRAM、SDRAM等的随机访问存储器(RAM)1006。计算机系统1000也可以包括另外非暂时性计算机可读介质例如只读存储器(ROM)1008,该ROM1008可以是PROM、EPROM、EEPROM等。RAM1006和ROM1008保存用户和系统数据和程序,如在本领域中已知。计算机系统1000也可以包括输入/输出(I/O)适配器1010、通信适配器1022、用户接口适配器1024、显示驱动器1016和显示适配器1018。I/O适配器1010、用户接口适配器1024和/或通信适配器1022可以在某些实施例中使用户能够与计算机系统1000交互以便输入信息。
I/O适配器1010可以将另外非暂时性机器可读介质例如存储装置1012连接到计算机系统1000,该存储介质1012包括例如硬盘驱动器、紧凑光盘(CD)驱动器、软盘驱动器、磁带驱动器等。存储装置可以在RAM1006不满足相关为本技术的实施例的运算存储数据的存储器需求时利用。计算机系统1000的数据存储可以用于存储信息和/或如本文所讨论的使用或生成的其他数据。用户接口适配器1024将用户输入装置例如键盘1028、指点装置1026和/或输出装置耦合到计算机系统1000。根据某些示范实施例,显示适配器1018由CPU1002驱动以控制显示装置1020上的显示,从而例如显示关于从计算所得的仿真的显示信息或表示。
系统1000的体系结构可以按希望变化。例如,任何合适的基于处理器的装置可以使用,无限制包括个人计算机、膝上计算机、计算机工作站和多处理器服务器。此外,实施例可以在专用集成电路(ASIC)或超大规模集成(VLSI)电路上实施。实际上,本领域技术人员可以使用能够根据实施例执行逻辑运算的任何数目的合适结构。
在实施例中,到计算机系统1000的输入数据可以包括3D图形数据、图像数据、储层模型和EOS模型。输入数据可以另外包括各种矩阵和向量数据。
本技术可以容易受到各种修改和可替换形式,并且在上面讨论的示范实施例仅作为示例示出。然而本技术不意图限于本文披露的具体实施例。当然,本技术包括落入附属权利要求的真实精神和保护范围内的全部替换、修改和等效。

Claims (20)

1.一种在执行EOS计算的指令受限算法中最优化矩阵和向量运算的方法,其包括:
将与EOS稳定性方程或EOS分相方程相关的每个矩阵分成数个区块,其中所述区块的大小是非均匀的或均匀的;
将与所述EOS稳定性方程或所述EOS分相方程相关的每个向量分成数个条带;
在主存储器、高速缓存或寄存器中存储所述区块和条带;以及
使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算。
2.根据权利要求1所述的方法,包括在主存储器、高速缓存或寄存器中顺序或交错存储区块或条带。
3.根据权利要求1所述的方法,其中为了最小化单个硬件体系结构内的不同等级的存储器之间的数据传递而选择所述区块的大小。
4.根据权利要求1所述的方法,包括基于与所述EOS计算相关的区块或条带大小展开循环。
5.根据权利要求1所述的方法,包括将每个矩阵分成数个区块,其中所述矩阵被填充为允许使用均匀区块的大小。
6.根据权利要求1所述的方法,包括通过特化展开循环,其中数个不同EOS算法针对具有不同的数个组分的混合物被生成。
7.根据权利要求1所述的方法,包括EOS计算或与EOS计算相关的所述区块和所述条带内数据元素的单精度、双精度或混合精度向量化使用单指令多数据或单指令多线程向量指令。
8.一种被适配用于在执行EOS计算的指令受限算法中的最优化矩阵和向量运算的计算机系统,所述计算机系统包括:
处理器;以及
有形机器可读存储介质,所述有形机器可读存储介质存储用于由所述处理器执行的机器可读指令,所述机器可读指令包括:
代码,所述代码在由所述处理器执行时被适配为使所述处理器将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块,其中所述区块大小是非均匀的或均匀的;
代码,所述代码在由所述处理器执行时被适配为使所述处理器将与所述EOS稳定性方程和所述EOS分相方程相关的每个向量分成数个条带;
代码,所述代码在由所述处理器执行时被适配为使所述处理器在主存储器、高速缓存或寄存器中存储所述区块和条带;以及
代码,所述代码在由所述处理器执行时被适配为使所述处理器使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算。
9.根据权利要求8所述的系统,其中所述处理器形成标量硬件体系结构或矢量硬件体系结构。
10.根据权利要求8所述的系统,包括顺序或交错存储区块或条带的主存储器、高速缓存或寄存器。
11.根据权利要求8所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器基于与所述EOS计算相关的区块或条带大小展开循环。
12.根据权利要求8所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器将每个矩阵分成数个区块,其中所述矩阵被填充为允许使用均匀区块的大小。
13.根据权利要求8所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器为具有不同的数个组分的混合物生成数个不同EOS算法。
14.根据权利要求8所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器使用单指令多数据或单指令多线程向量指令,执行单精度、双精度或混合精度EOS计算或与EOS计算相关的所述区块和所述条带内的数据元素的向量化。
15.一种包括代码的非暂时性计算机可读介质,所述代码被配置为引导处理器:
将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块,其中所述区块大小是非均匀的或均匀的;
将与所述EOS稳定性方程和所述EOS分相方程相关的每个向量分成数个条带;
在主存储器、高速缓存或寄存器中存储所述区块和条带;以及
使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算。
16.根据权利要求15所述的非暂时性计算机可读介质,包括在主存储器、高速缓存或寄存器中顺序或交错存储区块或条带。
17.根据权利要求15所述的非暂时性计算机可读介质,包括基于与所述EOS计算相关的区块或条带大小展开循环。
18.根据权利要求15所述的非暂时性计算机可读介质,包括将每个矩阵分成数个区块,其中所述矩阵被填充为允许使用均匀区块的大小。
19.根据权利要求15所述的非暂时性计算机可读介质,包括通过特化展开循环,其中数个不同EOS算法针对具有不同的数个组分的混合物被生成。
20.根据权利要求15所述的非暂时性计算机可读介质,包括EOS计算或与EOS计算相关的所述区块和所述条带内的数据元素的单精度、双精度或混合精度向量化使用单指令多数据或单指令多线程向量指令。
CN201280045166.4A 2011-09-15 2012-07-23 在执行eos计算的指令受限算法中最优化矩阵和向量运算 Expired - Fee Related CN103959233B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161535131P 2011-09-15 2011-09-15
US61/535,131 2011-09-15
PCT/US2012/047860 WO2013039606A1 (en) 2011-09-15 2012-07-23 Optimized matrix and vector operations in instruction limited algorithms that perform eos calculations

Publications (2)

Publication Number Publication Date
CN103959233A true CN103959233A (zh) 2014-07-30
CN103959233B CN103959233B (zh) 2017-05-17

Family

ID=47883604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280045166.4A Expired - Fee Related CN103959233B (zh) 2011-09-15 2012-07-23 在执行eos计算的指令受限算法中最优化矩阵和向量运算

Country Status (6)

Country Link
US (1) US9489176B2 (zh)
EP (1) EP2756382A4 (zh)
CN (1) CN103959233B (zh)
BR (1) BR112014005794A2 (zh)
CA (1) CA2843929C (zh)
WO (1) WO2013039606A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227669A (zh) * 2015-10-15 2016-01-06 浪潮(北京)电子信息产业有限公司 一种面向深度学习的cpu与gpu混合的集群架构系统
WO2017185405A1 (zh) * 2016-04-26 2017-11-02 北京中科寒武纪科技有限公司 一种用于执行向量外积运算的装置和方法
CN111047017A (zh) * 2019-12-18 2020-04-21 北京安兔兔科技有限公司 一种神经网络算法的评估方法、装置及电子设备
CN112947932A (zh) * 2021-02-24 2021-06-11 上海商汤智能科技有限公司 对编译过程中的向量化进行优化的方法、装置及电子设备
CN113641956A (zh) * 2021-08-05 2021-11-12 中国科学院软件研究所 面向SW26010-Pro处理器的1、2级BLAS函数库的高性能实现方法
CN113704687A (zh) * 2020-05-21 2021-11-26 杭州海康威视数字技术股份有限公司 一种张量计算运行方法、装置及运算系统
CN117421847A (zh) * 2023-12-19 2024-01-19 上海叁零肆零科技有限公司 天然气管网仿真稳态求解的迭代加速方法、介质及设备
CN112947932B (zh) * 2021-02-24 2024-06-07 上海商汤智能科技有限公司 对编译过程中的向量化进行优化的方法、装置及电子设备

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2564309A4 (en) 2010-04-30 2017-12-20 Exxonmobil Upstream Research Company Method and system for finite volume simulation of flow
CA2803066A1 (en) 2010-07-29 2012-02-02 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
CA2803068C (en) 2010-07-29 2016-10-11 Exxonmobil Upstream Research Company Method and system for reservoir modeling
US9058446B2 (en) 2010-09-20 2015-06-16 Exxonmobil Upstream Research Company Flexible and adaptive formulations for complex reservoir simulations
US9489176B2 (en) 2011-09-15 2016-11-08 Exxonmobil Upstream Research Company Optimized matrix and vector operations in instruction limited algorithms that perform EOS calculations
CA2883169C (en) 2012-09-28 2021-06-15 Exxonmobil Upstream Research Company Fault removal in geological models
US9015656B2 (en) * 2013-02-28 2015-04-21 Cray Inc. Mapping vector representations onto a predicated scalar multi-threaded system
US11507574B1 (en) * 2013-03-13 2022-11-22 Actian Netherlands B.V. Adaptive selection of a processing method based on observed performance for improved and robust system efficiency
US10061591B2 (en) 2014-06-27 2018-08-28 Samsung Electronics Company, Ltd. Redundancy elimination in single instruction multiple data/thread (SIMD/T) execution processing
US10061592B2 (en) * 2014-06-27 2018-08-28 Samsung Electronics Co., Ltd. Architecture and execution for efficient mixed precision computations in single instruction multiple data/thread (SIMD/T) devices
AU2015298233B2 (en) 2014-07-30 2018-02-22 Exxonmobil Upstream Research Company Method for volumetric grid generation in a domain with heterogeneous material properties
US9619214B2 (en) 2014-08-13 2017-04-11 International Business Machines Corporation Compiler optimizations for vector instructions
WO2016060645A1 (en) * 2014-10-14 2016-04-21 Landmark Graphics Corporation Using representative elemental volume to determine subset volume in an area of interest earth model
EP3213125A1 (en) 2014-10-31 2017-09-06 Exxonmobil Upstream Research Company Corp-urc-e2. 4A.296 Methods to handle discontinuity in constructing design space for faulted subsurface model using moving least squares
CA2963416A1 (en) 2014-10-31 2016-05-06 Exxonmobil Upstream Research Company Handling domain discontinuity in a subsurface grid model with the help of grid optimization techniques
CA2963928C (en) * 2014-11-12 2019-06-25 Halliburton Energy Services, Inc. Reservoir mesh creation using extended anisotropic, geometry-adaptive refinement of polyhedra
US10169014B2 (en) 2014-12-19 2019-01-01 International Business Machines Corporation Compiler method for generating instructions for vector operations in a multi-endian instruction set
US9588746B2 (en) 2014-12-19 2017-03-07 International Business Machines Corporation Compiler method for generating instructions for vector operations on a multi-endian processor
KR101999639B1 (ko) 2015-02-06 2019-07-12 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 처리 시스템, 계산 노드 및 데이터 처리 방법
US9880821B2 (en) 2015-08-17 2018-01-30 International Business Machines Corporation Compiler optimizations for vector operations that are reformatting-resistant
US9594668B1 (en) 2015-09-04 2017-03-14 International Business Machines Corporation Debugger display of vector register contents after compiler optimizations for vector instructions
US10061748B2 (en) * 2015-12-11 2018-08-28 Sap Se Adaptive tile matrix representation and multiplication
WO2018118374A1 (en) * 2016-12-23 2018-06-28 Exxonmobil Upstream Research Company Method and system for stable and efficient reservoir simulation using stability proxies
US10896367B2 (en) * 2017-03-07 2021-01-19 Google Llc Depth concatenation using a matrix computation unit
US10387160B2 (en) 2017-04-01 2019-08-20 Intel Corporation Shared local memory tiling mechanism
US10726514B2 (en) * 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
JP6907700B2 (ja) * 2017-05-23 2021-07-21 富士通株式会社 情報処理装置、マルチスレッド行列演算方法、およびマルチスレッド行列演算プログラム
KR101910871B1 (ko) * 2017-08-31 2018-12-31 주식회사 화승알앤에이 3차원 좌표를 이용한 튜브의 레이아웃을 해석하는 방법 및 기록매체
CN108280468B (zh) * 2018-01-15 2022-01-11 上海电机学院 一种基于网格的图像识别方法
WO2019147689A1 (en) 2018-01-23 2019-08-01 Baker Hughes, A Ge Company, Llc Methods of evaluating drilling performance, methods of improving drilling performance, and related systems for drilling using such methods
US20210080371A1 (en) * 2018-02-20 2021-03-18 The Penn State Research Foundation Computer system and method for predicting petrophysical properties in a fluid having one or more phases in porous media
WO2020073211A1 (zh) * 2018-10-09 2020-04-16 华为技术有限公司 运算加速器、处理方法及相关设备
US10808517B2 (en) 2018-12-17 2020-10-20 Baker Hughes Holdings Llc Earth-boring systems and methods for controlling earth-boring systems
CN111338974A (zh) * 2018-12-19 2020-06-26 超威半导体公司 用于矩阵数学指令集的图块化算法
US11475102B2 (en) 2019-02-21 2022-10-18 Samsung Electronics Co., Ltd. Adaptive matrix multiplication accelerator for machine learning and deep learning applications
US11429310B2 (en) 2020-03-06 2022-08-30 Samsung Electronics Co., Ltd. Adjustable function-in-memory computation system
US11232360B1 (en) 2021-03-29 2022-01-25 SambaNova Systems, Inc. Lossless tiling in convolution networks—weight gradient calculation
US11263170B1 (en) 2021-03-29 2022-03-01 SambaNova Systems, Inc. Lossless tiling in convolution networks—padding before tiling, location-based tiling, and zeroing-out
US11250061B1 (en) 2021-03-29 2022-02-15 SambaNova Systems, Inc. Lossless tiling in convolution networks—read-modify-write in backward pass
US11195080B1 (en) 2021-03-29 2021-12-07 SambaNova Systems, Inc. Lossless tiling in convolution networks—tiling configuration
US11227207B1 (en) 2021-03-29 2022-01-18 SambaNova Systems, Inc. Lossless tiling in convolution networks—section boundaries
WO2022208173A2 (en) * 2021-04-01 2022-10-06 Mobileye Vision Technologies Ltd. Vectorizing a loop

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020177986A1 (en) * 2001-01-17 2002-11-28 Moeckel George P. Simulation method and system using component-phase transformations
US20060036418A1 (en) * 2004-08-12 2006-02-16 Pita Jorge A Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
US20070255779A1 (en) * 2004-06-07 2007-11-01 Watts James W Iii Method For Solving Implicit Reservoir Simulation Matrix
US20070282582A1 (en) * 2006-06-06 2007-12-06 Chevron U.S.A. Inc. Efficient Application Of Reduced Variable Transformation And Conditional Stability Testing In Reservoir Simulation Flash Calculations
US20090306943A1 (en) * 2006-10-05 2009-12-10 North Carolina State University Methods, systems and computer program products for reduced order model adaptive simulation of complex systems
US20110066285A1 (en) * 2009-09-15 2011-03-17 Invensys Systems Inc. Thermodynamic Phase Equilibrium Analysis Based on a Reduced Composition Domain
US7937359B1 (en) * 2004-03-08 2011-05-03 Nvidia Corporation Method of operation for parallel LCP solver

Family Cites Families (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537320A (en) 1994-10-31 1996-07-16 Landmark Graphics Corporation Method and apparatus for identifying fault curves in seismic data
US5706194A (en) 1995-06-01 1998-01-06 Phillips Petroleum Company Non-unique seismic lithologic inversion for subterranean modeling
US5629845A (en) * 1995-08-17 1997-05-13 Liniger; Werner Parallel computation of the response of a physical system
FR2739446B1 (fr) 1995-09-28 1997-10-24 Inst Francais Du Petrole Methode pour mesurer avec une grande precision la variation de volume intervenant lors du melange de phases fluides, dans le but de determiner des caracteristiques physico-chimiques
US5710726A (en) 1995-10-10 1998-01-20 Atlantic Richfield Company Semi-compositional simulation of hydrocarbon reservoirs
US5671136A (en) 1995-12-11 1997-09-23 Willhoit, Jr.; Louis E. Process for seismic imaging measurement and evaluation of three-dimensional subterranean common-impedance objects
FR2744224B1 (fr) 1996-01-26 1998-04-17 Inst Francais Du Petrole Methode pour simuler le remplissage d'un bassin sedimentaire
US5838634A (en) 1996-04-04 1998-11-17 Exxon Production Research Company Method of generating 3-D geologic models incorporating geologic and geophysical constraints
FR2748516B1 (fr) 1996-05-07 1998-06-26 Inst Francais Du Petrole Methode pour realiser un modele cinematique en 2d de bassins geologiques affectes par des failles
US6014343A (en) 1996-10-31 2000-01-11 Geoquest Automatic non-artificially extended fault surface based horizon modeling system
US5666367A (en) * 1996-11-08 1997-09-09 Hewlett-Packard Company Method for simulating a circuit
US6128577A (en) 1996-12-19 2000-10-03 Schlumberger Technology Corporation Modeling geological structures and properties
US5924048A (en) 1997-03-14 1999-07-13 Mccormack; Michael D. Automated material balance system for hydrocarbon reservoirs using a genetic procedure
US6106561A (en) 1997-06-23 2000-08-22 Schlumberger Technology Corporation Simulation gridding method and apparatus including a structured areal gridder adapted for use by a reservoir simulator
US5992519A (en) 1997-09-29 1999-11-30 Schlumberger Technology Corporation Real time monitoring and control of downhole reservoirs
WO1999028767A1 (en) 1997-12-01 1999-06-10 Schlumberger Limited Method and apparatus for creating, testing, and modifying geological subsurface models
US6052520A (en) 1998-02-10 2000-04-18 Exxon Production Research Company Process for predicting behavior of a subterranean formation
WO1999057418A1 (en) 1998-05-04 1999-11-11 Schlumberger Evaluation & Production (Uk) Services Near wellbore modeling method and apparatus
US6765570B1 (en) 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
US6018498A (en) 1998-09-02 2000-01-25 Phillips Petroleum Company Automated seismic fault detection and picking
US6662146B1 (en) 1998-11-25 2003-12-09 Landmark Graphics Corporation Methods for performing reservoir simulation
AU3229900A (en) 1999-02-12 2000-08-29 Prange, Michael Uncertainty constrained subsurface modeling
US6230101B1 (en) 1999-06-03 2001-05-08 Schlumberger Technology Corporation Simulation method and apparatus
US6826520B1 (en) 1999-06-24 2004-11-30 Exxonmobil Upstream Research Company Method of upscaling permeability for unstructured grids
US6826483B1 (en) 1999-10-13 2004-11-30 The Trustees Of Columbia University In The City Of New York Petroleum reservoir simulation and characterization system and method
US6480790B1 (en) 1999-10-29 2002-11-12 Exxonmobil Upstream Research Company Process for constructing three-dimensional geologic models having adjustable geologic interfaces
FR2800881B1 (fr) 1999-11-05 2001-11-30 Inst Francais Du Petrole Methode pour realiser en 3d un modele cinematique de deformation d'un bassin sedimentaire
US6374185B1 (en) 2000-02-18 2002-04-16 Rdsp I, L.P. Method for generating an estimate of lithological characteristics of a region of the earth's subsurface
US6980940B1 (en) 2000-02-22 2005-12-27 Schlumberger Technology Corp. Intergrated reservoir optimization
US6370491B1 (en) 2000-04-04 2002-04-09 Conoco, Inc. Method of modeling of faulting and fracturing in the earth
US6826521B1 (en) 2000-04-06 2004-11-30 Abb Automation Inc. System and methodology and adaptive, linear model predictive control based on rigorous, nonlinear process model
GB0017227D0 (en) 2000-07-14 2000-08-30 Schlumberger Ind Ltd Fully coupled geomechanics in a commerical reservoir simulator
US7415401B2 (en) 2000-08-31 2008-08-19 Exxonmobil Upstream Research Company Method for constructing 3-D geologic models by combining multiple frequency passbands
US20020049575A1 (en) 2000-09-28 2002-04-25 Younes Jalali Well planning and design
GB2386811B (en) 2000-12-18 2005-06-08 Schlumberger Holdings Method and apparatus for visualization of 3D voxel data using lit opacity volumes with shading
US6664961B2 (en) 2000-12-20 2003-12-16 Rutgers, The State University Of Nj Resample and composite engine for real-time volume rendering
FR2818742B1 (fr) 2000-12-22 2003-02-14 Inst Francais Du Petrole Methode pour former un module a reseaux neuronaux optimise, destine a simuler le mode d'ecoulement d'une veine de fluides polyphasiques
US6690820B2 (en) 2001-01-31 2004-02-10 Magic Earth, Inc. System and method for analyzing and imaging and enhanced three-dimensional volume data set using one or more attributes
US6901391B2 (en) 2001-03-21 2005-05-31 Halliburton Energy Services, Inc. Field/reservoir optimization utilizing neural networks
US7286972B2 (en) 2001-04-17 2007-10-23 Livermore Software Technology Corporation Implicit-explicit switching for finite element analysis
CA2834997C (en) 2001-04-18 2016-09-13 Landmark Graphics Corporation, A Halliburton Company Volume body renderer
WO2002086277A2 (en) 2001-04-24 2002-10-31 Exxonmobil Upstream Research Company Method for enhancing production allocation in an integrated reservoir and surface flow system
WO2002099464A1 (en) 2001-06-06 2002-12-12 Schlumberger Canada Limited Automated system for modeling faulted multi-valued horizons
US7248259B2 (en) 2001-12-12 2007-07-24 Technoguide As Three dimensional geological model construction
US7606691B2 (en) 2001-12-13 2009-10-20 Exxonmobil Upstream Research Company Method for locally controlling spatial continuity in geologic models
US7069149B2 (en) 2001-12-14 2006-06-27 Chevron U.S.A. Inc. Process for interpreting faults from a fault-enhanced 3-dimensional seismic attribute volume
US6694264B2 (en) 2001-12-19 2004-02-17 Earth Science Associates, Inc. Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system
US7523024B2 (en) 2002-05-17 2009-04-21 Schlumberger Technology Corporation Modeling geologic objects in faulted formations
US7627504B2 (en) 2002-10-31 2009-12-01 Thomson Reuters (Tax and Accounting) Services, Inc. Information processing system for determining tax information
US7225324B2 (en) 2002-10-31 2007-05-29 Src Computers, Inc. Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
US20060122780A1 (en) 2002-11-09 2006-06-08 Geoenergy, Inc Method and apparatus for seismic feature extraction
US8401832B2 (en) 2002-11-23 2013-03-19 Schlumberger Technology Corporation Method and system for integrated reservoir and surface facility networks simulations
FR2848320B1 (fr) 2002-12-10 2005-01-28 Inst Francais Du Petrole Methode pour modeliser des caracteristiques hydrodynamiques d'ecoulements polyphasiques par reseaux de neurones
US7379854B2 (en) 2002-12-19 2008-05-27 Exxonmobil Upstream Research Company Method of conditioning a random field to have directionally varying anisotropic continuity
FR2849211B1 (fr) 2002-12-20 2005-03-11 Inst Francais Du Petrole Methode de modelisation pour constituer un modele simulant le remplissage multilithologique d'un bassin sedimentaire
US8374974B2 (en) 2003-01-06 2013-02-12 Halliburton Energy Services, Inc. Neural network training data selection using memory reduced cluster analysis for field model development
US7280952B2 (en) 2003-01-28 2007-10-09 Conocophillips Company Well planning using seismic coherence
US7096172B2 (en) 2003-01-31 2006-08-22 Landmark Graphics Corporation, A Division Of Halliburton Energy Services, Inc. System and method for automated reservoir targeting
US6823297B2 (en) 2003-03-06 2004-11-23 Chevron U.S.A. Inc. Multi-scale finite-volume method for use in subsurface flow simulation
NO322089B1 (no) 2003-04-09 2006-08-14 Norsar V Daglig Leder Fremgangsmate for simulering av lokale prestakk dypmigrerte seismiske bilder
US7835893B2 (en) 2003-04-30 2010-11-16 Landmark Graphics Corporation Method and system for scenario and case decision management
US7539625B2 (en) 2004-03-17 2009-05-26 Schlumberger Technology Corporation Method and apparatus and program storage device including an integrated well planning workflow control system with process dependencies
US7096122B2 (en) 2003-07-22 2006-08-22 Dianli Han Method for producing full field radial grid for hydrocarbon reservoir simulation
NL1024444C2 (nl) 2003-10-03 2005-04-08 J O A Beheer B V Werkwijze, inrichting, computerprogramma en gegevensdrager voor het met een digitale verwerkingseenheid modelleren van een meerdimensionale heterogene structuur.
FR2863052B1 (fr) 2003-12-02 2006-02-24 Inst Francais Du Petrole Methode pour determiner les composantes d'un tenseur de permeabilite effectif d'une roche poreuse
WO2005076124A1 (en) 2004-01-30 2005-08-18 Exxonmobil Upstream Research Company Reservoir evaluation methods
EP1714230B1 (en) 2004-01-30 2010-04-14 ExxonMobil Upstream Research Company Reservoir model building methods
US20050171700A1 (en) 2004-01-30 2005-08-04 Chroma Energy, Inc. Device and system for calculating 3D seismic classification features and process for geoprospecting material seams
CA2555751A1 (en) 2004-03-31 2005-11-03 Exxonmobil Upstream Research Company Method for constructing a geologic model of a subsurface reservoir
FR2869116B1 (fr) 2004-04-14 2006-06-09 Inst Francais Du Petrole Methode pour construire un modele geomecanique d'une zone souterraine destine a etre couple a un modele de reservoir
WO2005119304A1 (en) 2004-06-02 2005-12-15 Earth Decision Sciences Method for building a three dimensional cellular partition of a geological domain
CA2570058C (en) 2004-06-25 2013-07-30 Shell Canada Limited Closed loop control system for controlling production of hydrocarbon fluid from an underground formation
US20060047429A1 (en) 2004-08-24 2006-03-02 Adams Steven L Method of estimating geological formation depths by converting interpreted seismic horizons from the time domain to the depth domain
EA010285B1 (ru) 2004-09-10 2008-08-29 Эксонмобил Апстрим Рисерч Компани Способ построения геологических моделей подземных осадочных объёмов
US7809537B2 (en) 2004-10-15 2010-10-05 Saudi Arabian Oil Company Generalized well management in parallel reservoir simulation
EP1653411B1 (fr) 2004-10-26 2008-07-23 Total S.A. Procédé et programme de reconstruction de plan de fracture
EA200701169A2 (ru) 2004-11-29 2008-08-29 Шеврон Ю.Эс.Эй. Инк. Способ, система и запоминающее устройство для хранения программ для моделирования потока жидкости в физической системе с использованием расширяемой объектно-ориентированной архитектуры, основанной на динамической композиции
US7373285B2 (en) 2004-12-01 2008-05-13 Bp Corporation North America Inc. Application of phase behavior models in production allocation systems
MX2007006993A (es) 2004-12-14 2007-08-07 Schlumberger Technology Bv Optimizacion geometrica de trayectorias de pozos multiples.
US7640149B2 (en) 2004-12-15 2009-12-29 Schlumberger Technology Corporation Method system and program storage device for optimization of valve settings in instrumented wells using adjoint gradient technology and reservoir simulation
US7788037B2 (en) 2005-01-08 2010-08-31 Halliburton Energy Services, Inc. Method and system for determining formation properties based on fracture treatment
EP1707993B1 (fr) 2005-03-29 2009-08-19 Total S.A. Procédé et programme de recherche de discontinuites géologiques
US7596480B2 (en) 2005-04-14 2009-09-29 Saudi Arabian Oil Company Solution method and apparatus for large-scale simulation of layered formations
US7480205B2 (en) 2005-04-20 2009-01-20 Landmark Graphics Corporation 3D fast fault restoration
US7277796B2 (en) 2005-04-26 2007-10-02 Schlumberger Technology Corporation System and methods of characterizing a hydrocarbon reservoir
US7516056B2 (en) 2005-04-26 2009-04-07 Schlumberger Technology Corporation Apparatus, method and system for improved reservoir simulation using a multiplicative overlapping Schwarz preconditioning for adaptive implicit linear systems
US8209202B2 (en) 2005-04-29 2012-06-26 Landmark Graphics Corporation Analysis of multiple assets in view of uncertainties
US20070016389A1 (en) 2005-06-24 2007-01-18 Cetin Ozgen Method and system for accelerating and improving the history matching of a reservoir simulation model
EA013672B1 (ru) 2005-08-15 2010-06-30 Юниверсити Оф Саутерн Калифорния Система для разработки структуры интегрированного управления активами для месторождения нефти
GB2444874A (en) 2005-08-15 2008-06-18 Univ Southern California Modelling application development in the petroleum industry
FR2890453B1 (fr) 2005-09-05 2007-10-19 Inst Francais Du Petrole Methode pour mettre a jour un modele geologique de reservoir a l'aide de donnees dynamiques
US7406878B2 (en) 2005-09-27 2008-08-05 Endress + Hauser Flowtec Ag Method for measuring a medium flowing in a pipeline and measurement system therefor
EA016505B1 (ru) 2005-10-06 2012-05-30 Лоджинд Б.В. Устройство для моделирования пласта-коллектора тяжелой нефти
US7584081B2 (en) 2005-11-21 2009-09-01 Chevron U.S.A. Inc. Method, system and apparatus for real-time reservoir model updating using ensemble kalman filter
US7809538B2 (en) 2006-01-13 2010-10-05 Halliburton Energy Services, Inc. Real time monitoring and control of thermal recovery operations for heavy oil reservoirs
EP1999492A4 (en) 2006-01-20 2011-05-18 Landmark Graphics Corp DYNAMIC PRODUCTION MANAGEMENT SYSTEM
US8504341B2 (en) 2006-01-31 2013-08-06 Landmark Graphics Corporation Methods, systems, and computer readable media for fast updating of oil and gas field production models with physical and proxy simulators
US7486589B2 (en) 2006-02-09 2009-02-03 Schlumberger Technology Corporation Methods and apparatus for predicting the hydrocarbon production of a well location
US8812334B2 (en) 2006-02-27 2014-08-19 Schlumberger Technology Corporation Well planning system and method
AU2007225358B2 (en) 2006-03-02 2012-11-15 Exxonmobil Upstream Research Company Method for quantifying reservoir connectivity using fluid travel times
EA200802116A1 (ru) 2006-04-07 2009-04-28 Шелл Интернэшнл Рисерч Маатсхаппий Б.В. Способ оптимизации добычи из куста скважин
US7716029B2 (en) 2006-05-15 2010-05-11 Schlumberger Technology Corporation Method for optimal gridding in reservoir simulation
US20070277115A1 (en) 2006-05-23 2007-11-29 Bhp Billiton Innovation Pty Ltd. Method and system for providing a graphical workbench environment with intelligent plug-ins for processing and/or analyzing sub-surface data
US7756694B2 (en) 2006-05-31 2010-07-13 Schlumberger Technology Corporation Method for interactive automation of fault modeling including a method for intelligently sensing fault-fault relationships
US20070279429A1 (en) 2006-06-02 2007-12-06 Leonhard Ganzer System and method for rendering graphics
US7254091B1 (en) 2006-06-08 2007-08-07 Bhp Billiton Innovation Pty Ltd. Method for estimating and/or reducing uncertainty in reservoir models of potential petroleum reservoirs
US8078437B2 (en) 2006-07-07 2011-12-13 Exxonmobil Upstream Research Company Upscaling reservoir models by reusing flow solutions from geologic models
US9043188B2 (en) 2006-09-01 2015-05-26 Chevron U.S.A. Inc. System and method for forecasting production from a hydrocarbon reservoir
US8335677B2 (en) 2006-09-01 2012-12-18 Chevron U.S.A. Inc. Method for history matching and uncertainty quantification assisted by global optimization techniques utilizing proxies
US7657494B2 (en) 2006-09-20 2010-02-02 Chevron U.S.A. Inc. Method for forecasting the production of a petroleum reservoir utilizing genetic programming
US7877246B2 (en) 2006-09-22 2011-01-25 Schlumberger Technology Corporation System and method for performing oilfield simulation operations
US20080144903A1 (en) 2006-10-25 2008-06-19 Bai Wang Real-time hardware accelerated contour generation based on VOI mask
CA2667639A1 (en) 2006-10-26 2008-05-02 Abbott Diabetes Care Inc. Method, system and computer program product for real-time detection of sensitivity decline in analyte sensors
US8145464B2 (en) 2006-11-02 2012-03-27 Schlumberger Technology Corporation Oilfield operational system and method
US20080126168A1 (en) 2006-11-15 2008-05-29 Schlumberger Technology Corporation Oilfield management system
US7577527B2 (en) 2006-12-29 2009-08-18 Schlumberger Technology Corporation Bayesian production analysis technique for multistage fracture wells
BRPI0806189A2 (pt) 2007-01-05 2011-08-30 Landmark Graphics Corp dispositivos e métodos para visualizar múltiplos grupos volumétricos de dados em tempo real
US7467044B2 (en) 2007-01-15 2008-12-16 Chevron U.S.A. Inc Method and system for assessing exploration prospect risk and uncertainty
US7706981B2 (en) 2007-02-08 2010-04-27 Chevron U.S.A. Inc. Method for generating reservoir models utilizing synthetic stratigraphic columns
WO2008103986A1 (en) 2007-02-25 2008-08-28 Chevron U.S.A., Inc. Method and system for creating upscaled reservoir models
FR2914434B1 (fr) 2007-03-30 2009-05-22 Inst Francais Du Petrole Methode de calage d'historique d'un modele geologique par modification graduelle des proportions des facies lithologiques
US8005658B2 (en) 2007-05-31 2011-08-23 Schlumberger Technology Corporation Automated field development planning of well and drainage locations
CN101809627A (zh) 2007-06-01 2010-08-18 埃克森美孚上游研究公司 平面中约束沃罗努网格的生成
US9175547B2 (en) 2007-06-05 2015-11-03 Schlumberger Technology Corporation System and method for performing oilfield production operations
US8775141B2 (en) 2007-07-02 2014-07-08 Schlumberger Technology Corporation System and method for performing oilfield simulation operations
FR2918776B1 (fr) 2007-07-09 2009-09-25 Total Sa Procede, programme et systeme informatique de mise a l'echelle de donnees de modele de reservoir d'hydrocarbure.
US7986319B2 (en) 2007-08-01 2011-07-26 Austin Gemodeling, Inc. Method and system for dynamic, three-dimensional geological interpretation and modeling
US8612194B2 (en) 2007-08-08 2013-12-17 Westerngeco L.L.C. Updating a subterranean model using at least electromagnetic data
US8510242B2 (en) 2007-08-31 2013-08-13 Saudi Arabian Oil Company Artificial neural network models for determining relative permeability of hydrocarbon reservoirs
WO2009032416A1 (en) 2007-09-07 2009-03-12 Exxonmobill Upstream Research Company Well performance modeling in a collaborative well planning environment
US20100132450A1 (en) 2007-09-13 2010-06-03 Pomerantz Andrew E Methods for optimizing petroleum reservoir analysis
US20090071239A1 (en) 2007-09-13 2009-03-19 Schlumberger Technology Corp. Methods for optimizing petroleum reservoir analysis
US20110161133A1 (en) 2007-09-29 2011-06-30 Schlumberger Technology Corporation Planning and Performing Drilling Operations
BRPI0818024A2 (pt) 2007-10-22 2015-03-24 Prad Res & Dev Ltd Método para caracterização tridimensional de um reservatório usando medições de perfilagem durante a perfuração de um poço horizontal ou com alta inclinação, método para caracterização tridimensional de um reservatório durante de um poço horizontal ou com alta inclinação através de um reservatório, sistema para caracterização tridimensional de um reservatório durante a perfuração de um poço horizontal ou com alta inclinação através de um reservatório.
WO2009059045A2 (en) 2007-10-30 2009-05-07 University Of Utah Research Foundation Fast iterative method for processing hamilton-jacobi equations
CA2705197C (en) 2007-11-14 2015-11-10 Terraspark Geosciences, L.P. Seismic data processing
FR2923930B1 (fr) 2007-11-19 2009-11-20 Inst Francais Du Petrole Methode de modelisation d'un milieu geologique poreux traverse par un reseau de fractures.
GB2455077A (en) 2007-11-27 2009-06-03 Polyhedron Software Ltd Estimating the state of a physical system using generalized nested factorisation
US7878268B2 (en) 2007-12-17 2011-02-01 Schlumberger Technology Corporation Oilfield well planning and operation
US8577660B2 (en) 2008-01-23 2013-11-05 Schlumberger Technology Corporation Three-dimensional mechanical earth modeling
US7822554B2 (en) 2008-01-24 2010-10-26 Schlumberger Technology Corporation Methods and apparatus for analysis of downhole compositional gradients and applications thereof
US7920970B2 (en) 2008-01-24 2011-04-05 Schlumberger Technology Corporation Methods and apparatus for characterization of petroleum fluid and applications thereof
CN101952539B (zh) 2008-02-11 2013-11-20 兰德马克绘图国际公司,哈里伯顿公司 用于改进的垫板定位的系统和方法
US8285532B2 (en) 2008-03-14 2012-10-09 Schlumberger Technology Corporation Providing a simplified subterranean model
US7996154B2 (en) 2008-03-27 2011-08-09 Schlumberger Technology Corporation Methods and apparatus for analysis of downhole asphaltene gradients and applications thereof
CA2716539C (en) 2008-03-28 2015-07-21 Exxonmobil Upstream Research Company Computing a consistent velocity vector field from a set of fluxes
US8803878B2 (en) 2008-03-28 2014-08-12 Schlumberger Technology Corporation Visualizing region growing in three dimensional voxel volumes
US9529110B2 (en) 2008-03-31 2016-12-27 Westerngeco L. L. C. Constructing a reduced order model of an electromagnetic response in a subterranean structure
US7933750B2 (en) 2008-04-02 2011-04-26 Schlumberger Technology Corp Method for defining regions in reservoir simulation
US20110115787A1 (en) 2008-04-11 2011-05-19 Terraspark Geosciences, Llc Visulation of geologic features using data representations thereof
US8793111B2 (en) 2009-01-20 2014-07-29 Schlumberger Technology Corporation Automated field development planning
US8898017B2 (en) 2008-05-05 2014-11-25 Bp Corporation North America Inc. Automated hydrocarbon reservoir pressure estimation
AU2009244726B2 (en) 2008-05-05 2014-04-24 Exxonmobil Upstream Research Company Modeling dynamic systems by visualizing and narrowing a parameter space
WO2009138290A2 (en) 2008-05-16 2009-11-19 Ephesia Consult Sa Multi-point reservoir modelling
EP2297658A2 (en) 2008-05-16 2011-03-23 Chevron U.S.A. Incorporated Multi-scale method for multi-phase flow in porous media
US8095349B2 (en) 2008-05-30 2012-01-10 Kelkar And Associates, Inc. Dynamic updating of simulation models
US8630831B2 (en) 2008-06-16 2014-01-14 Schlumberger Technology Corporation Streamline flow simulation of a model that provides a representation of fracture corridors
US8339395B2 (en) 2008-07-08 2012-12-25 Lockheed Martin Corporation Method and apparatus for model compression
FR2935177B1 (fr) 2008-08-19 2010-10-29 Inst Francais Du Petrole Methode de calage d'historique de reservoir petrolier au moyen de parametrisations locales
US8255195B2 (en) 2008-09-18 2012-08-28 Geoscape Analytics, Inc N-phasic element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation
AU2009293209B2 (en) 2008-09-19 2015-07-09 Chevron U.S.A. Inc. Computer-implemented systems and methods for use in modeling a geomechanical reservoir system
BRPI0918081A2 (pt) 2008-09-19 2015-12-01 Chevron Usa Inc métodos para otimizar a localização de poços em uma formação de subsuperfície, e para melhorar a produção de hidrocarbonetos de uma formação de subsuperfície, e, sistema para uso na otimização da localização de poços em uma formação de subsuperfície
US8280709B2 (en) 2008-10-03 2012-10-02 Schlumberger Technology Corporation Fully coupled simulation for fluid flow and geomechanical properties in oilfield simulation operations
AU2009302317A1 (en) 2008-10-09 2010-04-15 Chevron U.S.A. Inc. Iterative multi-scale method for flow in porous media
CA2743479C (en) 2008-11-14 2016-06-28 Exxonmobil Upstream Research Company Forming a model of a subsurface region
US8301426B2 (en) 2008-11-17 2012-10-30 Landmark Graphics Corporation Systems and methods for dynamically developing wellbore plans with a reservoir simulator
AU2009322308A1 (en) 2008-12-03 2010-06-10 Chevron U.S.A. Inc. System and method for predicting fluid flow characteristics within fractured subsurface reservoirs
CA2689341A1 (en) 2008-12-31 2010-06-30 Shell Internationale Research Maatschappij B.V. Method and system for simulating fluid flow in an underground formation with uncertain properties
US10060245B2 (en) 2009-01-09 2018-08-28 Halliburton Energy Services, Inc. Systems and methods for planning well locations with dynamic production criteria
US8095345B2 (en) 2009-01-20 2012-01-10 Chevron U.S.A. Inc Stochastic inversion of geophysical data for estimating earth model parameters
US8275589B2 (en) 2009-02-25 2012-09-25 Schlumberger Technology Corporation Modeling a reservoir using a compartment model and a geomechanical model
US8350851B2 (en) 2009-03-05 2013-01-08 Schlumberger Technology Corporation Right sizing reservoir models
US20110004447A1 (en) 2009-07-01 2011-01-06 Schlumberger Technology Corporation Method to build 3D digital models of porous media using transmitted laser scanning confocal mircoscopy and multi-point statistics
US8589135B2 (en) 2009-05-07 2013-11-19 Saudi Arabian Oil Company Systems, computer implemented methods, and computer readable program products to compute approximate well drainage pressure for a reservoir simulator
US8498852B2 (en) 2009-06-05 2013-07-30 Schlumberger Tehcnology Corporation Method and apparatus for efficient real-time characterization of hydraulic fractures and fracturing optimization based thereon
US20100312535A1 (en) 2009-06-08 2010-12-09 Chevron U.S.A. Inc. Upscaling of flow and transport parameters for simulation of fluid flow in subsurface reservoirs
GB2471139A (en) 2009-06-19 2010-12-22 Kongsberg Maritime As Oil And Gas Method for providing reconciled estimates of three phase flow for individual wells and at individual locations in a hydrocarbon production process facility
FR2947345B1 (fr) 2009-06-26 2011-07-15 Inst Francais Du Petrole Methode pour modifier des proportions de facies lors du calage d'historique d'un modele geologique
AU2010272254B2 (en) 2009-07-13 2015-12-10 Schlumberger Technology B.V. Methods for characterization of petroleum fluid and application thereof
FR2948215B1 (fr) 2009-07-16 2011-06-24 Inst Francais Du Petrole Methode pour generer un maillage hexa-dominant d'un milieu souterrain faille
US8275593B2 (en) 2009-07-16 2012-09-25 University Of Regina Reservoir modeling method
US8532967B2 (en) 2009-08-14 2013-09-10 Schlumberger Technology Corporation Executing a utility in a distributed computing system based on an integrated model
FR2949586B1 (fr) 2009-08-26 2011-09-23 Inst Francais Du Petrole Methode pour exploiter un reservoir petrolier a partir d'un calage d'historique optimise
US8655632B2 (en) 2009-09-03 2014-02-18 Schlumberger Technology Corporation Gridless geological modeling
WO2011030243A1 (en) 2009-09-11 2011-03-17 Schlumberger Canada Limited Methods and apparatus for characterization of petroleum fluid employing analysis of high molecular weight components
US8818778B2 (en) 2009-09-16 2014-08-26 Chevron U.S.A. Inc. Method for creating a 3D rock representation using petrophysical data
AU2009353036B2 (en) 2009-09-25 2015-04-30 Landmark Graphics Corporation Systems and methods for the quantitative estimate of production-forecast uncertainty
US8515721B2 (en) 2009-10-01 2013-08-20 Schlumberger Technology Corporation Method for integrated inversion determination of rock and fluid properties of earth formations
US8429671B2 (en) 2009-10-21 2013-04-23 Exxonmobil Upstream Research Company Integrated workflow builder for disparate computer programs
EP2317348B1 (en) 2009-10-30 2014-05-21 Services Pétroliers Schlumberger Method for building a depositional space corresponding to a geological domain
EP2499548A4 (en) 2009-11-12 2017-01-25 Exxonmobil Upstream Research Company Method and system for rapid model evaluation using multilevel surrogates
EP2499567A4 (en) 2009-11-12 2017-09-06 Exxonmobil Upstream Research Company Method and apparatus for reservoir modeling and simulation
CA2776764A1 (en) 2009-11-30 2011-06-03 Exxonmobil Upstream Research Company Adaptive newton's method for reservoir simulation
WO2011073861A2 (en) 2009-12-15 2011-06-23 Schlumberger Canada Limited Method for modeling a reservoir basin
US8718993B2 (en) 2010-02-02 2014-05-06 Conocophillips Company Multilevel percolation aggregation solver for petroleum reservoir simulations
US8452580B2 (en) 2010-02-26 2013-05-28 Chevron U.S.A. Inc. Method and system for using multiple-point statistics simulation to model reservoir property trends
US8694261B1 (en) 2010-03-12 2014-04-08 Mark C. Robinson 3D-well log invention
EP2539744A4 (en) 2010-03-19 2017-11-22 Schlumberger Technology B.V. Uncertainty estimation for large-scale nonlinear inverse problems using geometric sampling and covariance-free model compression
US8271248B2 (en) 2010-04-01 2012-09-18 Schlumberger Technology Corporation Methods and apparatus for characterization of petroleum fluids and applications thereof
US8515720B2 (en) 2010-04-06 2013-08-20 Schlumberger Technology Corporation Determine field fractures using geomechanical forward modeling
US8731887B2 (en) 2010-04-12 2014-05-20 Exxonmobile Upstream Research Company System and method for obtaining a model of data describing a physical structure
WO2011132095A2 (en) 2010-04-21 2011-10-27 Schlumberger Canada Limited Methods for characterization of petroleum reservoirs employing property gradient analysis of reservoir fluids
EP2564309A4 (en) 2010-04-30 2017-12-20 Exxonmobil Upstream Research Company Method and system for finite volume simulation of flow
US9255475B2 (en) 2010-05-07 2016-02-09 Schlumberger Technology Corporation Methods for characterizing asphaltene instability in reservoir fluids
US8412501B2 (en) 2010-06-16 2013-04-02 Foroil Production simulator for simulating a mature hydrocarbon field
US8463586B2 (en) 2010-06-22 2013-06-11 Saudi Arabian Oil Company Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids
US20110310101A1 (en) 2010-06-22 2011-12-22 Schlumberger Technology Corporation Pillar grid conversion
EP2588952A4 (en) 2010-06-29 2017-10-04 Exxonmobil Upstream Research Company Method and system for parallel simulation models
US8359185B2 (en) * 2010-06-30 2013-01-22 Saudi Arabian Oil Company Reservoir simulation of giant subsurface reservoirs with accelerated phase equilibrium determination
FR2962835B1 (fr) 2010-07-16 2013-07-12 IFP Energies Nouvelles Methode pour generer un maillage hexa-dominant d'un bassin geometriquement complexe
CA2801387A1 (en) 2010-07-26 2012-02-02 Exxonmobil Upstream Research Company Method and system for parallel multilevel simulation
US8599643B2 (en) 2010-07-27 2013-12-03 Schlumberger Technology Corporation Joint structural dip removal
US8447525B2 (en) 2010-07-29 2013-05-21 Schlumberger Technology Corporation Interactive structural restoration while interpreting seismic volumes for structure and stratigraphy
WO2012015517A1 (en) 2010-07-29 2012-02-02 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
CA2803068C (en) 2010-07-29 2016-10-11 Exxonmobil Upstream Research Company Method and system for reservoir modeling
CA2803066A1 (en) 2010-07-29 2012-02-02 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
US8515678B2 (en) 2010-07-29 2013-08-20 Schlumberger Technology Corporation Chrono-stratigraphic and tectono-stratigraphic interpretation on seismic volumes
US20130096899A1 (en) 2010-07-29 2013-04-18 Exxonmobile Upstream Research Company Methods And Systems For Machine - Learning Based Simulation of Flow
AU2011283193B2 (en) 2010-07-29 2014-07-17 Exxonmobil Upstream Research Company Methods and systems for machine-learning based simulation of flow
US8457940B2 (en) 2010-07-29 2013-06-04 Schlumberger Technology Corporation Model-consistent structural restoration for geomechanical and petroleum systems modeling
US9436658B2 (en) 2010-08-09 2016-09-06 Landmark Graphics Corporation Systems and methods for creating a surface in a faulted space
US20120059640A1 (en) 2010-09-02 2012-03-08 Schlumberger Technology Corporation Thermodynamic modeling for optimized recovery in sagd
US9194974B2 (en) 2010-09-02 2015-11-24 Schlumberger Technology Corporation Method to predict dense hydrocarbon saturations for high pressure high temperature
EP2612177A2 (en) 2010-09-03 2013-07-10 Chevron U.S.A., Inc. Iterative method and system to construct robust proxy models for reservoir simulation
US8386227B2 (en) 2010-09-07 2013-02-26 Saudi Arabian Oil Company Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
US8433551B2 (en) 2010-11-29 2013-04-30 Saudi Arabian Oil Company Machine, computer program product and method to carry out parallel reservoir simulation
US8635026B2 (en) 2010-09-07 2014-01-21 Saudi Arabian Oil Company Determination of rock mechanics from applied force to area measures while slabbing core samples
US8798974B1 (en) 2010-09-15 2014-08-05 Alan Gordon Nunns Method and system for interactive geological interpretation, modeling and restoration
WO2012040210A2 (en) 2010-09-20 2012-03-29 Schlumberger Canada Limited Methods for producing fluids from geological formation
US9058446B2 (en) 2010-09-20 2015-06-16 Exxonmobil Upstream Research Company Flexible and adaptive formulations for complex reservoir simulations
US20130311151A1 (en) 2010-09-28 2013-11-21 René-Edouard André Michel Plessix Earth model estimation through an acoustic full waveform inversion of seismic data
GB201017898D0 (en) 2010-10-22 2010-12-01 Internat Res Inst Of Stavanger Earth model
EP2630621A4 (en) 2010-10-22 2014-05-21 Exxonmobil Upstream Res Co ASSET CONTROL AND MANAGEMENT SYSTEM
FR2966865B1 (fr) 2010-10-28 2015-05-15 IFP Energies Nouvelles Procede d'exploitation d'un gisement petrolier a partir d'un calage d'historique des donnees de production et de donnees sismiques.
WO2012071090A1 (en) 2010-11-23 2012-05-31 Exxonmobil Upstream Research Company Variable discretization method for flow simulation on complex geological models
AU2010364957B2 (en) 2010-11-30 2015-04-23 Landmark Graphics Corporation Systems and methods for reducing reservoir simulator model run time
US20120143577A1 (en) 2010-12-02 2012-06-07 Matthew Szyndel Prioritizing well drilling propositions
EP3875994A1 (en) 2010-12-08 2021-09-08 Halliburton Energy Services, Inc. Fluid properties including equation of state modeling with optical constraints
EP2649551A4 (en) 2010-12-08 2017-12-06 Exxonmobil Upstream Research Company Constructing geologic models from geologic concepts
WO2012082273A1 (en) 2010-12-13 2012-06-21 Chevron U.S.A. Inc. Method and system for coupling reservoir and surface facility simulations
US8775144B2 (en) 2010-12-13 2014-07-08 Chevron U.S.A. Inc. Constrained pressure residual preconditioner for efficient solution of the adjoint equation
US20120159124A1 (en) 2010-12-15 2012-06-21 Chevron U.S.A. Inc. Method and system for computational acceleration of seismic data processing
US10089424B2 (en) 2010-12-16 2018-10-02 Landmark Graphics Corporation Systems and methods for two-dimensional domain decomposition during parallel reservoir simulation
GB2505553B (en) 2010-12-16 2019-03-27 Chevron Usa Inc System and method for simulating fluid flow in a fractured reservoir
CN102110183B (zh) 2010-12-30 2011-09-28 中国石油化工股份有限公司胜利油田分公司地质科学研究院 一种反映流体沿储层大裂缝窜流的数值模拟方法
US8583411B2 (en) 2011-01-10 2013-11-12 Saudi Arabian Oil Company Scalable simulation of multiphase flow in a fractured subterranean reservoir as multiple interacting continua
US10055684B2 (en) 2011-01-31 2018-08-21 Landmark Graphics Corporation System and method for using an artificial neural network to simulate pipe hydraulics in a reservoir simulator
US8437999B2 (en) * 2011-02-08 2013-05-07 Saudi Arabian Oil Company Seismic-scale reservoir simulation of giant subsurface reservoirs using GPU-accelerated linear equation systems
US8805659B2 (en) 2011-02-17 2014-08-12 Chevron U.S.A. Inc. System and method for uncertainty quantification in reservoir simulation
WO2012116296A2 (en) 2011-02-24 2012-08-30 Chevron U.S.A. Inc. System and method for performing reservoir simulation using preconditioning
US10534871B2 (en) 2011-03-09 2020-01-14 Schlumberger Technology Corporation Method and systems for reservoir modeling, evaluation and simulation
US10545260B2 (en) 2011-04-15 2020-01-28 Conocophillips Company Updating geological facies models using the Ensemble Kalman filter
US20120271609A1 (en) 2011-04-20 2012-10-25 Westerngeco L.L.C. Methods and computing systems for hydrocarbon exploration
CN103562850A (zh) 2011-05-17 2014-02-05 埃克森美孚上游研究公司 用于在井存在的情况下分割并行储层仿真的方法
US8731891B2 (en) 2011-07-28 2014-05-20 Saudi Arabian Oil Company Cluster 3D petrophysical uncertainty modeling
US9279314B2 (en) 2011-08-11 2016-03-08 Conocophillips Company Heat front capture in thermal recovery simulations of hydrocarbon reservoirs
BR112014003504A2 (pt) 2011-08-16 2017-03-14 Prad Res & Dev Ltd sistema para produzir fluidos a partir de um reservatório subterrâneo de hidrocarbonetos, e sistema produtor de fluidos a partir de um reservatório subterrâneo de hidrocarbonetos atravessado por um poço de injeção e um poço de produção
US8843353B2 (en) 2011-08-25 2014-09-23 Chevron U.S.A. Inc. Hybrid deterministic-geostatistical earth model
US9489176B2 (en) 2011-09-15 2016-11-08 Exxonmobil Upstream Research Company Optimized matrix and vector operations in instruction limited algorithms that perform EOS calculations
WO2013043531A1 (en) 2011-09-20 2013-03-28 Bp Corporation North America Inc. Automated generation of local grid refinement at hydraulic fractures for simulation of tight gas reservoirs
US20130085730A1 (en) 2011-10-04 2013-04-04 Gareth J. Shaw Preconditioner for reservoir simulation
US9378310B2 (en) 2011-10-13 2016-06-28 Los Alamos National Security, Llc Material point method modeling in oil and gas reservoirs
US10519766B2 (en) 2011-10-26 2019-12-31 Conocophillips Company Reservoir modelling with multiple point statistics from a non-stationary training image
WO2013062591A1 (en) 2011-10-28 2013-05-02 Landmark Graphics Corporation Methods and systems for well planning based on a complex fracture model
US9201164B2 (en) 2011-11-15 2015-12-01 Chevron U.S.A. Inc. System and method of using spatially independent subsets of data to calculate property distribution uncertainty of spatially correlated reservoir data
US9429678B2 (en) 2011-12-31 2016-08-30 Saudi Arabian Oil Company Apparatus, computer readable media, and computer programs for estimating missing real-time data for intelligent fields
US20150120199A1 (en) 2013-10-31 2015-04-30 Matthew S. Casey Multiple Domain Processing For Combining Reservoir Models and Seismic Data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020177986A1 (en) * 2001-01-17 2002-11-28 Moeckel George P. Simulation method and system using component-phase transformations
US7937359B1 (en) * 2004-03-08 2011-05-03 Nvidia Corporation Method of operation for parallel LCP solver
US20070255779A1 (en) * 2004-06-07 2007-11-01 Watts James W Iii Method For Solving Implicit Reservoir Simulation Matrix
US20060036418A1 (en) * 2004-08-12 2006-02-16 Pita Jorge A Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
US20070282582A1 (en) * 2006-06-06 2007-12-06 Chevron U.S.A. Inc. Efficient Application Of Reduced Variable Transformation And Conditional Stability Testing In Reservoir Simulation Flash Calculations
US20090306943A1 (en) * 2006-10-05 2009-12-10 North Carolina State University Methods, systems and computer program products for reduced order model adaptive simulation of complex systems
US20110066285A1 (en) * 2009-09-15 2011-03-17 Invensys Systems Inc. Thermodynamic Phase Equilibrium Analysis Based on a Reduced Composition Domain

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JAKUB KURZAK等: ""Implementation of mixed precision in solving systems of linear equations on the Cell processor"", 《CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE》 *
KB HAUGEN等: ""A critical comparison of reduced and conventional eos algorithms"", 《SPE JOURNAL》 *
KB HAUGEN等: ""Highly Optimized Phase Equilibrium Calculations"", 《SPE RESERVOIR SIMULATION SYMPOSIUM》 *
TERRY W. WONG等: ""Relationship of the Volume-Balance Method of Compositional Simulation to the Newton-Raphson Method"", 《SPE RESERVOIR ENGINEERING》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227669A (zh) * 2015-10-15 2016-01-06 浪潮(北京)电子信息产业有限公司 一种面向深度学习的cpu与gpu混合的集群架构系统
WO2017185405A1 (zh) * 2016-04-26 2017-11-02 北京中科寒武纪科技有限公司 一种用于执行向量外积运算的装置和方法
CN111047017A (zh) * 2019-12-18 2020-04-21 北京安兔兔科技有限公司 一种神经网络算法的评估方法、装置及电子设备
CN113704687A (zh) * 2020-05-21 2021-11-26 杭州海康威视数字技术股份有限公司 一种张量计算运行方法、装置及运算系统
CN113704687B (zh) * 2020-05-21 2024-04-05 杭州海康威视数字技术股份有限公司 一种张量计算运行方法、装置及运算系统
CN112947932A (zh) * 2021-02-24 2021-06-11 上海商汤智能科技有限公司 对编译过程中的向量化进行优化的方法、装置及电子设备
CN112947932B (zh) * 2021-02-24 2024-06-07 上海商汤智能科技有限公司 对编译过程中的向量化进行优化的方法、装置及电子设备
CN113641956A (zh) * 2021-08-05 2021-11-12 中国科学院软件研究所 面向SW26010-Pro处理器的1、2级BLAS函数库的高性能实现方法
CN113641956B (zh) * 2021-08-05 2023-05-30 中国科学院软件研究所 面向SW26010-Pro处理器的1、2级BLAS函数库的高性能实现方法
CN117421847A (zh) * 2023-12-19 2024-01-19 上海叁零肆零科技有限公司 天然气管网仿真稳态求解的迭代加速方法、介质及设备
CN117421847B (zh) * 2023-12-19 2024-03-05 上海叁零肆零科技有限公司 天然气管网仿真稳态求解的迭代加速方法、介质及设备

Also Published As

Publication number Publication date
CN103959233B (zh) 2017-05-17
EP2756382A4 (en) 2015-07-29
EP2756382A1 (en) 2014-07-23
CA2843929A1 (en) 2013-03-21
WO2013039606A1 (en) 2013-03-21
BR112014005794A2 (pt) 2017-03-28
US20140201450A1 (en) 2014-07-17
CA2843929C (en) 2018-03-27
US9489176B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
CN103959233A (zh) 在执行eos计算的指令受限算法中最优化矩阵和向量运算
Müller et al. Massively parallel solvers for elliptic partial differential equations in numerical weather and climate prediction
EP3298232B1 (en) Parallel solution or fully-coupled fully-implicit wellbore modeling in reservoir simulation
Appleyard et al. Accelerating reservoir simulators using GPU technology
Winkler et al. gpuSPHASE—A shared memory caching implementation for 2D SPH using CUDA
Gaganis et al. Machine Learning Methods to Speed up Compositional Reservoir Simulation (SPE 154505)
US20170364616A1 (en) Methods and systems for investigation and prediction of slug flow in a pipeline
Chen et al. GPU-based parallel reservoir simulators
Verkaik et al. Distributed memory parallel computing of three-dimensional variable-density groundwater flow and salt transport
Gloster et al. cuPentBatch—A batched pentadiagonal solver for NVIDIA GPUs
Middya et al. A massively parallel reservoir simulator on the GPU architecture
Sudan et al. High performance manycore solvers for reservoir simulation
Feng et al. A multi-stage preconditioner for the black oil model and its openmp implementation
Luo et al. A fine-grained block ILU scheme on regular structures for GPGPUs
Monteleone et al. A distributed-memory MPI parallelization scheme for multi-domain incompressible SPH
Bauer et al. Implementation of the Vanka-type multigrid solver for the finite element approximation of the Navier–Stokes equations on GPU
Sætra Shallow water simulation on GPUs for sparse domains
CN103279685B (zh) 基于逆向自动微分的油藏动态模拟方法
Evstigneev Analysis of block stokes-algebraic multigrid preconditioners on GPU implementations
Maliassov et al. Parallel reservoir simulation using a specific software framework
Kuprii et al. RICSR: A modified CSR format for storing sparse matrices
Khait et al. A GPU-based integrated simulation framework for modelling of complex subsurface applications
Goik et al. A block preconditioner for scalable large scale finite element incompressible flow simulations
Walker et al. Parallel solution methods for Poisson-like equations in two-phase flows
Ghioldi et al. A hybrid CPU‐GPU paradigm to accelerate reactive CFD simulations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170517

Termination date: 20200723