全文总字数:8489字
1. 研究目的与意义(文献综述)
1.1 目的和意义
据2018年4月25日IDC(International Data Corporation)发布的消息,最近几年由于云计算、物联网、人工智能、大数据等信息技术的快速发展和传统产业数字化的转型,数据量呈现几何级增长,全球数据总量预计2020年达到44个ZB,我国数据量将达到8060个EB,占全球数据总量的18%。
面对如此庞大的数据量,人类分析数据的能力却要远远小于获取数据的能力。造成这一局面的原因不单单在于与日俱增的数据量,同时其高维、多元源、多态等特性,也为人类分析数据带来不小的挑战。
数据可视化是一门以数据为基础,借助各种工具和方法提取并分析其中的信息,并以图形化的方式呈现出来的科学。数据可视化就是帮助人类分析数据的手段之一,它借助人类的视觉感知与认知能力,能够十分有效地传达丰富的、极易被隐藏的信息,对人类分析数据起到辅助的作用。当下的数据可视化技术基于计算机科学的快速发展,同时其运用计算机图形学、人机交互等技术,将采集到的数据转化为可识别的图形或视频,将具有价值的信息反馈给用户。
从微观的角度看,模拟计算得到的数据先经过计算机的处理和变换,再将处理后的数据按照特定的方式进行几何映射,可视化映射是指将数据信息映射成可视化元素的过程,这一步是整个可视化过程的关键和核心,而可视化元素又包括可视化空间、标记和视觉通道三部分,最后将映射后的图像绘制和显示出来,其中数据可视化的最终呈现形式包括饼状图、散点图、热力图等等。从宏观的角度看,可视化的目的是辅助用户做出正确的决策,因此可视化和用户之间是相互作用的,用户对可视化得出的图像进行感知,然后经过自己的认知和分析,再反过来对可视化过程进行交互,形成一个良性循环,最终得到一个最佳的数据可视化结果。
在数值模拟领域,可视化是分析模拟数据的一大利器,并涉及到天文、物理、地理、能源、气候、交通、勘测、材料、生物、医药等多个领域。例如,在粒子模拟中,可视化设计可以使得粒子的整体状态和运动趋势能够清晰的从绘出的图中直观的看出,为粒子云的诊断分析提供了有力的工具;在量子力学中的无限深势阱问题上,可以进行无限深势阱的波函数和概率密度分布的数值模拟,通过理论计算结果和可视化模拟图形的比对,使势阱问题能够更加直观和形象地被理解;在河流的研究中,通过对可视化技术在河流数值模拟中的具体应用,发现在平面二维数值模拟过程中,应用可视化技术能够较好地处理计算数据,实现数据的可视化,使分析结果更加形象直观,并且直观生动的实时动画,有助于对模拟可靠度的评价与工程问题分析;在天文领域,可以将星系黑洞吸积盘流场的模拟数据进行可视化,从而能够得到更加直观的信息;此外,还能对全球海洋流场、高铁流场、全球气候等模拟数据进行可视化。
在论文撰写方面,数据可视化也起着举足轻重的作用,尤其是科技类论文,作者为了将得到的数据成果展现出来,经常需要对各类数据进行处理和分析,一个好的数据可视化方式,不仅能够大大减少研究人员的工作量,还能更加全面和准确地展现出现有的研究成果,让读者能够更加清晰、快速地了解到论文的研究工作,从而提高论文的整体质量。
PIC/MC作为一种用于分子甚至原子尺度运动的计算机数值模拟方法,广泛应用于等离子体物理等领域。在PIC/MC模拟中,通常粒子的数量可以达到10^8-10^10级别,粒子的空间跨度仅为10^-10级别,时间跨度在飞秒(10^-15)至纳秒(10^-9)级别,并且每个粒子都包括位置、大小、重量、速度等多维信息,可见,数值模拟产生的数据量极为庞大和复杂。正因为如此,对这些数据进行可视化就显得格外重要,可视化在PIC/MC数值模拟中具有非常重要的作用。
1.2 国内外研究现状
可视化的起源最早可以追溯到19世纪前叶,当时统计领域发展迅速,1801年William Playfair为了阐述当时土耳其帝国在各个州所占有的领土面积,在《统计摘要》上绘制了世界上第一张饼状图。英国地质学家William Smith绘制出了世界上第一张地质图,掀起了数据信息图形化的潮流。
19世纪中叶,概念图、统计图等迅速发展,数据可视化进入加速期,Luigi Perozzo在当时绘制了有代表意义的瑞典人口普查数据图,1858年Florence Nightingale为了解释克里米亚战争期间很多死亡原因并非是“战死沙场”而绘制了第一张玫瑰图。
20世纪上半叶,数据可视化得到普及和推广,并开始被尝试着用于天文学、物理学、生物学等领域,Hertzsprung Russell 绘制的温度与恒星亮度图成为了近代天体物理学的奠基之一。然而这一时期数据可视化并没有什么创新式的发展,因此更多地是出于一个停滞的状态。
1950-1974年这段时间是数据可视化的复苏期,最主要的原因是这一时期计算机的发明。统计学家 JohnW. Tukey 和制图师 Jacques Bertin是这一时期的领军人物。随着计算机的普及,上世纪六十年代末,各研究机构逐渐开始使用计算机程序取代手绘的图形。由于计算机的数据处理精度和速度具有强大的优势,高精度分析图形已不能用手绘制。在这一时期,数据缩减图、多维标度法 MDS、聚类图、树形图等更为新颖复杂的数据可视化形式开始出现。
1975-2011年这段时期,数据可视化进入黄金时代。在这一时期,人们主要尝试使用多维定量数据的静态图来表现静态数据,并且发明了动态统计图,这一时期也是动态交互式可视化发展的起源。
2012年至今,互联网迅猛发展,全球的数据信息量爆炸式增长,人们对数据的使用效率也不断提高,数据的的服务商开始需要从多个维度向用户提供服务,从此打开了大数据时代的大门,交互式实时数据可视化发展成为了主要的研究方向。早期受制于计算机的发展,图像处理的能力受到很大的限制,很多时候都是手工或手动进行绘图。随着现代计算机水平和对数据可视化的要求不断提高,各种可视化工具软件应运而生,仅开发商提供给用户的可视化工具软件就多达上百种,其中主要的有gnuplot,py-plot,origin,Matlab 和 VISIT。
在国内,中国科学院的FDS团队结合科学计算可视化技术、GPU(图形处理器)可视化编程技术,以及该团队自动建模系统MCAM的反向转换引擎,自主研发了集数据分析提取、图形化管理以及结合几何的三维数据可视化分析功能于一体的MCNP计算结果可视化分析系统。以国际热核实验堆ITER为代表的大量测试结果表明,该系统显著提高了数据的利用率和分析效率。
方舟等人对EAST核聚变实验数据的数据可视化方面进行深入研究。开发了一款新的Java Web应用程序,它通过自动编写Java服务器页面(JSP)和JavaScript代码来创建一个集数据可视化、数据监控和离线数据分析地交互平台。针对EAST等离子放电实验期间产生的大量工程物理信号,实时采集等离子体放电信息和各个子系统所产生的温度、压力和流量等数据信号,并根据获取的数据信息以Web和图形化方式搭建一个数据可视化交流平台,协助工程物理专家及时掌握EAST运行情况。
陈明等人用MATLAB(R)混合编程,给出了一种粒子模拟(PIC,CIC)方法中粒子云状态实时可视化的新方案,使得粒子的整体状态和运动趋势能够清晰的从绘出的图中直观的看出。为粒子云的诊断分析提供了有力的工具。
文献【基于CSG的堆芯蒙特卡罗输运模型可视化转换技术研究】为了提高堆芯蒙特卡罗精细输运计算模型(简称MC计算模型)的三维可视化分析效率,在充分调研目前MC计算模型三维可视化工具发展现状的基础上,通过对不同类型几何模型的特点,以及构造实体几何(CSG)模型的描述方法进行分析,提出了一种堆芯精细MC计算模型的自动三维可视化转换方法,并对可视化转换过程涉及到的CSG模型到边界描述(BREP)模型转换、BREP模型网格离散和CSG模型转换效率优化等关键技术进行了深入研究。测试结果表明,提出的MC计算模型自动三维可视化方法在功能和效率方面均能满足工程使用需求。
文献【Visualization of MD and MC simulations for atomisticmodeling-原子建模的MD和MC仿真的可视化】中Technion的计算物理小组自己开发了一款名为AViz的软件包,它可以对钻石中间隙缺陷的产生进行建模,通过增强3D感知和旋转系统的可视化可以展示氧化铝表面上50000个原子的行为,以及突出显示有更改过的配位数和配位键的原子。
文献【Scientific visualization of 3-dimensional optimizedstellarator configurations- Spong, D. A.】在现代恒星器配置的设计和物理分析中采用了高性能的计算和仿真,通过改变模拟过程中等离子体的外边界形状,优化了各种物理特征,例如传输,稳定性和加热效率,并且作者已经开发了多种可视化技术。
国内某科研团队提出了一种前沿的Warp调度算法,用于在GPU通用计算中协调L1D缓存管理和Warp调度,它可以预测活动Warp的资源需求,并抑制负载存储单元的消耗,以实现有效的Warp并行性。
方晓健等人讨论了一种对GPU加速的分布式粒子模拟进行在线可视化的方法。在该方法中,GPU除了被用于加速粒子模拟过程外,也被用于数据到图像的快速转换。同时,并行绘制技术被用于分布式数据的可视化。用户可在并行计算运行过程中,通过显示于拼接显示墙的高分辨率图像,实时地观察到粒子模拟中发生的现象,并对计算过程进行跟踪和调整。
等离子体数值模拟的数据量是巨大的,如果采用串行读写的方式来实现可视化的话就会存在速度和效率的问题,因此不得不考虑采用并行的方式,尤其是对于较大规模的实验数据时,并行方式的可视化已经成为一种必然趋势。要实现并行可视化主要有三个步骤:①数据划分;②各数据块绘制;③最终的图像合成。但是具体操作起来会存在这样三个问题:1、计算负载不均衡;2、大量粒子在节点间通信;3、IO瓶颈。
报告【学术报告:http://mcs.wtu.edu.cn/info/1029/2334.htm】中就提到,当前处理器中大规模并行性迅速增长,计算核心惊人增长,但是内存带宽明显滞后,使得芯片外内存带宽与计算能力之间的差距不断增大,进而导致了如内存访问堵塞等问,而解决这些问题的一个有效方法就是引入Warp调度算法。
Warp是广泛开发的开源单元格内粒子代码,旨在模拟具有高空间电荷强度的带电粒子束。 “ Warp”的名称源于代码模拟翘曲(弯曲)笛卡尔网格的能力。这种弯曲网格功能使代码可以有效地模拟与具有偶极弯曲的环和束传输线相关联的弯曲加速器晶格中的空间电荷效应。Warp由Alex Friedman于1980年代在LLNL首次开发,遵循的是Livermore Lab模型的与解释程序链接的可操纵编译代码模块。从1980年代后期开始,David Grote(LLNL / LBNL)对Warp代码进行了持续而广泛的扩展,Warp团队中的其他人也做出了重要贡献,以实现其高度发展的状态。Warp也是等离子代码,已用于电子云和等离子建模。提供有限的散射和非弹性碰撞模型,以及粒子与表面相互作用的模型。 Warp可以使用pyMPI或mpi4py串行和并行编译。
除了引入Warp调度算法外,在可视化的实现过程中,还需要一个适配的编程框架,比较典型的框架就是北京应用物理与计算数学研究所莫则尧等人研发的JASMIN框架。
JASMIN是面向结构网格应用研制的编程框架。该框架面向现代高性能计算机体系结构,设计数据结构、发展和集成高效并行算法、采用先进软件技术,提供屏蔽并行实现的编程接口,支持领域专家在个人电脑上“并行思考、串行编程”,快速研制并行应用软件。JASMIN支持单块结构网格、多块结构网格(协调拼接、非协调拼接)、自适应加密结构网格等多种网格类型;支持h-自适应、r-自适应、接触碰撞、输运扫描、粒子模拟等多种计算方法。
JASMIN框架已成功应用于惯性约束聚变、电磁防护、武器物理、激光聚变、高新技术装备、全球气候等领域,可高效使用数十万CPU核和上百万异构核。在PIC模拟方面,已经基于JASMIN框架开发出了多种应用软件,并已投入使用中,典型的应用如下表所示。
| 典型应用软件 | 应用领域 | 计算规模 | 处理器核数 |
| 时域全波电磁模拟软件 | 电磁环境 | 4608亿网格 | 93万异构核(12万CPU核 81万MIC核) |
| 激光等离子体相互作用粒子模拟 | 激光聚变 | 1555亿粒子 | 93万异构核(12万CPU核 81万MIC核) |
| 激光等离子体相互作用流体力学 | 激光聚变 | 805亿粒子 | 93万异构核(12万CPU核 81万MIC核) |
| 三维辐射流体力学界面不稳定性 | 激光聚变 | 70亿网格 | 80万异构核(10万CPU核 70万MIC核) |
| 二维辐射流体耦合中子运输程序 | 武器物理 | 上亿自由度 | 1.2万CPU核 |
| 关联电子体系模拟软件 | 材料科学 | 60个K点x600个特征态 | 1.2万CPU核 |
| 三维冲击动力学粒子模拟 | 材料科学 | 2.56亿粒子 | 3.2万CPU核 |
2. 研究的基本内容与方案
2.1 研究内容
(1)熟悉cmake,vscode,github,intel编译器等编程工具。
(2)熟悉可视化程序visit的使用和扩展方法,针对现有的并行fortran2008程序编写接口。
3. 研究计划与安排
2月24日-3月1日:仔细阅读必读的参考文献,对相关的英文文献进行学习和翻译;
3月2日-3月8日:查阅与毕业设计选题相关的参考文献,完成开题报告的撰写;
3月9日-3月22日:掌握vscode、visual studio、github、cmake和intel 编译器等基本工具,熟悉fortran编程语言和ipm程序模块;
4. 参考文献(12篇以上)
[1] 袁忠才, 时家明, 黄勇, et al. 低温等离子体数值模拟方法的分析比较[j]. 核聚变与等离子体物理, 2008(03):88-94.
[2] 马腾才, 胡希伟, 陈银华. 等离子体物理原理[m].安徽:中国科学技术大学出版社,2012.
[3] 贾长云, 朱香卫. 可视化编程应用,visual basic[m]. 北京:北京理工大学出版社,2006.
