CN111460670B - 一种基于cuda平台的大规模人群疏散模拟计算方法 - Google Patents

一种基于cuda平台的大规模人群疏散模拟计算方法 Download PDF

Info

Publication number
CN111460670B
CN111460670B CN202010258663.9A CN202010258663A CN111460670B CN 111460670 B CN111460670 B CN 111460670B CN 202010258663 A CN202010258663 A CN 202010258663A CN 111460670 B CN111460670 B CN 111460670B
Authority
CN
China
Prior art keywords
static field
cells
pedestrian
field value
cell
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.)
Active
Application number
CN202010258663.9A
Other languages
English (en)
Other versions
CN111460670A (zh
Inventor
肖修昆
王翔
马剑
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.)
Shenzhen Research Institute University Of Science And Technology Of China
Original Assignee
Shenzhen Research Institute University Of Science And Technology Of China
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 Shenzhen Research Institute University Of Science And Technology Of China filed Critical Shenzhen Research Institute University Of Science And Technology Of China
Priority to CN202010258663.9A priority Critical patent/CN111460670B/zh
Publication of CN111460670A publication Critical patent/CN111460670A/zh
Application granted granted Critical
Publication of CN111460670B publication Critical patent/CN111460670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于CUDA平台的大规模人群疏散模拟计算方法,具体为:首先将被疏散人员和疏散场景的数据从主机端拷贝到设备端;接着利用三个核函数完成场景静态场值初始化,确定行人在疏散场景中的流动方向;然后基于社会力模型计算人群疏散的运动过程,每个时间步依次调用三个核函数,直到所有疏散人员到达出口;本发明通过对GPU多线程的合理分配,大幅提高了计算效率,节约了硬件成本。

Description

一种基于CUDA平台的大规模人群疏散模拟计算方法
技术领域
本发明属于计算机模拟人群运动模型领域,具体涉及一种基于CUDA平台的大规模人群疏散模拟计算方法。
背景技术
随着我国经济的快速发展和城市化进程的加快,城市人口日渐增多,城市居民的交通、学习、娱乐、购物等社会活动的需求也不断增加。因此各种空间结构复杂的建筑被设计用以提高公共场所的空间容纳能力,如综合交通枢纽、大型购物商场、超高层商业综合体、大型体育馆等。一旦这些场所发生火灾、地震等灾害,以往我们对于单室或简单建筑结构场景的疏散的研究已经无法满足保证人员安全的需要,如何快速有效地从复杂的灾难环境中疏散几千甚至是上万数量的大规模人群成为了新的挑战。
计算机模拟开展行人疏散动力学研究的一个十分重要的方法,利用计算机真实地再现疏散过程可以帮助我们科学地管理疏散人群的流动,提高疏散效率,降低人员的伤亡。目前经常采用的人群运动模型分为离散型模型和连续型模型,离散型模型如元胞自动机模型、格子气模型等,这类模型计算简单,但模拟精度较低。而连续型如社会力模型、离心力模型等,能够更好地体现人员之间以及与环境的交互,但计算过程繁琐。随着行人动力学的不断发展,学者们相继发现了许多有趣地行人运动自组织现象。因此,更多的复杂因素被考虑到仿真模型中用以重现行人的真实运动,这意味着当进行大规模人群疏散模拟时,计算时间是难以忍受的。
据悉,目前市场上的商用人员疏散软件,均利用计算机CPU进行模拟计算。在计算十万人规模的人员疏散时,模拟计算时间在一小时以上。CPU每个核心虽然串行计算能力极强,处理单线程任务强悍,但是在面对大量的重复运算时较为吃力。基于此问题,一些学者尝试利用多核心计算机,采用CPU并行计算的方法来优化计算效率。这种方法利用OpenMP技术将大规模的人群分配到固定数量的并行线程上进行计算,开启的并行线程的数量取决于计算机的CPU核心数。然而,即使进行了大量的算法优化,当模拟人数超过10000人时,这种方法至少需要10个CPU核心才能够满足实时仿真的需求。
现有的方法在利用计算机模拟紧急情况下的人群疏散时,CPU承载了所有的计算任务。然而,在保证模拟精度的条件下,随着疏散场景结构复杂度以及待疏散人员数量的增加,模拟计算时间会迅速增加。无论是CPU串行计算还是并行计算,CPU最高可开启的并行线程数量都仅为CPU核心数的两倍。因此需要通过增加计算机的CPU核心数来提高计算效率。然而,增加CPU核心数的成本花费较高,例如一颗拥有12核心的CPU:Intel Xeon Gold6126@2.6Hz的市场报价为1.23万元,并且多核心对计算机其他硬件也有一定的特殊要求,难以在普通的计算机上实现。因此,面对大规模人群疏散中大量的重复运算,通过增加有限核心数量提升的效率仍然不高。
术语解释:
CUDA(Compute Unified Device Architecture):一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
CUDA核心:NVIDIA公司生产的显卡中的流处理器,CUDA核心数是决定显卡计算能力的最关键因素。
CPU(Central Processing Unit):中央处理器,是电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。
GPU(Graphics Processing Unit):图形处理器,是一种专门在个人电脑、工作站、游戏机和一些移动设备上图像运算工作的微处理器。
并行计算:指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。
发明内容
为解决上述问题,本发明提供了一种基于CUDA平台的大规模人群疏散模拟计算方法。一种基于CUDA平台的大规模人群疏散模拟计算方法,包括以下步骤:
步骤1:首先将被疏散人员和疏散场景的数据从主机端拷贝到设备端,即,从CPU内存到GPU显存;设有N个待疏散人员,M个出口,W个障碍物,疏散场景被空间离散为r行和c列的元胞,它们的初始静态场值均为0。
步骤2:利用三个核函数完成静态场值初始化:
2.1第一个核函数用于计算位于出口上所有元胞的静态场值,该函数需要申请r*c*M个线程;(i,j,m)表示第i行和第j列的元胞和第m个出口;利用线程(i,j,m)进行以下操作:如果元胞(i,j)位于出口m上,调用原子函数atomicMax(&Si,j,1)来令静态场值Si,j等于Si,j和1的最大值。
2.2第二个核函数用于设置距离障碍物小于25cm的元胞的静态场值,该函数需要申请r*c*W个线程;(i,j,w)表示第i行和第j列的元胞和第w个障碍物;利用线程(i,j,w)进行以下操作:如果元胞(i,j)的中心与第w个障碍物的距离小于25cm,调用原子函数atomicMin(&Si,j,-1)来令Si,j为Si,j和-1的最小值。
2.3迭代地调用第三个核函数,直到静态场值算法终止,第一次调用核函数令K=1,每次迭代时令K=K+1,第三个核函数需要申请r*c个线程,(i,j)表示第i行和第j列的元胞;利用线程(i,j)进行以下操作:如果Si,j=K,检索出8个方向的邻域元胞中静态场值为0的元胞,将它们的静态场值设为K+1。
步骤3:基于社会力模型计算人群疏散的运动过程:每个时间步依次调用三个核函数,直到所有疏散人员到达出口;在下面的三个内核函数中,如果对应的行人到达出口,线程将直接返回。
3.1第一个内核函数需要申请N*N个线程来计算每个行人从其他行人中受到的合力FP;线程(i,j)用于计算行人j对行人i的作用力fpi,j;如果i=j,则fpi,j=0;然后调用原子函数atomicadd(&FPi,fpi,j),将力fpi,j添加到合力FPi中。
3.2第二个核函数需要申请N*W个线程来计算每个行人从障碍物中受到的合力FW;线程(i,j)用于计算障碍物j对行人i的作用力fwi,j;然后调用原子函数atomicadd(&FWi,fwi,j),将力fwi,j增加到合力FWi中。
3.3最后一个核函数需要申请N个线程,线程(i)用于计算行人i的自驱力和合力,求解i的运动以及判断其是否到达目的地;先根据个体的位置,基于静态场值来求解期望方向和计算自驱力,然后根据第一个和第二个核函数结果计算个体受到的合力,最后求解个体的运动,更新其位置;此核函数还需要检查行人是否到达出口,如果行人到达出口,将其属性“Arrival”设置为true。
进一步的,社会力模型为:
Figure BDA0002438433320000031
其中,mi为行人i的质量,
Figure BDA0002438433320000032
为i期望速度,
Figure BDA0002438433320000033
为期望方向,vi(t)为行人在t时刻的速度,τi为松弛时间;其他行人对i的合力表示为
Figure BDA0002438433320000034
周围墙壁或障碍物对行人的合力表示为
Figure BDA0002438433320000035
进一步的,元胞的静态场值初始化按照以下步骤进行:
a、使用大小为0.1m*0.1m的元胞分散疏散场景,将所有元胞的静态场值设置为0;
b、搜索在出口上的所有元胞,将其静态场值设置为1;搜索元胞中心点距障碍物不超过0.25m的元胞,设置其静态场值设为-1,用于避免行人与障碍物碰撞;
c、设置变量K=1,创建扩散种子集合Sd,将静态场值为K的元胞添加到Sd;
d、Sd中每个元胞向8个方向扩散1个元胞,对于每个扩散后的元胞,如果其静态场值为0,则将其静态场值设为K+1;
e、令K=K+1,清空Sd;
f、搜索所有静态场值为K的元胞,将其添加到Sd中;如果Sd为空,则算法终止,否则返回步骤d。
进一步的,每个时间步个体的期望方向利用下式进行计算:
Figure BDA0002438433320000041
其中Px,y表示期望方向从行人中心点指向元胞(x,y)中心的概率;N为保证∑Px,y=1的归一化系数;λ为控制期望方向随机性的参数,该模型将其设置为-1.5;Sx,y为元胞(x,y)的静态场值;M为包含相邻元胞八个方向的坐标的集合;nx,y用于表示元胞是否可用,如果Sx,y<0,则nx,y=0,否则为nx,y=1。
本发明的有益技术效果为:
本发明基于CUDA计算平台,利用NVIDIA显卡实现人员疏散快速并行计算。这种方法对比传统的CPU串行计算方法,利用GPU的大量CUDA核心并行计算每个疏散人员的微观运动,提高了运算效率,显著节约了模拟计算时间。同时本发明通过对GPU多线程的合理分配,节约了硬件成本。
附图说明
图1为本发明人群疏散计算流程图;
图2为静态场值初始化原理图;
图3为某场景静态场分布平面图;
图4为用于计算出口上所有元胞的静态场值线程分配示意图;
图5为用于计算行人之间的相互作用力线程分配示意图。
具体实施方式
下面结合附图和具体实施方法对本发明做进一步详细说明。
本发明的疏散模型:
首先介绍疏散模拟计算所使用的基本模型。为了保证精度要求,个体运动过程我们采用了连续型模型—社会力模型。著名学者HELBING在1995年提出了社会力模型,在行人动力学领域产生了巨大的影响力,是至今为止最经典的疏散仿真模型之一。在社会力模型中,行人被视为粒子,其运动符合牛顿第二定律,行人在时刻的加速度可以计算如下:
Figure BDA0002438433320000042
其中mi为行人i的质量,
Figure BDA0002438433320000051
为i期望速度,
Figure BDA0002438433320000052
为期望方向,vi(t)为行人在t时刻的速度,τi为松弛时间。自驱力的作用在于引导行人向目的地移动。此外,周围的其他人和墙等障碍物也会影响行人的移动。其他行人对i的合力表示为
Figure BDA0002438433320000053
周围墙壁或障碍物对行人的合力表示为
Figure BDA0002438433320000054
原始的社会力模型中行人所期望的方向总是指向出口,如果使用它来模拟复杂的疏散场景,则需要在适当的时间改变个体所期望的方向,使个体能够智能地绕开障碍物,避免碰撞。模型中我们假设行人总是选择距离最短的出口,并采用场域来解决这个问题。在模拟开始时,空间将被尺寸为0.1m*0.1m的元胞离散化,计算每个元胞用于控制行人期望方向的静态场值。图3为某体育场部分看台区的静态场值分布图,元胞的填充色越深代表此元胞的静态场值越大,这也意味着到达出口的距离越远。行人在疏散时,由静态场值大的位置向静态场值小的位置流动。参考洪水填充算法,初始化场景内元胞的静态场值可以按照以下步骤进行:
a、使用大小为0.1m*0.1m的元胞分散疏散场景,将所有元胞的静态场值设置为0;
b、搜索在出口上的所有元胞,将其静态场值设置为1;搜索元胞中心点距障碍物不超过0.25m的元胞,设置其静态场值设为-1,用于避免行人与障碍物碰撞;
c、设置变量K=1,创建扩散种子集合Sd,将静态场值为K的元胞添加到Sd;
d、Sd中每个元胞向8个方向扩散1个元胞(如图2所示),对于每个扩散后的元胞,如果其静态场值为0,则将其静态场值设为K+1;
e、令K=K+1,清空Sd;
f、搜索所有静态场值为K的元胞,将其添加到Sd中;如果Sd为空,则算法终止,否则返回步骤d。
每个时间步个体的期望方向利用下式进行计算:
Figure BDA0002438433320000055
其中Px,y表示期望方向从行人中心点指向元胞(x,y)中心的概率;N为保证∑Px,y=1的归一化系数;λ为控制期望方向随机性的参数,该模型将其设置为-1.5;Sx,y为元胞(x,y)的静态场值;M为包含相邻元胞八个方向的坐标的集合;nx,y用于表示元胞是否可用,如果Sx,y<0,则nx,y=0,否则为nx,y=1。
基于CUDA的并行计算方法
简要地介绍CUDA中的线程结构。所有的线程都包含在一个两层的结构中:网格(Grid)允许包含最多三个维度的块(Block),每个块可以包含最多三个维度的线程。每个内核函数需要申请指定数量的线程,这些线程统一执行此内核函数。需要注意的是,不同代的显卡具有不同的计算能力。通常,新一代具有更高的计算能力,这意味着内核中允许开启更多数量的线程。例如,显卡NVIDIA Geforce RTX 2080的计算能力为7.5,使用此显卡进行并行计算,一个块中允许的最大线程数为1024,网格允许的最大块数量为2147483647*65535*65535。
本发明的模拟计算方法流程图如1所示,
首先,需要将被疏散人员和疏散场景的数据从主机端到设备端,也即,从CPU内存到GPU显存。我们假设有N个待疏散人员,M个出口,W个障碍物。疏散场景被空间离散为r行和c列的元胞,它们的初始静态场值均为0。
接着需要利用三个核函数完成静态场值初始化的工作。
第一个核函数用于计算位于出口上所有元胞的静态场值,该函数需要申请r*c*M个线程,这些线程可以看作是一个三维数组线程。(i,j,m)表示第i行和第j列的元胞和第m个出口,如图4所示。利用线程(i,j,m)进行以下操作:如果元胞(i,j)位于出口m上,调用原子函数atomicMax(&Si,j,1)来令静态场值Si,j等于Si,j和1的最大值。这里,原子函数用于防止不同线程之间的相互竞争。也即,一旦某个线程调用原子函数,其他线程需要等待,直到该线程完成该函数。
第二个核函数用于设置距离障碍物小于25cm的元胞的静态场值,该函数需要申请r*c*W个线程;(i,j,w)表示第i行和第j列的元胞和第w个障碍物;利用线程(i,j,w)进行以下操作:如果元胞(i,j)的中心与第w个障碍物的距离小于25cm,调用原子函数atomicMin(&Si,j,-1)来令Si,j为Si,j和-1的最小值。
迭代地调用第三个核函数,直到静态场值算法终止,第一次调用核函数令K=1,每次迭代时令K=K+1,第三个核函数需要申请r*c个线程,(i,j)表示第i行和第j列的元胞;利用线程(i,j)进行以下操作:如果Si,j=K,检索出8个方向的邻域元胞中静态场值为0的元胞,将它们的静态场值设为K+1。
最后,基于社会力模型计算人群疏散的运动过程:每个时间步依次调用三个核函数,直到所有疏散人员到达出口;在下面的三个内核函数中,如果对应的行人到达出口,线程将直接返回。
第一个内核函数需要申请N*N个线程来计算每个行人从其他行人中受到的合力FP,如图5所示。线程(i,j)用于计算行人j对行人i的作用力fpi,j;如果i=j,则fpi,j=0;然后调用原子函数atomicadd(&FPi,fpi,j),将力fpi,j添加到合力FPi中。
第二个核函数需要申请N*W个线程来计算每个行人从障碍物中受到的合力FW;线程(i,j)用于计算障碍物j对行人i的作用力fwi,j;然后调用原子函数atomicadd(&FWi,fwi,j),将力fwi,j增加到合力FWi中。
最后一个核函数需要申请N个线程,线程(i)用于计算行人i的自驱力和合力,求解i的运动以及判断其是否到达目的地;先根据个体的位置,基于静态场值来求解期望方向和计算自驱力,然后根据第一个和第二个核函数结果计算个体受到的合力,最后求解个体的运动,更新其位置;此核函数还需要检查行人是否到达出口,如果行人到达出口,将其属性“Arrival”设置为true。
本发明利用显卡实现人员疏散仿真快速计算。显卡中的GPU由数以千计的更小、更高效的CUDA核心组成,虽然每个核心的计算能力稍落后于CPU,但这些核心专门为同时处理多任务而设计,可高效地处理并行任务。在进行人群疏散仿真计算时,虽然在疏散时间的维度上无法实现各时间步并行计算,但是计算行人运动以及行人间的相互作用时,需要对所有疏散个体进行大量的重复运算,当人群规模较大时,利用此发明进行并行计算将大幅降低计算时间。经过案例测试,在疏散人群数量高于2万人时,一张花费约6000元的NVIDIAGeforceRTX 2080显卡的人群疏散并行计算速度可以达到Intel Xeon Gold 6126@2.6Hz计算速度的两倍。因此,本发明通过对GPU多线程的合理分配,大幅提高了计算效率,节约了硬件成本。

Claims (4)

1.一种基于CUDA平台的大规模人群疏散模拟计算方法,其特征在于,包括以下步骤:
步骤1:首先将疏散人员和疏散场景的数据从主机端拷贝到设备端,即,从CPU内存到GPU显存;设有N个待疏散人员,M个出口,W个障碍物,疏散场景被空间离散为r行和c列的元胞,它们的初始静态场值均为0;
步骤2:利用三个核函数完成场景的静态场值初始化:
2.1第一个核函数用于计算位于出口上所有元胞的静态场值,该函数需要申请r*c*M个线程;(i,j,m)表示第i行和第j列的元胞和第m个出口;利用线程(i,j,m)进行以下操作:如果元胞(i,j)位于出口m上,调用原子函数atomicMax(&Si,j,0)来令静态场值Si,j等于Si,j和0的最大值;
2.2第二个核函数用于设置距离障碍物小于25cm的元胞的静态场值,该函数需要申请r*c*W个线程;(i,j,w)表示第i行和第j列的元胞和第w个障碍物;利用线程(i,j,w)进行以下操作:如果元胞(i,j)的中心与第w个障碍物的距离小于25cm,调用原子函数atomicMin(&Si,j,-1)来令Si,j为Si,j和-1的最小值;
2.3迭代地调用第三个核函数,直到静态场值算法终止,第一次调用核函数令K=1,每次迭代时令K=K+1,第三个核函数需要申请r*c个线程,(i,j)表示第i行和第j列的元胞;利用线程(i,j)进行以下操作:如果Si,j=K,检索出8个方向的邻域元胞中静态场值为0的元胞,将它们的静态场值设为K+1;
步骤3:基于社会力模型计算人群疏散的运动过程:每个时间步依次调用三个核函数,直到所有疏散人员到达出口;在下面的三个核函数中,如果对应的行人到达出口,线程将直接返回;
3.1第一个核函数需要申请N*N个线程来计算每个行人从其他行人中受到的合力FP;线程(i,j)用于计算行人j对行人i的作用力fpi,j;如果i=j,则fpi,j=0;然后调用原子函数atomicadd(&FPi,fpi,j),将力fpi,j添加到合力FPi中;
3.2第二个核函数需要申请N*W个线程来计算每个行人从障碍物中受到的合力FW;线程(i,j)用于计算障碍物j对行人i的作用力fwi,j;然后调用原子函数atomicadd(&FWi,fwi,j),将力fwi,j增加到合力FWi中;
3.3最后一个核函数需要申请N个线程,线程(i)用于计算行人i的自驱力和合力,求解i的运动以及判断其是否到达目的地;先根据个体的位置,基于静态场值来求解期望方向和计算自驱力,然后根据第一个和第二个核函数结果计算个体受到的合力,最后求解个体的运动,更新其位置;此核函数还需要检查行人是否到达出口,如果行人到达出口,将其属性“Arrival”设置为true。
2.根据权利要求1所述的一种基于CUDA平台的大规模人群疏散模拟计算方法,其特征在于,所述社会力模型为:
Figure FDA0004051254770000021
其中,mi为行人i的质量,
Figure FDA0004051254770000022
为i期望速度,
Figure FDA0004051254770000023
为期望方向,vi(t)为行人在t时刻的速度,τi为松弛时间;其他行人对i的合力表示为
Figure FDA0004051254770000024
周围墙壁或障碍物对行人的合力表示为
Figure FDA0004051254770000025
3.根据权利要求1所述的一种基于CUDA平台的大规模人群疏散模拟计算方法,其特征在于,所述元胞的静态场值初始化按照以下步骤进行:
a、使用大小为0.1m*0.1m的元胞分散疏散场景,将所有元胞的静态场值设置为0;
b、搜索在出口上的所有元胞,将其静态场值设置为1;搜索元胞中心点距障碍物不超过0.25m的元胞,设置其静态场值设为-1,用于避免行人与障碍物碰撞;
c、设置变量K=1,创建扩散种子集合Sd,将静态场值为K的元胞添加到Sd;
d、Sd中每个元胞向8个方向扩散1个元胞,对于每个扩散后的元胞,如果其静态场值为0,则将其静态场值设为K+1;
e、令K=K+1,清空Sd;
f、搜索所有静态场值为K的元胞,将其添加到Sd中;如果Sd为空,则算法终止,否则返回步骤d。
4.根据权利要求1所述的一种基于CUDA平台的大规模人群疏散模拟计算方法,其特征在于,所述每个时间步个体的期望方向利用下式进行计算:
Figure FDA0004051254770000026
其中Px,y表示期望方向从行人中心点指向元胞(x,y)中心的概率;N为保证∑Px,y=1的归一化系数;λ为控制期望方向随机性的参数,该模型将其设置为-1.5;Sx,y为元胞(x,y)的静态场值;M为包含相邻元胞八个方向的坐标的集合;nx,y用于表示元胞是否可用,如果Sx,y<0,则nx,y=0,否则为nx,y=1。
CN202010258663.9A 2020-04-03 2020-04-03 一种基于cuda平台的大规模人群疏散模拟计算方法 Active CN111460670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010258663.9A CN111460670B (zh) 2020-04-03 2020-04-03 一种基于cuda平台的大规模人群疏散模拟计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010258663.9A CN111460670B (zh) 2020-04-03 2020-04-03 一种基于cuda平台的大规模人群疏散模拟计算方法

Publications (2)

Publication Number Publication Date
CN111460670A CN111460670A (zh) 2020-07-28
CN111460670B true CN111460670B (zh) 2023-05-02

Family

ID=71685890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010258663.9A Active CN111460670B (zh) 2020-04-03 2020-04-03 一种基于cuda平台的大规模人群疏散模拟计算方法

Country Status (1)

Country Link
CN (1) CN111460670B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580308B (zh) * 2022-05-07 2022-07-12 西南交通大学 一种人员疏散时间预测方法、装置、存储介质及终端设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2998890A1 (de) * 2014-09-16 2016-03-23 Siemens Schweiz AG Verfahren zum rechnergestützten Entwurf eines Bauwerks
JP5996689B2 (ja) * 2015-02-13 2016-09-21 株式会社構造計画研究所 避難シミュレーション装置、避難シミュレーション方法及びプログラム
CN105701314A (zh) * 2016-02-25 2016-06-22 武汉大学 一种基于自适应智能体模型的复杂人群疏散行为仿真方法
CN105955797A (zh) * 2016-04-28 2016-09-21 中山大学 一种基于gpu的社会力模型人群实时仿真方法
CN108153966B (zh) * 2017-12-22 2021-06-15 中山大学 基于gpu的多出口势能场模型人群实时疏散仿真方法
CN108388734A (zh) * 2018-02-28 2018-08-10 山东师范大学 基于禁忌搜索蜂群算法的人群疏散仿真方法及系统
CN109522651B (zh) * 2018-11-16 2023-07-04 中电科新型智慧城市研究院有限公司 一种基于静态场和有偏行走的人群疏散模拟方法

Also Published As

Publication number Publication date
CN111460670A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
Ponder et al. VHD++ development framework: Towards extendible, component based VR/AR simulation engine featuring advanced virtual character technologies
Shen et al. Agent-based traffic simulation and traffic signal timing optimization with GPU
Qingge et al. Simulating crowd evacuation with a leader-follower model
WO2014094410A1 (zh) 颗粒流动仿真系统和方法
Yan et al. Interactive WebVR visualization for online fire evacuation training
Chen et al. Exploring the capabilities of mobile devices in supporting deep learning
Geist et al. Lattice-boltzmann lighting.
Dang et al. A chain navigation grid based on cellular automata for large-scale crowd evacuation in virtual reality
Bozorgmehr et al. Utilizing dynamic parallelism in CUDA to accelerate a 3D red-black successive over relaxation wind-field solver
CN111460670B (zh) 一种基于cuda平台的大规模人群疏散模拟计算方法
Richmond et al. Agent based gpu, a real-time 3d simulation and interactive visualisation framework for massive agent based modelling on the gpu
CN107885599A (zh) 用一组并行运行的计算资源模拟3d场景的方法、程序和系统
Zhang et al. Multi-agent based modeling and simulating for evacuation process in stadium
JP2023007366A (ja) 分子構造取得方法、装置、電子デバイス及び記憶媒体
Zhang et al. Fluidsnet: end-to-end learning for Lagrangian fluid simulation
Tissera et al. Evacuation simulations using cellular automata
Aghapour et al. CPU-GPU layer-switched low latency CNN inference
Zhou et al. Evacuation effect analysis of guidance strategies on subway station based on modified cellular automata model
Wang et al. A modified floor field model combined with risk field for pedestrian simulation
Papadakis et al. A GPU accelerated PSO with application to Economic Dispatch problem
Rahman et al. Towards accelerated agent-based crowd simulation for Hajj and Umrah
US11055381B1 (en) Estimating product integrals using a composition of warps
Peteva et al. The application of object-oriented programming and game engine to promote cultural and historical heritage
Sumit et al. ReSTiNet: An Efficient Deep Learning Approach to Improve Human Detection Accuracy
Rodriguez et al. New approaches to culling and lod methods for scenes with multiple virtual actors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant