论文部分内容阅读
现代大规模科学计算的参数多、精度高、尺度大,普通的显示手段很难展现其计算的全景。使用先进的显示设备构建新型的可视科学计算环境来协助科学家对科学计算进行有效的驾驭、分析和理解,是当前计算机领域和计算科学领域的一个研究热点。在众多显示手段中,显示墙由于能达到超高分辨率和超大显示面积而备受青睐。传统的显示墙使用紧耦合的图形流水线驱动高端投影仪拼接实现,由于所用的软硬件都由专业公司整体生产,构建成本高,构建后软硬件的升级、变更、维护和扩展都比较困难,实用性较差,只有少量政府科研机构有能力构建和使用。随着计算机硬件技术的飞速发展,使用通用的低端硬件来构建显示墙逐渐成为可能。本文研究了完全使用通用硬件来构建低成本、可伸缩立体显示墙的方法,并基于此构建了一个面向多学科模拟的可视计算环境。这种立体显示墙使用微机集群驱动一组普通中低档投影仪构成。投影仪阵列中每两个投影仪形成一个立体投影对,投影到屏幕上的同一区域,实现被动立体。投影仪位置不需要物理上精确定位,通过计算机视觉的方法实现投影图像几何和色彩上的无缝拼接。由于完全使用标准硬件,构建的方法和支撑软件都有良好的可伸缩性,所以用户可以根据需要非常迅速地搭建多种分辨率和显示尺寸的显示墙。本文研究的重点包括:1、系统研究了立体显示墙的构建方法,包括其系统构架、硬件选择、几何校正、颜色校正、立体实现、软件平台等各个方面。其中有特点的工作包括:■提出了两次投影、在线消除投影仪非线性因素的几何校正算法。该方法简化了几何校正过程,并提高了校正精度。■提出了利用双通道显卡,将校正算法透明地应用到显示墙系统中的集成方法。该方法在后台运行,不影响前台程序的正常运行,并且利用了显卡硬件的计算能力,校正速度较高。2、研究了驱动立体显示墙的并行绘制方法。分析了各种并行绘制方法的特点,指出sort-first方法是最合适当前集群硬件条件的并行绘制方法。研究了提高sort-first并行绘制效率的方法,主要包括:■提出和实现了流缓冲和动态列表构建。由于帧间具有相似性,将指令缓冲可以降低带宽负载,进一步将缓冲的指令编译为动态显示列表则可以提高指令执行效率。■提出了基于Hilbert曲线的静态负载平衡方法。利用Hilbert曲线在空间上良好的解聚集特点,能在多数情况下提高负载平衡率,能在较低分辨率下提高绘制速度。■提出了基于等分网格快速分组的动态负载平衡方法。该方法是一种近似的离散对象调度方法,综合考虑了几何对象边界覆盖和像素传输耗时,能在几何对象数目较少时实现绘制加速。3、设计和实现了问题求解环境EEMAS的主要部分。EEMAS与立体显示墙一起组成了一个可视的科学计算环境,用于支撑多学科的大规模科学计算。主要工作包括:■使用黑板框架设计和实现了EEMAS的主体框架,各个功能模块以可插拔的方式动态组合,协同解决多学科问题。■集成了许多有用模块,特别是基于偏微分方程应用类的支撑工具。开发了几何建模前处理模块,并改造了ParaView可视化模块。■验证了EEMAS在立体显示墙上的使用。应用本文所述方法,已在浙江大学和某航天研究院部署了两套立体显示墙,并结合问题求解环境EEMAS,进行了实际的科学计算模拟。实践表明,通过协助科研人员快速整合资源和可视驾驭计算,该环境能比较高效地实现多学科、大规模计算模拟。