高维物理系统的当代模型受到维度的诅咒和对密集数据的依赖的限制。 我们介绍了KHRONOS(Kernel Expansion Hierarchy for Reduced Order, Neural Optimized Surrogates),一个基于模型、无模型和模型反转任务的AI框架。 KHRONOS构建了连续可微分的目标字段,其分层构成的每维内核扩展,这些扩展被拉伸成模式,然后叠加。 我们评估KHRONOS在规范2D,Poisson方程基准:跨越16至512自由度(DoFs),它获得L2平方误差5e-4降至6e-10。 这表示在控制参数数量时,Kolmogorov Arnold Networks(它本身报告了具有100倍参数的MLP / PINN的100倍改进)的100倍收益。 与可比DoF的标准线性FEM相比,L2平方误差也提高了1e4倍。 推理复杂性以内部产品为主,产生亚毫秒全场预测,扩展到任意分辨率。 对于反向问题,KHRONOS 仅在少数前瞻性评估中可促进快速、迭代水平设置恢复,每个样本延迟为亚微秒。 KHRONOS的可扩展性、可表达性和可解释性在受限的边缘计算、在线控制、计算机视觉等领域开辟了新的途径。
GPU是最新一代超级计算机的核心。 我们通过 NVIDIA 和 AMD Instinct GPU 上的 OpenACC 高效加速可压缩多相流量求解器。 优化是通过指定指令子句“gang vector”和“崩溃”来完成的。 通过将用户定义的类型打包成串化多维数组和手动内衬,通过元编程将用户定义的类型打包成合并的维多阵列,实现了6倍和10倍的进一步加速。 额外的优化在数组打包中产生七倍的加速,在Frontier上选择内核的30倍加速。 当在 V100 和 MI250X 硬件上缩放到 84 因子 8 和 16 的 50 效率时,可观察到 97 的弱缩放效率。 当 GPU 感知 MPI 用于通信时,AMD 的 MI250X 的强大扩展效率增加到 16 中的 92。
三十年来,航母阶段观测一直被用来利用全球导航卫星系统(GNSS)获得最准确的位置估计。 这些估计值是通过最小化非线性混合整数最小二乘问题来计算的。 现有的算法将问题线性化,正交投射它来消除真实的变量,然后解决整数最小平方问题。 现在对开发类似的地面和室内环境本地化技术有相当大的兴趣。 我们展示了线性化的算法在这些设置中首先失败,我们提出了几种计算估计的算法。 我们的一些算法是消除算法,从消除约束中的非线性术语开始;其他算法构建了一个几何排列,使我们能够有效地枚举整数解决方案(在多项式时间)。 我们专注于简化的定位问题,其中测量范围(距离)测量和载波相位范围测量,没有滋扰参数。 简化的问题使我们能够专注于解开一些参数的非线性和整数性质的核心问题。 我们使用模拟显示,新算法在线性化优先方法失败的近距离有效。
我们介绍了Julia包Manifolds.jl,提供了一个快速且易于使用的黎曼流形和Lie组的库。 该包允许处理在黎曼流形上定义的数据,例如圆,球体,对称正确定性矩阵或双曲空间模型之一。 我们引入了一个通用接口,在ManifoldsBase.jl中可用,可以实现新的流形,应用程序和算法。 我们演示了Manifolds.jl的实用性,使用Bézier splines,流形优化任务和非线性数据的主要组件分析。 在基准测试中,Manifolds.jl在速度上优于低维流折的所有可比包;在Python和Matlab包中,改进通常是几个数量级,而超过C / C++包,改进是两倍。 对于高维流形,它优于除Tensorflow-Riemopt之外的所有封装,这是专门为高维流形量身定制的。
随着现代软件系统的规模和复杂性的扩展,与其建模和配方相关的挑战变得越来越复杂。 传统方法往往缺乏有效解决这些复杂性,特别是在诸如用于维护和评估的设计模式检测以及优化和长期可持续性的代码重构等任务中。 这种日益加剧的不足突出表明,在如何处理和解决这些挑战方面需要范式转变。 本文介绍了分析软件工程(ASE),这是一种新颖的设计范式,旨在平衡抽象,工具可访问性,兼容性和可扩展性。 ASE 能够有效建模和解决复杂的软件工程问题。 范式通过两个框架进行行为结构序列(BSS)和优化设计重构(ODR)评估,这两个框架都是根据ASE原则开发的。 BSS提供了紧凑的、与语言无关的代码库表示,以方便精确的设计模式检测。 ODR统一了人工制品和解决方案表示,通过方法优化代码重构,同时消除迭代计算开销。 通过提供针对软件设计挑战的结构化方法,ASE为未来编码和分析复杂软件指标的研究奠定了基础。
L_∞-规范的计算是H_∞控制的一个重要问题,特别是用于分析系统稳定性和鲁棒性。 本文侧重于用于确定有限维线性系统的 L_∞- 规范的符号计算方法,强调了他们在数值方法经常遇到限制的情况下实现精确解决方案的优势。 关键技术,如Sturm-Habicht序列,Rational Univariate Representations(RUR)和Cylindrical Algebraic Decomposition(CAD)进行了调查,重点是其理论基础,实际实现以及L_∞-规范计算的特定适用性。 在符号和常规数值方法之间进行比较分析,强调了符号计算提供卓越准确性的情景,特别是在参数化情况下。 基准评价揭示了这两种方法的优势和局限性,提供了对所涉权衡的见解。 最后,讨论讨论了符号计算的挑战,并探讨了将其整合到控制理论中的未来机会,特别是对于稳健和稳定的系统分析。
本文演示了如何使用经过认证的计算工具来解决控制理论中的各种问题。 特别是,我们引入了PACE.jl,一个Julia包,实现了符号消除技术,包括(除其他外)判别品种和Rational Univariate Representation,同时还支持多精度间隔计算。 我们展示了其对关键控制理论问题的应用,包括识别、稳定性分析和优化,适用于参数依赖性和无参数系统。
Radau IIA方法,特别是Fortran的自适应顺序Radau方法,由于Hairer,已知是高度刚性普通微分方程(ODE)的高精度溶液的最先进的。 然而,传统的实现是专门到一个特定的公差范围,特别是只支持第5,9和13顺序版本的表,并且仅以双精度浮点衍生,从而限制了高保真场景的真正通用性的能力。 为了减轻这些限制,我们实现了自适应时间自适应顺序Radau方法,该方法可以将Radau IIA嵌入式表的系数导出到任何精度。 此外,我们基于 Julia 的实施包括许多现代化,以提高性能,包括改进订单适应计划和改进线性代数集成。 在针对经典Fortran实现的头对头基准测试中,我们证明我们的实现在一系列刚性ODE中约为2倍。 我们根据几个著名的硬ODE数字集成商对算法进行基准测试,并在几个测试问题上找到最先进的性能,当需要低误差公差时,硬性ODE的普通数值集成器的速度快1.5倍。 新实现的方法在开源软件中分发,以便在刚性ODE上免费使用。
稀疏基质着色和双色是稀疏自动分化的基本构建块。 双色对于至少一个密集行和柱的矩形Jacobian矩阵特别有利。 事实上,在这种情况下,单向行或列着色需要一些与行或列数相等的颜色。 我们引入了一种新的双色策略,包括直接和基于替代的减压方法。 我们的方法重新制定了双色的两个变体,作为增强对称矩阵的恒星和鰰啶颜色。 我们将中性色的概念(以前专属于双色)扩展到对称着色,我们提出了一个后处理例程,中和了颜色,以进一步降低整体颜色计数。 我们还介绍了Julia软件包SPSseMatrixColorings,其中包括这些新的生物着色算法以及用于稀疏导数矩阵计算的所有标准着色方法。 与ColPack相比,Julia软件包还提供了用于明星和鰰次甲双的增强实现,顶点排序以及减压。
部署科学软件解决方案的一个主要挑战是将研究原型适应生产级代码。 虽然像MATLAB这样的高级语言对于快速原型设计很有用,但它们缺乏可扩展生产应用程序所需的资源效率,因此需要翻译成C++等低级语言。 此外,对于机器学习和信号处理应用,基础线性代数原语,通常由标准BLAS和LAPACK库提供,笨拙且难以使用,需要手动内存管理和其他繁度。 为了应对这一挑战,Armadillo C++线性代数库提供了一个直观的界面,用于编写易于编译成高效生产级实现中的线性代数表达式。 我们描述了我们在 Armadillo 中实现的表达式优化,利用模板元编程。 我们证明,这些优化使各种基准线性代数表达式的效率提高了。
对于包含大量自定义代码的科学机器学习任务,选择合适的自动微分 (AD) 系统至关重要。我们的 Julia 包 DifferentiationInterface.jl 提供了一个通用的前端,用于连接一打 AD 后端,从而实现轻松的比较和模块化开发。特别是,其内置的准备机制通过分摊一次性计算来利用每个后端的优势。这对于启用诸如稀疏性处理等复杂功能至关重要,而不会给用户带来额外的负担。
C++编程语言及其表兄弟倾向于内存低效的构建体存储:编译器插入帮助位,使单个实例变量适合字节或缓存边界,而它无法利用有关整数,枚举或比特集范围的知识。 此外,该语言既不支持通过MPI交换数据,也不支持任意的浮点精度。 我们提出了C++属性,开发人员可以通过这些属性来指导编译器哪些内存安排是有益的:是否可以将多个布尔或有限范围的整数挤入一个位字段,浮点数是否比IEEE标准中具有更少的显著比特,或者代码是否受益于属性子集的MPI数据类型? 该扩展提供了通过简单的C++分配恢复正常对齐的机会,没有引入对外部库的依赖,由此产生的代码仍然是标准的C++,但地址和指针算术上有一些弱化的保证。 我们的工作实现了 LLVM 中的语言注释,并通过平滑的粒子流体力学 (SPH) 基准测试,展示了它们对运行时和内存足迹的潜在影响。 他们揭示了在性能和发展生产力方面的潜在收益。
几何代数(GA)是几何计算的数学工具,提供了一个框架,允许统一和紧凑的几何关系方法,在其他数学系统中,通常使用不同的更复杂的元素来描述几何关系。 这一事实导致GA越来越多地采用应用数学和工程问题。 然而,GA的符号实现稀缺及其固有的复杂性,需要特定的数学背景,使得工程师使用起来具有挑战性和不那么直观。 这阻碍了更多应用专业人员的更广泛采用。 为了应对这一挑战,本文介绍了SUGAR(Symbolic和用户友好的几何代数例程),这是一个为Matlab设计并在MIT许可证下授权的开源工具箱。 SUGAR 有助于将 GA 概念转化为 Matlab,并提供一系列针对 GA 计算的用户友好功能,包括支持符号操作。 它支持高维GA的数字和符号计算。 SUGAR专为应用数学和工程应用量身定制,经过精心设计,以表示二维和三维投影和构象几何代数中的几何元素和变换,与文献中既定的计算方法保持一致。 此外,SUGAR还有效地处理多向量的功能,如指数,对数,正弦和后弦功能,增强了其在各种工程领域(包括机器人,控制系统和电力电子)的适用性。 最后,这项工作包括四个不同的验证示例,展示了SUGAR在上述领域的能力及其解决现实世界应用数学和工程问题的实际效用。
本文介绍了GeoFlood,这是一个新的开源软件包,用于解决浅水方程(SWE)在由平行的自适应库ForestClaw(Calhoun和Burstedde,2017)管理的四棵树层次结构上绘制的笛卡尔网格。 GeoFlood模型通过Neelz和Pender(2013)的标准基准测试以及历史上的Malpasset大坝故障进行了验证。 基准测试结果与从GeoClaw(Clawpack开发团队,2020年)和软件包HEC-RAS(液压工程中心河流分析系统,陆军工程兵团)获得的基准测试结果进行比较(Brunner,2018)。 Malpasset爆发的洪水结果与George(2011)(从GeoClaw软件获得),Hervouet和Petitjean(1999)的模型结果以及经验数据进行了比较。 这些比较验证了GeoFlood与其他常用模型相比的理想化基准的能力,以及它在复杂地形中高效模拟高度动态洪水的能力,与历史现场数据一致。 因为它是大规模并行和可扩展的,GeoFlood可能是以非常高的分辨率高效计算大规模洪水问题的宝贵工具。
我们引入了 optHIM,一个在 PyTorch 中实现 CPU 和 GPU 的连续无约束优化算法的开源库。 通过利用 PyTorch 的 autograd, optHIM 将功能、梯度和 Hessian 信息无缝集成到灵活的行搜索和信任区域方法中。 我们评估11个最先进的变体,关于基准问题跨越凸和非凸景观。 通过一套定量指标和定性分析,我们展示了每种方法的优势和取舍。 optHIM旨在通过为研究和教育提供一个透明、可扩展和高效的框架来实现高级优化的民主化。
OSMnx是一个Python包,用于从OpenStreetMap数据下载,建模,分析和可视化城市网络以及任何其他地理空间功能。 大量且不断增长的文献使用它在地理,城市规划,交通工程,计算机科学等学科进行科学研究。 OSMnx项目最近开发和实现了许多新功能、建模功能和分析方法。 该软件包现在包含的功能比以前在文献中记录的功能要多得多。 本文介绍了OSMnx的现代能力、使用和设计,以及它们背后的科学理论和逻辑。 它分享了地理空间软件开发的经验教训,并反思了开放科学对城市建模和分析的影响。
由于计算机硬件的最新发展,大规模科学计算的数字精度已成为一个新兴的话题。 较低的浮点精度提供了显着性能改进的潜力,但降低数值精度所带来的不确定性是它在高保真模拟湍流中达到流行程度的主要障碍。 在本工作中,对不同四舍五入方案下降低数值精度的影响进行了调查,并与模拟数据中白噪声的存在进行比较,以获得流量中不同数量的统计平均值。 为了研究这如何影响模拟,提出了评估这些不确定性来源影响的实验方法,其中每个实现 u^i 都受到干扰,要么通过限制向相位空间的较粗离散化(对应于以确定性和随机四舍五入的低精度格式)或通过以均匀分布的白噪声扰动流。 这种方法的目的是评估精度的限制因素,以及直接数值模拟(DNS)对噪声和数值精度的稳健性。 我们的结果表明,对于低Re湍流通道流,随机四舍五入和噪声的影响显着低于确定性四舍五入,表明随机四舍五入相对于传统圆到近的潜在好处。 我们发现,要捕捉速度变化的概率密度函数,浮点精度在相对速度变化小、湍流强度低的区域尤其重要,但在速度梯度大、变化如近壁区域等区域则不那么重要。
在本文中,我们介绍了“原始双锥形编程解决方案”(PDCS),这是一个具有GPU增强的大型圆锥形编程求解器。 PDCS目前支持的问题包括线性程序,二阶圆锥程序,凸二次程序以及指数圆锥程序。 PDCS通过利用稀疏矩阵向量乘法作为其核心计算操作来实现大规模问题的可扩展性,这既具有内存效率,也非常适合GPU加速。 求解器基于重新启动的原始双混合梯度方法,但进一步集成了几项增强功能,包括自适应反射Halpern重新启动,自适应步长选择,自适应重量调整和对角线调整。 此外,PDCS采用基于双插引的方法计算对重新缩放圆锥体的投影。 此外,cuPDCS是PDCS的GPU实现,它实现了定制的计算方案,利用不同级别的GPU架构来处理不同类型和大小的圆锥体。 数字实验表明,cuPDCS通常比最先进的商业求解器和其他大规模圆锥体程序应用的第一顺序方法更有效,包括Fisher市场均衡问题,Lasso回归和多周期投资组合优化。 此外,与圆锥体程序基准数据集CBLIB上的其他一阶方法相比,cuPDCS还具有更好的可扩展性,效率和鲁棒性。 这些优势在大规模、低精度设置中更为明显。
现有的 Python 库和工具缺乏在缺少值的情况下有效计算大型数据集的统计测试结果的能力。 一旦运行时和内存可用性的限制成为特定用例的基本考虑因素,就会出现问题。 出现这种限制的相关研究领域包括用于生物医学数据探索性分析的交互式工具和数据库。 为了解决这个问题,我们介绍了Python包NApy,它依赖于具有OpenMP并行化的Numba和C++后端,以便在缺少值的情况下为混合类型数据集进行可扩展的统计测试。 在运行时和内存消耗方面,NApy都优于竞争对手的工具和基线实现,采用基于Python的天真并行化数量级,从而在交互式应用程序中实现实时分析。 NApy 可在 https://github.com/DyHealthNet/NApy 查阅。
背景:计算肿瘤理论和方法的进步使肿瘤生长和治疗反应在患者特定的基础上的准确表征和预测成为可能。 这种能力可以集成到一个数字孪生框架中,其中物理肿瘤和数字肿瘤之间的双向数据流通过推荐最佳治疗干预措施促进动态模型重新校准,不确定性量化和临床决策支持。 然而,许多数字孪生框架依赖于针对每个疾病站点、建模选择和算法实现的定制实现。 研究结果:我们介绍了TumorTwin,一个用于初始化,更新和利用患者特异性癌症肿瘤数字孪生的模块化软件框架。 TumorTwin作为Python包公开提供,具有相关的文档,数据集和教程。 新颖的贡献包括开发可适应不同疾病部位的患者数据结构,实现不同数据,模型,求解器和优化对象的组成的模块化架构,以及CPU或GPU并行实现向前模型的求解和梯度计算。 我们通过高等级胶质瘤生长和对放射治疗的反应的硅数据集演示TumorTwin的功能。 结论:TumorTwin框架可实现图像引导肿瘤学数字孪生的快速原型和测试。 这使得研究人员能够系统地调查不同的模型,算法,疾病部位或治疗决策,同时利用强大的数值和计算基础设施。