CN103959233B - 在执行eos计算的指令受限算法中最优化矩阵和向量运算 - Google Patents
在执行eos计算的指令受限算法中最优化矩阵和向量运算 Download PDFInfo
- Publication number
- CN103959233B CN103959233B CN201280045166.4A CN201280045166A CN103959233B CN 103959233 B CN103959233 B CN 103959233B CN 201280045166 A CN201280045166 A CN 201280045166A CN 103959233 B CN103959233 B CN 103959233B
- 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.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 99
- 239000013598 vector Substances 0.000 title claims abstract description 89
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 84
- 238000004364 calculation method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000006467 substitution reaction Methods 0.000 claims abstract description 32
- 239000000203 mixture Substances 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 46
- 230000004087 circulation Effects 0.000 claims description 37
- 238000012546 transfer Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 abstract description 31
- 239000012071 phase Substances 0.000 description 78
- 238000005516 engineering process Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 238000013459 approach Methods 0.000 description 14
- 239000012530 fluid Substances 0.000 description 13
- 239000003921 oil Substances 0.000 description 12
- 238000005457 optimization Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000013112 stability test Methods 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000007789 gas Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 239000003208 petroleum Substances 0.000 description 5
- 239000004215 Carbon black (E152) Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 229930195733 hydrocarbon Natural products 0.000 description 4
- 150000002430 hydrocarbons Chemical class 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 239000000126 substance Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 230000017105 transposition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000008346 aqueous phase Substances 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000084 colloidal system Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000008241 heterogeneous mixture Substances 0.000 description 1
- 238000009940 knitting Methods 0.000 description 1
- 239000007791 liquid phase Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- -1 steam Substances 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000004448 titration Methods 0.000 description 1
- 239000000341 volatile oil Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent 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
相关申请的交叉参考
本申请是PCT/US2012/047890根据35U.S.C.371进入的国家阶段,该申请被公开为国际专利申请公开No.2013/039606,并提交于2012年7月23日。本申请要求美国临时专利申请61/535,131的权益,该申请提交于2011年9月15日,标题为OPTIMIZED MATRIX ANDVECTOR OPERATIONS IN INSTRUCTION LIMITED ALGORITHMS THAT PERFORM EOSCALCULATIONS,在此为通用目的通过引用将其每个全文合并于此。
技术领域
本技术涉及具有最优化矩阵和向量运算的指令受限算法。具体地,本技术的示范实施例涉及用于执行状态方程(EOS)计算的系统和方法。
背景技术
本节意图介绍可以与所披露技术的实施例相关的现有技术的各种方面。本讨论相信可以有助于提供框架从而促进更优理解所披露技术的具体方面。因此应理解本节从这点阅读,而不必认可现有技术。
指令受限算法可以在各种工业中发生。例如指令受限算法可以在领域例如3D图形分析、加密、数据挖掘、压缩、信号处理、图像处理、链式法则评估、数值法例如有限元和有限体积分析、地震模式识别和状态方程(EOS)计算中发生。
EOS计算可以用来模拟可以对储层性能具有显著效果的相行为。石油混合物可以流过多孔介质的速率受相态数、每个相态的粘度和每个相态的密度影响。一般地,相行为和相性质是温度、压力和成分的函数。在一些情况下,与相行为相关的成分效果是微弱的并可以忽略。这可以伴随称为黑油的石油流体发生。模拟含黑油的储层可以称为黑油仿真。
在其他情况下,成分效果可以被解释。为解释成分效果,石油工业通常使用状态方程(EOS)。将具有成分效果的储层建模可以称为成分仿真。数个先进开采机制可以依靠相行为的成分效果。
EOS计算可以使成分仿真比黑油仿真可观地更低。EOS计算通常涉及确定相态数和每个相态的成分。尽管单个EOS计算执行的消耗低廉,但其可以在储层仿真的过程中重复数十亿次。因此EOS计算可以消耗总仿真时间的多于50%。此外EOS计算是计算密集的并且其成本可以随着混合物中组分数目增加而迅速提高。
为改进计算速度,并行储层仿真器可以使用。当使用并行化时,巨大问题被分成较小子问题,并然后在数个处理核心之间分配。子问题可以不是独立的,并且核心可以通信从而将其工作同步。核心可以通过共享存储器或通过高速网络同步。在并行计算环境中,存储器带宽和网络通信通常是速度限制因素。
D.Voskov和H.Tchelepi,“Tie-Simplex Based Mathematical Framework forThermodynamical Equilibrium Computation of Mixtures with an Arbitrary Numberof 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”,SPEReservoir Evaluation and Engineering,第9卷第1册,2009,pp.32-38陈述在常规闪存计算中,仿真时间的大部分花费在稳定性分析上。陈述该技术判定在其调整时绕过稳定性分析,并且不在执行EOS计算的指令受限算法中最优化矩阵和向量运算。
E.Hendriks和A.Van Bergen,“Application of a Reduction Method to Phase-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喷射到油储层,从而由混溶驱动(miscibledisplacement)并由油粘度减小和油溶胀(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处的区块、在参考号409处的区块、在参考号410处的区块和在参考号412处的区块。在参考号408处的区块、在参考号409处的区块、在参考号410处的区块和在参考号412处的区块大小不同。因此矩阵402的区块是非均匀区块。具有均匀区块的矩阵和具有非均匀区块的矩阵可以被使用在本技术中。此外,区块可以按照顺序或交错的形式被组织或存储在主存储器、高速缓存或寄存器中。如本文所讨论的条带也可以按照顺序或交错形式被组织或存储在主存储器、高速缓存或寄存器中。进一步地,可以使用标量硬件体系结构或向量硬件体系结构来实现区块。
无论均匀或非均匀,区块的大小都可以被选择以便最小化单个硬件体系结构内的存储器层次的不同等级之间的数据传递。当区块是均匀的时,矩阵大小可以被约束到区块大小的整数倍。通过用伪元素将矩阵填充至允许使用均匀区块的大小,可以为任何矩阵实现整数倍的矩阵大小。然而,除非矩阵大小显著大于区块大小,否则填充矩阵可能显著增加矩阵运算的计算时间。在此情况下,因为可以不使用填充将矩阵分成区块,所以使用非均匀区块可以消除这种计算时间上的增加。
使用区块允许基于每区块的最优化。换言之,每个区块最优化促进使用分治途径,其中最优化矩阵运算可以被减少到运算少数区块运算。例如,EOS特定区块运算可以被用来计算逸度导数并用于在牛顿算法中构建雅可比矩阵。牛顿算法也使用线性求解器。在EOS计算中,雅可比矩阵是稠密的使得大多数元素非零。求解具有稠密雅可比矩阵的线性方程组的两个普遍算法是均可以按照区块运算表述的高斯消去和下-上(LU)分解。每区块最优化可以减小循环开销和跳跃开销。循环开销指代与每个循环相关的计算开销。该循环开销可以是在循环的每个迭代期间必须被估计从而确定循环的随后迭代是否发生的状况的结果。同样,跳跃开销指代在计算机程序遇到告诉其从代码中的一行跳跃到另一行的指令时的相关的计算开销。跳跃开销通常作为函数调用、循环迭代的结果发生,或在执行路径取决于一些测试的输出结果(分支)时发生。这样的跳跃指令可以可观地减慢执行速度,除非跳跃开销小于执行跳跃之间的代码花费的时间。
为了减小循环开销和跳跃开销,现代编译器如可能则可以“展开”循环。当展开循环时,编译器可以估计控制循环迭代的数目的状况,并将循环转变成相应的非循环指令。例如,在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中的状况。
在方框604处,稳定性测试基于Ki的初始猜测,检查极少量的第二相态的形成是否影响混合物的吉布斯自由能。即,稳定性测试可以确定混合物是否被分成至少两个相态。使用一阶泰勒展开式证明原成分的微小扰动,从而描述丰富相态的吉布斯自由能。所得的有待求解的非线性方程组在方程2中示出。
在方程2中,μ是化学势,是逸度,并且上标“0”表示原混合物的流体性质。变量Ni通过在方程3中示出的表达式涉及摩尔分数ni。
ni=Ni/∑Nj (3)
在方框606处确定混合物的稳定性。如果稳定性测试断定混合物稳定,则方法进展到方框610。因为仅有一个相态存在并且吉布斯自由能不随着另一相态形成而降低,所以稳定混合物不需要进一步分相。然而如果稳定性测试断定吉布斯自由能随着另一相态形成而降低,则混合物不稳定并且方法进展到方框608。在方框608处执行分相计算。分相确定在每个仿真单元中存在的每个相态的量和成分。有待求解的对应非线性方程组表达相态之间化学平衡,如在方程4中示出。
可从质量守恒示出摩尔分数ni由方程5中的表达式涉及平衡比。
在方程5中,β是由方程6给出的Rachford-Rice方程的解。
该途径容易延伸到多相态。
在完成分相计算后,方法进展到方框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 (17)
1.一种在执行EOS计算的指令受限算法中最优化矩阵和向量运算的方法,其包括:
将与EOS稳定性方程或EOS分相方程相关的每个矩阵分成数个区块,其中所述区块的大小是非均匀的或均匀的;
将与所述EOS稳定性方程或所述EOS分相方程相关的每个向量分成数个条带;
在主存储器、高速缓存或寄存器中顺序或交错存储所述区块和所述条带;以及
使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算。
2.根据权利要求1所述的方法,其中为了最小化单个硬件体系结构内的不同等级的存储器之间的数据传递而选择所述区块的大小。
3.根据权利要求1所述的方法,包括基于与所述EOS计算相关的区块或条带大小展开循环。
4.根据权利要求1所述的方法,包括将每个矩阵分成数个区块,其中所述矩阵被填充为允许使用均匀区块的大小。
5.根据权利要求1所述的方法,包括通过特化展开循环,其中数个不同EOS算法针对具有不同的数个组分的混合物被生成。
6.根据权利要求1所述的方法,包括EOS计算或与EOS计算相关的所述区块和所述条带内数据元素的单精度、双精度或混合精度向量化使用单指令多数据或单指令多线程向量指令。
7.一种被适配用于在执行EOS计算的指令受限算法中的最优化矩阵和向量运算的计算机系统,所述计算机系统包括:
处理器;以及
有形机器可读存储介质,所述有形机器可读存储介质存储用于由所述处理器执行的机器可读指令,所述机器可读指令包括:
代码,所述代码在由所述处理器执行时被适配为使所述处理器将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块,其中所述区块的大小是非均匀的或均匀的;
代码,所述代码在由所述处理器执行时被适配为使所述处理器将与所述EOS稳定性方程和所述EOS分相方程相关的每个向量分成数个条带;
代码,所述代码在由所述处理器执行时被适配为使所述处理器在主存储器、高速缓存或寄存器中存储所述区块和条带;以及
代码,所述代码在由所述处理器执行时被适配为使所述处理器使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算;和顺序或交错存储区块或条带的主存储器、高速缓存或寄存器。
8.根据权利要求7所述的系统,其中所述处理器形成标量硬件体系结构或矢量硬件体系结构。
9.根据权利要求7所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器基于与所述EOS计算相关的区块或条带大小展开循环。
10.根据权利要求7所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器将每个矩阵分成数个区块,其中所述矩阵被填充为允许使用均匀区块的大小。
11.根据权利要求7所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器为具有不同的数个组分的混合物生成数个不同EOS算法。
12.根据权利要求7所述的系统,包括代码,所述代码在由所述处理器执行时被适配为使所述处理器使用单指令多数据或单指令多线程向量指令,执行单精度、双精度或混合精度EOS计算或与EOS计算相关的所述区块和所述条带内的数据元素的向量化。
13.一种计算机实施的装置,包括:
用于将与EOS稳定性方程和EOS分相方程相关的每个矩阵分成数个区块的装置,其中所述区块的大小是非均匀的或均匀的;
用于将与所述EOS稳定性方程和所述EOS分相方程相关的每个向量分成数个条带的装置;
用于在主存储器、高速缓存或寄存器中顺序或交错存储所述区块和条带的装置;以及
用于使用所述区块和条带并行执行与逐次代换和牛顿迭代相关的所述矩阵和向量运算的装置。
14.根据权利要求13所述的计算机实施的装置,包括用于基于与所述EOS计算相关的区块或条带大小展开循环的装置。
15.根据权利要求13所述的计算机实施的装置,包括用于将每个矩阵分成数个区块的装置,其中所述矩阵被填充为允许使用均匀区块的大小。
16.根据权利要求13所述的计算机实施的装置,包括用于通过特化展开循环的装置,其中数个不同EOS算法针对具有不同的数个组分的混合物被生成。
17.根据权利要求13所述的计算机实施的装置,包括EOS计算或与EOS计算相关的所述区块和所述条带内的数据元素的单精度、双精度或混合精度向量化使用单指令多数据或单指令多线程向量指令。
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 CN103959233A (zh) | 2014-07-30 |
CN103959233B true 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) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112012025995A2 (pt) | 2010-04-30 | 2016-06-28 | Exxonmobil Upstream Res Co | método e sistema para simulação de fluxo de volume finito |
AU2011283196B2 (en) | 2010-07-29 | 2014-07-31 | Exxonmobil Upstream Research Company | Method and system for reservoir modeling |
WO2012015515A1 (en) | 2010-07-29 | 2012-02-02 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
GB2502432B (en) | 2010-09-20 | 2018-08-01 | Exxonmobil Upstream Res Co | Flexible and adaptive formulations for complex reservoir simulations |
CN103959233B (zh) | 2011-09-15 | 2017-05-17 | 埃克森美孚上游研究公司 | 在执行eos计算的指令受限算法中最优化矩阵和向量运算 |
US10036829B2 (en) | 2012-09-28 | 2018-07-31 | 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 |
US20160245950A1 (en) * | 2014-10-14 | 2016-08-25 | Landmark Graphics Corporation | Using representative elemental volume to determine subset volume in an area of interest earth model |
AU2015339884B2 (en) | 2014-10-31 | 2018-03-15 | Exxonmobil Upstream Research Company | Handling domain discontinuity in a subsurface grid model with the help of grid optimization techniques |
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 |
US10564317B2 (en) * | 2014-11-12 | 2020-02-18 | 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 |
CN106062732B (zh) | 2015-02-06 | 2019-03-01 | 华为技术有限公司 | 数据处理系统、计算节点和数据处理的方法 |
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 |
CN105227669A (zh) * | 2015-10-15 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种面向深度学习的cpu与gpu混合的集群架构系统 |
US10061748B2 (en) * | 2015-12-11 | 2018-08-28 | Sap Se | Adaptive tile matrix representation and multiplication |
CN107315716B (zh) * | 2016-04-26 | 2020-08-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量外积运算的装置和方法 |
HUE064459T2 (hu) * | 2016-12-23 | 2024-03-28 | Exxonmobil Technology & Engineering Company | Eljárás és rendszer stabil és hatékony tározó szimulációhoz stabilitási proxyk alkalmazásával |
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 | 上海电机学院 | 一种基于网格的图像识别方法 |
US11346215B2 (en) | 2018-01-23 | 2022-05-31 | Baker Hughes Holdings Llc | Methods of evaluating drilling performance, methods of improving drilling performance, and related systems for drilling using such methods |
WO2019164859A1 (en) * | 2018-02-20 | 2019-08-29 | The Penn State Research Foundation | Computer system and method for predicting petrophysical properties in a fluid having one or more phases in porous media |
EP3855367A4 (en) * | 2018-10-09 | 2022-06-29 | Huawei Technologies Co., Ltd. | Operation accelerator, processing method, and related device |
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 |
CN111047017B (zh) * | 2019-12-18 | 2023-06-23 | 北京安兔兔科技有限公司 | 一种神经网络算法的评估方法、装置及电子设备 |
US11429310B2 (en) | 2020-03-06 | 2022-08-30 | Samsung Electronics Co., Ltd. | Adjustable function-in-memory computation system |
CN113704687B (zh) * | 2020-05-21 | 2024-04-05 | 杭州海康威视数字技术股份有限公司 | 一种张量计算运行方法、装置及运算系统 |
CN112947932B (zh) * | 2021-02-24 | 2024-06-07 | 上海商汤智能科技有限公司 | 对编译过程中的向量化进行优化的方法、装置及电子设备 |
US11232360B1 (en) | 2021-03-29 | 2022-01-25 | SambaNova Systems, Inc. | Lossless tiling in convolution networks—weight gradient calculation |
US11250061B1 (en) | 2021-03-29 | 2022-02-15 | SambaNova Systems, Inc. | Lossless tiling in convolution networks—read-modify-write in backward pass |
US11227207B1 (en) | 2021-03-29 | 2022-01-18 | SambaNova Systems, Inc. | Lossless tiling in convolution networks—section boundaries |
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 |
US11195080B1 (en) | 2021-03-29 | 2021-12-07 | SambaNova Systems, Inc. | Lossless tiling in convolution networks—tiling configuration |
WO2022208173A2 (en) * | 2021-04-01 | 2022-10-06 | Mobileye Vision Technologies Ltd. | Vectorizing a loop |
CN113641956B (zh) * | 2021-08-05 | 2023-05-30 | 中国科学院软件研究所 | 面向SW26010-Pro处理器的1、2级BLAS函数库的高性能实现方法 |
CN114139108A (zh) * | 2021-12-08 | 2022-03-04 | 江苏华创微系统有限公司 | 一种向量dsp核的矩阵lu分解向量化计算方法 |
CN117421847B (zh) * | 2023-12-19 | 2024-03-05 | 上海叁零肆零科技有限公司 | 天然气管网仿真稳态求解的迭代加速方法、介质及设备 |
Family Cites Families (274)
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 |
RU2223521C2 (ru) | 1997-12-01 | 2004-02-10 | Шлюмбергер Текнолоджи Б.В. | Способ и устройство для создания, проверки и модификации геологических моделей подповерхностных зон |
US6052520A (en) | 1998-02-10 | 2000-04-18 | Exxon Production Research Company | Process for predicting behavior of a subterranean formation |
CA2329719C (en) | 1998-05-04 | 2005-12-27 | Schlumberger Canada Limited | 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 |
US6549854B1 (en) | 1999-02-12 | 2003-04-15 | Schlumberger Technology Corporation | 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 |
RU2298831C9 (ru) | 2000-12-18 | 2007-08-10 | Шлумбергер Холдинг Лимитид | Способ и устройство для визуализации трехмерных данных вокселов при использовании освещенных непрозрачных объемов с затенением |
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 |
US20020177986A1 (en) * | 2001-01-17 | 2002-11-28 | Moeckel George P. | Simulation method and system using component-phase transformations |
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 |
DK2362346T3 (da) | 2001-04-18 | 2013-10-07 | Landmark Graphics Corp | Fremgangsmåde og computerprogramprodukt til volumenrendering |
EP1389259B1 (en) | 2001-04-24 | 2005-11-23 | ExxonMobil Upstream Research Company | Method for enhancing production allocation in an integrated reservoir and surface flow system |
EP1397703B1 (en) | 2001-06-06 | 2008-02-27 | Schlumberger Oilfield Assistance 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 |
MXPA05005466A (es) | 2002-11-23 | 2006-02-22 | Schlumberger Technology Corp | Metodo y sistema para simulaciones integradas de redes de instalaciones en depositos y en superficie. |
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 |
US7526456B2 (en) * | 2004-01-22 | 2009-04-28 | Nvidia Corporation | Method of operation for parallel LCP solver |
US7844430B2 (en) | 2004-01-30 | 2010-11-30 | Exxonmobil Upstream Research Co. | Reservoir model building methods |
CA2544058C (en) | 2004-01-30 | 2014-09-09 | Exxonmobil Upstream Research Company | Reservoir evaluation 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 |
AU2005236799B2 (en) | 2004-03-31 | 2008-12-18 | 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 |
US7672818B2 (en) * | 2004-06-07 | 2010-03-02 | Exxonmobil Upstream Research Company | Method for solving implicit reservoir simulation matrix equation |
AU2005259253B2 (en) | 2004-06-25 | 2008-09-18 | Shell Internationale Research Maatschappij B.V. | Closed loop control system for controlling production of hydrocarbon fluid from an underground formation |
US7526418B2 (en) * | 2004-08-12 | 2009-04-28 | Saudi Arabian Oil Company | Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models |
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 |
US7925481B2 (en) | 2004-09-10 | 2011-04-12 | Van Wagoner John C | Geologic models of subsurface sedimentary volumes |
US7809537B2 (en) | 2004-10-15 | 2010-10-05 | Saudi Arabian Oil Company | Generalized well management in parallel reservoir simulation |
ATE402459T1 (de) | 2004-10-26 | 2008-08-15 | Total Sa | Verfahren und computerprogramm zur fehleroberflächenkonstruktion |
CA2598955C (en) | 2004-11-29 | 2014-10-14 | Chevron U.S.A. Inc. | Method, system and program storage device for simulating fluid flow in a physical system using a dynamic composition based extensible object-oriented architecture |
US7373285B2 (en) | 2004-12-01 | 2008-05-13 | Bp Corporation North America Inc. | Application of phase behavior models in production allocation systems |
WO2006065915A2 (en) | 2004-12-14 | 2006-06-22 | Services Petroliers Schlumberger | Geometrical optimization of multi-well trajectories |
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 |
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 |
US7277796B2 (en) | 2005-04-26 | 2007-10-02 | Schlumberger Technology Corporation | System and methods of characterizing a hydrocarbon reservoir |
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 |
GB2445305A (en) | 2005-08-15 | 2008-07-02 | Univ Southern California | Method and system for integrated asset management utilizing multi-level modeling of oil field assets |
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 |
WO2007142670A1 (en) | 2005-10-06 | 2007-12-13 | Schlumberger Technology Corporation | Method, system and apparatus for numerical black oil delumping |
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 |
MX2008009308A (es) | 2006-01-20 | 2008-10-03 | Landmark Graphics Corp | Administracion del sistema de produccion dinamica. |
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 |
WO2007106244A2 (en) | 2006-03-02 | 2007-09-20 | Exxonmobil Upstream Research Company | Method for quantifying reservoir connectivity using fluid travel times |
DE602007002702D1 (de) | 2006-04-07 | 2009-11-19 | Shell Int Research | Verfahren zur optimierung der erzeugung einer bohrlochgruppe |
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 |
US7548840B2 (en) * | 2006-06-06 | 2009-06-16 | Chevron U.S.A. Inc. | Efficient application of reduced variable transformation and conditional stability testing in reservoir simulation flash calculations |
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 |
CA2655232C (en) | 2006-07-07 | 2015-11-24 | Exxonmobil Upstream Research Company | Upscaling of reservoir models by reusing flow solutions from geologic models |
WO2008028122A2 (en) | 2006-09-01 | 2008-03-06 | Chevron U.S.A. Inc. | History matching and forecasting in the production of hydrocarbons |
US9043188B2 (en) | 2006-09-01 | 2015-05-26 | Chevron U.S.A. Inc. | System and method for forecasting production from a hydrocarbon reservoir |
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 |
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 |
US20080144903A1 (en) | 2006-10-25 | 2008-06-19 | Bai Wang | Real-time hardware accelerated contour generation based on VOI mask |
JP2010508091A (ja) | 2006-10-26 | 2010-03-18 | アボット ダイアベティス ケア インコーポレイテッド | 検体センサの感度低下をリアルタイムで検出するための方法、システム、及びコンピュータプログラム製品 |
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 |
EP2102823B8 (en) | 2007-01-05 | 2016-06-29 | Landmark Graphics Corporation | Systems and methods for visualizing multiple volumetric data sets in real time |
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 |
US9110193B2 (en) | 2007-02-25 | 2015-08-18 | Chevron U.S.A. Inc. | Upscaling multiple geological models for flow simulation |
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 |
WO2008150325A1 (en) | 2007-06-01 | 2008-12-11 | Exxonmobil Upstream Research Company | Generation of constrained voronoi grid in a plane |
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 |
EP2198121A1 (en) | 2007-08-31 | 2010-06-23 | Saudi Arabian Oil Company | Artificial neural network models for determining relative permeability of hydrocarbon reservoirs |
US20100191516A1 (en) | 2007-09-07 | 2010-07-29 | Benish Timothy G | Well Performance Modeling In A Collaborative Well Planning Environment |
BRPI0816685A2 (pt) | 2007-09-13 | 2015-03-17 | Prad Res & Dev Ltd | Método de optimização da análise de uma propriedade de fluido de um fluido de fundo de poço em um reservatório substerrâneo, e método para predizer performance de recuperação de óleo pesado a partir de um reservatório subterrâneo a uma profundidade particular. |
US20100132450A1 (en) | 2007-09-13 | 2010-06-03 | Pomerantz Andrew E | Methods for optimizing petroleum reservoir analysis |
US20110161133A1 (en) | 2007-09-29 | 2011-06-30 | Schlumberger Technology Corporation | Planning and Performing Drilling Operations |
GB2466412B (en) | 2007-10-22 | 2012-03-21 | Schlumberger Holdings | Formation modeling while drilling for enhanced high angle or horizontal well placement |
CA2703955C (en) | 2007-10-30 | 2018-05-29 | University Of Utah Research Foundation | Fast iterative method for processing hamilton-jacobi equations |
CN103278847A (zh) | 2007-11-14 | 2013-09-04 | 特拉斯帕克地球科学有限责任公司 | 地震数据处理 |
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 |
BRPI0905905A2 (pt) | 2008-02-11 | 2015-06-30 | Landmark Graphics Corp | Dispositivos e métodos para o posicionamento aperfeiçoado de pads |
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 |
EP2271952A4 (en) | 2008-04-11 | 2014-06-04 | Terraspark Geosciences Llc | VISUALIZATION OF GEOLOGICAL CHARACTERISTICS USING DATA PRESENTATIONS 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 |
WO2009137181A1 (en) | 2008-05-05 | 2009-11-12 | Exxonmobil Upstream Research Company | Modeling dynamic systems by visualizing and narrowing a parameter space |
EA201071318A1 (ru) | 2008-05-16 | 2011-06-30 | ШЕВРОН Ю. Эс. Эй. ИНК. | Многомасштабный способ для многофазного потока в пористых средах |
WO2009138290A2 (en) | 2008-05-16 | 2009-11-19 | Ephesia Consult Sa | Multi-point reservoir modelling |
US8095349B2 (en) | 2008-05-30 | 2012-01-10 | Kelkar And Associates, Inc. | Dynamic updating of simulation models |
CA2720638C (en) | 2008-06-16 | 2016-01-26 | Schlumberger Canada Limited | 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 |
BRPI0919207B1 (pt) | 2008-09-19 | 2020-08-18 | Chevron U.S.A. I.N.C | método e sistema implementado por computador para uso na modelagem de um sistema de reservatório geomecânico, e, método implementado por computador para uso na modelagem de uma fratura |
EP2337925A2 (en) | 2008-09-19 | 2011-06-29 | Chevron U.S.A. Inc. | Method for optimizing well production in reservoirs having flow barriers |
US8280709B2 (en) | 2008-10-03 | 2012-10-02 | Schlumberger Technology Corporation | Fully coupled simulation for fluid flow and geomechanical properties in oilfield simulation operations |
BRPI0919572A2 (pt) | 2008-10-09 | 2019-09-24 | Chevron Usa Inc | método implementado por computador em múltipla escala, sistema implementado por computador, e, método para operar um reservatório de subsuperfície |
WO2010056427A1 (en) | 2008-11-14 | 2010-05-20 | 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 |
GB2477901A (en) | 2008-12-03 | 2011-08-17 | Chevron Usa 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 |
CN102640155B (zh) | 2009-05-07 | 2015-01-28 | 沙特阿拉伯石油公司 | 计算储层模拟器的近似油井泄油压力的系统、计算机实现方法和计算机可读程序产品 |
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 |
US8996346B2 (en) | 2009-07-13 | 2015-03-31 | Schlumberger Technology Corporation | 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 |
GB2486142B (en) | 2009-09-11 | 2015-01-07 | Schlumberger Holdings | Methods and apparatus for characterization of petroleum fluid employing analysis of high molecular weight components |
US8364316B2 (en) | 2009-09-15 | 2013-01-29 | Invensys Systems, Inc. | Thermodynamic phase equilibrium analysis based on a reduced composition domain |
US8818778B2 (en) | 2009-09-16 | 2014-08-26 | Chevron U.S.A. Inc. | Method for creating a 3D rock representation using petrophysical data |
CA2774156C (en) | 2009-09-25 | 2017-01-17 | 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 |
BR112012009045B1 (pt) | 2009-11-12 | 2020-12-08 | Exxonmobil Upstream Research Company | métodos para gerar uma grade de simulação tridimensional para um modelo de reservatório, aparelho de gradeamento de simulação e simulador de reservatório |
EP3450679A1 (en) | 2009-11-30 | 2019-03-06 | 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 |
WO2011097055A2 (en) | 2010-02-02 | 2011-08-11 | 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 |
WO2011115921A2 (en) | 2010-03-19 | 2011-09-22 | Schlumberger Canada Limited | 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 |
US9442217B2 (en) | 2010-04-21 | 2016-09-13 | Schlumberger Technology Corporation | Methods for characterization of petroleum reservoirs employing property gradient analysis of reservoir fluids |
BR112012025995A2 (pt) | 2010-04-30 | 2016-06-28 | Exxonmobil Upstream Res Co | método e sistema para simulação de fluxo de volume finito |
WO2011138700A2 (en) | 2010-05-07 | 2011-11-10 | Schlumberger Canada Limited | 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 |
US20110310101A1 (en) | 2010-06-22 | 2011-12-22 | Schlumberger Technology Corporation | Pillar grid conversion |
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 |
WO2012003007A1 (en) | 2010-06-29 | 2012-01-05 | 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 |
EP2599028B1 (en) | 2010-07-26 | 2019-10-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 |
AU2011283196B2 (en) | 2010-07-29 | 2014-07-31 | Exxonmobil Upstream Research Company | Method and system for reservoir modeling |
WO2012015515A1 (en) | 2010-07-29 | 2012-02-02 | 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 |
CA2803315A1 (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 |
EP2599023B1 (en) | 2010-07-29 | 2019-10-23 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
AU2011283191A1 (en) | 2010-07-29 | 2013-02-07 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
US9436658B2 (en) | 2010-08-09 | 2016-09-06 | Landmark Graphics Corporation | Systems and methods for creating a surface in a faulted space |
CA2810212A1 (en) | 2010-09-02 | 2012-03-08 | Schlumberger Canada Limited | 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 |
WO2012031089A2 (en) | 2010-09-03 | 2012-03-08 | 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 |
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 |
US8433551B2 (en) | 2010-11-29 | 2013-04-30 | Saudi Arabian Oil Company | Machine, computer program product and method to carry out parallel reservoir simulation |
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 |
GB2502432B (en) | 2010-09-20 | 2018-08-01 | Exxonmobil Upstream Res Co | Flexible and adaptive formulations for complex reservoir simulations |
AU2011310635B2 (en) | 2010-09-28 | 2014-09-18 | Shell Internationale Research Maatschappij B.V. | 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 |
BR112013002998A2 (pt) | 2010-10-22 | 2016-06-14 | Exxonmobil Upstream Res Co | sistema de gerenciamento e controle de ativos |
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. |
CA2814669A1 (en) | 2010-11-23 | 2012-05-31 | Exxonmobil Upstream Research Company | Variable discretization method for flow simulation on complex geological models |
EA201390784A1 (ru) | 2010-11-30 | 2013-12-30 | Лэндмарк Графикс Корпорейшн | Способ уменьшения времени моделирования природного резервуара углеводородов |
US20120143577A1 (en) | 2010-12-02 | 2012-06-07 | Matthew Szyndel | Prioritizing well drilling propositions |
EP2649476B1 (en) | 2010-12-08 | 2021-06-16 | Halliburton Energy Services, Inc. | Calibration of an optical sensor |
US20130246031A1 (en) | 2010-12-08 | 2013-09-19 | Xiaohui Wu | Constructing Geologic Models From Geologic Concepts |
CA2822058A1 (en) | 2010-12-13 | 2012-06-21 | Chevron U.S.A. Inc. | Improved constrained pressure residual preconditioner for efficient solution of the adjoint equation |
WO2012082273A1 (en) | 2010-12-13 | 2012-06-21 | Chevron U.S.A. Inc. | Method and system for coupling reservoir and surface facility simulations |
US20120159124A1 (en) | 2010-12-15 | 2012-06-21 | Chevron U.S.A. Inc. | Method and system for computational acceleration of seismic data processing |
WO2012082928A2 (en) | 2010-12-16 | 2012-06-21 | Chevron U.S.A. Inc. | System and method for simulating fluid flow in a fractured reservoir |
MX335988B (es) | 2010-12-16 | 2016-01-07 | Landmark Graphics Corp | Sistemas y metodos para la descomposicion de un dominio en dos dimensiones durante la simulacion paralela de un receptaculo. |
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 |
WO2012105934A1 (en) | 2011-01-31 | 2012-08-09 | 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 |
GB2501829B (en) | 2011-02-24 | 2019-07-17 | Chevron Usa 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 |
CA2832882A1 (en) | 2011-05-17 | 2012-11-22 | Exxonmobil Upstream Research Company | Method for partitioning parallel reservoir simulations in the presence of wells |
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 |
CA2845014C (en) | 2011-08-16 | 2019-12-24 | Schlumberger Canada Limited | Hydrocarbon recovery employing an injection well and a production well having multiple tubing strings with active feedback control |
US8843353B2 (en) | 2011-08-25 | 2014-09-23 | Chevron U.S.A. Inc. | Hybrid deterministic-geostatistical earth model |
CN103959233B (zh) | 2011-09-15 | 2017-05-17 | 埃克森美孚上游研究公司 | 在执行eos计算的指令受限算法中最优化矩阵和向量运算 |
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 |
-
2012
- 2012-07-23 CN CN201280045166.4A patent/CN103959233B/zh not_active Expired - Fee Related
- 2012-07-23 BR BR112014005794A patent/BR112014005794A2/pt not_active IP Right Cessation
- 2012-07-23 WO PCT/US2012/047860 patent/WO2013039606A1/en active Application Filing
- 2012-07-23 CA CA2843929A patent/CA2843929C/en not_active Expired - Fee Related
- 2012-07-23 US US14/342,268 patent/US9489176B2/en active Active
- 2012-07-23 EP EP12832637.8A patent/EP2756382A4/en not_active Ceased
Non-Patent Citations (2)
Title |
---|
"A critical comparison of reduced and conventional eos algorithms";KB Haugen等;《SPE Journal》;20130430;第18卷(第2期);第378-388页 * |
"Highly Optimized Phase Equilibrium Calculations";KB Haugen等;《SPE Reservoir Simulation Symposium》;20130220;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CA2843929A1 (en) | 2013-03-21 |
WO2013039606A1 (en) | 2013-03-21 |
CA2843929C (en) | 2018-03-27 |
US9489176B2 (en) | 2016-11-08 |
EP2756382A4 (en) | 2015-07-29 |
CN103959233A (zh) | 2014-07-30 |
US20140201450A1 (en) | 2014-07-17 |
EP2756382A1 (en) | 2014-07-23 |
BR112014005794A2 (pt) | 2017-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959233B (zh) | 在执行eos计算的指令受限算法中最优化矩阵和向量运算 | |
Kuznik et al. | LBM based flow simulation using GPU computing processor | |
Castro et al. | GPU computing for shallow water flow simulation based on finite volume schemes | |
EP3298232B1 (en) | Parallel solution or fully-coupled fully-implicit wellbore modeling in reservoir simulation | |
US9378311B2 (en) | Multi-level solution of large-scale linear systems in simulation of porous media in giant reservoirs | |
Li et al. | GPU-based numerical simulation of multi-phase flow in porous media using multiple-relaxation-time lattice Boltzmann method | |
Winkler et al. | gpuSPHASE—A shared memory caching implementation for 2D SPH using CUDA | |
Czapiński et al. | Tabu Search with two approaches to parallel flowshop evaluation on CUDA platform | |
Banari et al. | Efficient GPGPU implementation of a lattice Boltzmann model for multiphase flows with high density ratios | |
Heuveline et al. | Towards a hybrid parallelization of lattice Boltzmann methods | |
Tomczak et al. | A new GPU implementation for lattice-Boltzmann simulations on sparse geometries | |
Buttari et al. | Performance optimization and modeling of blocked sparse kernels | |
Dimarco et al. | Towards an ultra efficient kinetic scheme. Part III: High-performance-computing | |
Imankulov et al. | Comparative analysis of parallel algorithms for solving oil recovery problem using CUDA and OpenCL | |
Singh et al. | Pore-scale Ostwald ripening of gas bubbles in the presence of oil and water in porous media | |
Middya et al. | A massively parallel reservoir simulator on the GPU architecture | |
Franz et al. | Introducing the Volsung geothermal simulator: benchmarking and performance | |
Feng et al. | A multi-stage preconditioner for the black oil model and its openmp implementation | |
Woodgate et al. | Parallel performance for a real time Lattice Boltzmann code | |
Vardon et al. | Three-dimensional field-scale coupled thermo-hydro-mechanical modeling: Parallel computing implementation | |
Uzyanbaev et al. | Analysis of parallel algorithm efficiency for numerical solution of mass transfer problem in fractured-porous reservoir | |
Werneck et al. | An OpenMP parallel implementation using a coprocessor for numerical simulation of oil reservoirs | |
CN103279685B (zh) | 基于逆向自动微分的油藏动态模拟方法 | |
Norman | Targeting atmospheric simulation algorithms for large, distributed-memory, GPU-accelerated computers | |
Ezzatti et al. | An efficient version of the RMA-11 model |
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 |
Granted publication date: 20170517 Termination date: 20200723 |
|
CF01 | Termination of patent right due to non-payment of annual fee |