System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及并行计算领域,尤其涉及一种tip4p水模型的分子动力学模拟并行计算方法。
技术介绍
1、tip4p力场是一个专门用于描述水分子间相互作用的力场模型,能够较为准确地模拟水分子的微观结构和动态行为。tip4p力场通过引入虚原子,通常是位于氧原子和氢原子之间的一个负电荷点,来模拟水分子中的电子云分布,从而更准确地描述水分子间的静电相互作用。此外,它还包括了水分子间的lennard-jones势,用于描述水分子间的短程相互作用。
2、在新一代神威超级计算机上,对tip4p力场模拟进行优化时,将面临多重挑战。首先,考虑到访存结构的特点,sw26010pro处理器的从核配备了有限的本地数据存储器,即ldm,这对于需要大量数据交换的tip4p力场模拟来说是一个限制。由于ldm的容量有限,从核在执行计算时,不得不频繁地与主存进行数据交换,这种频繁的访存操作会显著增加模拟的延迟,并可能导致处理器等待数据,从而降低整体的执行效率。尽管sw26010pro处理器的总访存带宽相当高,但其多核并行设计使得每个核心能够利用的带宽受到限制。这意味着当多个从核同时访问主存时,每个核心可能无法获得足够的带宽来支持其计算需求,从而导致模拟的并行性能下降。
3、此外,tip4p力场模拟本身的算法复杂性和数据依赖性也给并行化带来了挑战。算法中存在大量的数据依赖和条件分支,这些特性使得简单的并行化策略难以奏效。
4、在力场模拟中,势能计算模块因为涉及到计算体系中每对粒子之间的相互作用,这导致计算量巨大,降低了力场模拟的效
5、并且在tip4p力场模拟中,由于空间中粒子的分散,需要离散地访问邻居原子的数据,访存操作呈现离散化。离散访存意味着处理器在访问数据时,无法形成连续的访存模式,这可能导致缓存命中率下降,增加访存延迟。
技术实现思路
1、针对上述存在的问题,本专利技术提供的一种tip4p水模型的分子动力学模拟并行计算方法,能够解决现有技术在lammps中模拟tip4p力场时,由于ldm的容量有限,需要频繁与主存进行数据交换,从而降低整体的执行效率的问题,实现优化tip4p力场模拟算法中大量的数据依赖和条件分支,提高势能计算效率,减少离散访存操作,提升tip4p力场模拟并行计算的效率。
2、为实现上述目的,本专利技术采取的技术方案为:
3、本专利技术提供的一种tip4p水模型的分子动力学模拟并行计算方法,包括以下步骤:
4、s101:在lammps中初始化邻近原子对的邻接表,计算所有氧原子对应的氢原子坐标和虚电荷坐标;
5、s102:将原子的坐标、电荷量和原子类型封装成一个数据结构,并将该类型的数据存储在数组中,数组存储于主存上;
6、s103:将主存中的数组加载至ldm共享空间内;
7、s104:将邻接表内的原子根据当前进程待计算的总原子数和从核数分割为若干个原子集合;建立三层循环遍历邻接表,外层循环遍历从核所分配到的原子集合,中间层循环遍历原子集合中的原子,内层循环则针对该原子遍历其所有邻居原子,从核从ldm共享空间内读取数组中的原子数据,并进行静电相互作用力和lennard-jones势的计算。
8、本专利技术提供的tip4p水模型的分子动力学模拟并行计算方法,优选地,所述步骤s103中,将主存中的数组加载至ldm共享空间的方法包括以下步骤:
9、s201:将处理器的从核的部分ldm空间配置为连续的共享空间;
10、s202:ldm连续共享机制选择全阵列行,并配置从核内用于ldm共享空间的大小;
11、s203:将主存中数组内的数据通过dma操作加载到ldm共享空间内。
12、本专利技术提供的tip4p水模型的分子动力学模拟并行计算方法,优选地,所述步骤s202中的空间大小为32kb。
13、本专利技术提供的tip4p水模型的分子动力学模拟并行计算方法,优选地,所述步骤s104中,以原子集合的方式将邻接表中的原子均匀分配给64个从核。
14、上述技术方案具有如下优点或者有益效果:
15、本专利技术提供的tip4p水模型的分子动力学模拟并行计算方法,在步骤s101中,初始化邻近原子对的邻接表,并计算所有氧原子对应的氢原子坐标和虚电荷坐标,通过直接访问这些预先计算好的坐标,可以在从核计算原子力场时,减少每次迭代所需进行的重复坐标计算或复杂的分支判断,此处的分支判断为多个原子之间位置的判断,通过减少重复的计算步骤和复杂的分支判断,可以有效地提升原子间势能部分的计算效率;
16、在步骤s102中,由于每次循环迭代从核都需要进行原子类型的识别、坐标计算和相互作用力的计算,且在从核计算原子间相互作用力之前,需要将原子的数据从主存中提取出来,原子的数据如坐标、粒子种类、携带的电荷量被储存在不同的数组内,虽然通过不同的数组存放原子的各类数据的方式在逻辑上保持了数据的清晰分离,但这种分散的存储模式导致了频繁且非连续的内存访问,从而降低了缓存的利用效率和整体的性能,提取一个原子的数据需要访问多个数组,从而导致内存访问次数增多,为了减少离散访存操作,将原子的坐标、电荷量和原子类型封装成一个数据结构,并将该类型的数据存储在数组中,对于其中一个原子数据的获取可以在一次访存中完成,进而降低了访问内存的次数,有效利用内存带宽,提高原子间相互作用力的计算效率;
17、在步骤s103中,从核计算原子间相互作用力需要通过从核访问内存中存储有原子数据的数组,但是从核直接访问主存的开销大,而从核有各自独立的内存ldm,从核访问ldm速度更快,但是ldm空间小,若要使用ldm,则需要从核频繁地将主存内的数据加载至ldm中,为了减少主存和ldm间的数据交换,需要扩大ldm的空间,即创建ldm共享空间,并将主存中的数组加载至ldm共享空间内;ldm共享空间可以存储大量原子数据,减少了数据交换次数的同时,避免了重复传输相同数据,进而降低了dma操作的开销,且由于所有从核均可直接访问ldm共享空间中的数据,从核访问数据速度显著加快,可以更加有效利用内存带宽;
18、在步骤s104中,为了模拟tip4p力场,若干个从核需要并行计算邻接表中每个原子间的静电相互作用力和lennard-jones势;为了可以提高并行计算的速度,将邻接表内的原子根据当前进程待计算的总原子数和从核数分割为若干个原子集合,将分割而成的若干个原子集合分配至从核上,若在并行计算时,从核无序地对原子数据读取并计算,可能导致多个从核访问相同的数据,进而提高了从核读取原子数据的开销,因此,将邻接表中的原子分割为原子集合,并将其分配给每个从核可以避免重复传输相同数据,从而减少了数据交换次数,进而提高单位时间内的计算机的计算效率;建立三层循环遍历邻接表,外层循环遍历从核所分配到的原子集合,ldm共享空间大小会影响原子集合所包含的原子数量,即一个从核可能被分配多个原子集合;中间层循环遍历原子集合中的本文档来自技高网...
【技术保护点】
1.一种TIP4P水模型的分子动力学模拟并行计算方法,其特征在于,包括以下步骤:
2.如权利要求1所述的TIP4P水模型的分子动力学模拟并行计算方法,其特征在于,所述步骤S103中,将主存中的数组加载至LDM共享空间的方法包括以下步骤:
3.如权利要求2所述的TIP4P水模型的分子动力学模拟并行计算方法,其特征在于,所述步骤S202中的空间大小为32KB。
4.如权利要求1所述的TIP4P水模型的分子动力学模拟并行计算方法,其特征在于,所述步骤S104中,以原子集合的方式将邻接表中的原子均匀分配给64个从核。
【技术特征摘要】
1.一种tip4p水模型的分子动力学模拟并行计算方法,其特征在于,包括以下步骤:
2.如权利要求1所述的tip4p水模型的分子动力学模拟并行计算方法,其特征在于,所述步骤s103中,将主存中的数组加载至ldm共享空间的方法包括以下步骤:
3.如权利要求...
【专利技术属性】
技术研发人员:熊朴聿,高萍,
申请(专利权)人:国家超级计算无锡中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。