请参阅:http://www.sam.math.ethz.ch/alsvid-uq版本历史记录:ALSVID-UQ-3.0:-波动方程中的非各向同性材料-三维打印例程-重新组织打印脚本-为“cutslice”选项优化的数据加载:现在3d中的切片速度非常快(除了“z”轴上的切片)-三维仿真数据的一维切片-地形:kl、kl2d已删除(遗留)-材料-kl.h/cpp添加到有组织的kl生成功能中-不平衡估计-从群集配置文件中删除编译器选项“-mcmodel=medium”-重新构造了run_samples()例程(一些例程移动到variance.cpp和kurtosis.cpp文件)-模型:mhdcloudshock3d和模型:添加了mhdmagnetic-blast-将降采样和方差例程移动到单独的源文件-variance_fix例程从saver.cpp中移出-支持不同的编译器:pgi、intel、cray、gnu-CURRENT_LEVEL重命名为MESH_LEVEL-level_init()重命名为mesh_level_int()-引入SAMPLES_LEVEL;引入了samples_level_init()-从许多例程中删除了参数'l'-仅为重构以前使用的头文件而创建的volumes.cpp和numtypes.cpp-在有和无虚单元的卷之间实现了运算符重载-所有与统计相关的并行通信现在都是使用没有虚单元的卷来完成的,从而提高了伸缩性和性能-下标运算符[][][用于改进的卷-确定性运行优化:无需额外分配卷,实时保存数据-NMT现在是动态计算的-添加错误:“MULTIX不能大于x方向上最粗糙网格上的单元数”-添加到infolines的平衡器信息-multi_combine_mlmc()适用于最粗网格分辨率很小且在最细网格上有密集DDM的情况,即当multi[X-Z][L]>N[X-Z][0]-“calc_all_vars()”使用“calc_xtra()”泛化所有方程-方程sw中的方差计算修正-为“plotStrongScaling()”例程实现了选项“detailed”-实现电影生成为多页PDF(用于LaTeX包“animate”)-后端和助手Python脚本被移至“scripts/”-errorplot.py脚本还估计了误差收敛图中的常数和收敛速度-“initial_data()”求积中的错误已修复-材料中的错误:logn-fft(-per)(包括material-fft.h/cpp文件)已修复-修复了“multi_bc()”例程中的错误“HAVE_DIR(Z)>1”-删除了“comm_level”通信器,因为它们会导致MPI错误“通信器太多”;相反,“comm_level_rands”直接与MPI_comm_WORLD一起使用-添加了D[X-Z][0-L]变量以存储网格宽度-balancer:static现在可以处理样本数,这些样本数不是工作数(sampler)的倍数-实现直方图绘制-已删除“predict_imbalance()”-SUB_STEP_HOOK已删除,Powell源项计算已移至相应的solver_*.cpp文件-信息行中添加了“SAMPLES”部分-“samples.py”存储每个样本级别使用的样本数-对于multi:mpi,“multix是”最快的索引,而“multiz是”最慢的索引;这给FFTW-MPI带来了问题;现在“multix”是最慢的索引,“multiz”是最快的索引-实现了“stats:mean-var-functional”-就在启动FVM模拟之前,在时间t=0时,将“coefficients_init_ghost_cells()”添加到XtraVars的集合bc。-添加了LINKER_LIBS变量-USE_ESTIMATED LOADS重命名为ESTIMATE_LOADS-HIST_DATA相关代码已删除-添加了LOADS_FILE参数,绘图例程现在使用此参数-LOADS_FILE和SAMPLES_FILE附加了运行名称-如果“USE_ESTIMATED_LOADS=1”,则所有计算的速度都会输出到一些python文件“LOADS.dat”-删除了所有与直方图相关的代码-默认情况下,1d和2d绘图现在被额外保存到EPS文件中,以备将来在某些日志中使用-通过“set_flux_size()”例程为每个方程式添加“model_set_chaos_size-“bc_fix()”已删除!“coefficients_init_ghost_cells()'现在执行相同的操作-COMPUTE_VARIANCE选项已完全删除,等效为常量STATS_COUNT==2,如果COMPUTE_VARIANCE设置为“1”,则对遗留模拟强制执行该值-现在,multi:mpi也支持WRITE_LEVEL_DATAFILES-从最细的网格级别开始计算样本,再到最粗的网格级别,以确定MPI怠速时间的测量值-删除了所有MPI_Group_create()例程(由于伸缩性差),并替换为MPI_Comm_split()例程-并行收集LOADS中的错误修复-现在在MULTI_LEVEL==L,_adaptively_的所有采样器上计算负载(并行化配置取决于网格分辨率)-balancer_report()现在与自适应并行配置兼容-实现ENABLE_SLICED_PARALLELIZATION以支持平衡器的并行FFT:自适应-如果并行化配置使得采样器比采样多,则会发出警告-重写的例程run_samples、append_samples等-引入了例程rng_reinit()、chaos_reinit()-所有-O3变为-O2-每个级别的样本数也在multi:mpi中报告-材料:logn-fft-per-mpi实现和测试-在数据输出之前也会调用multi_level_init(),以便正确设置samplers_root和domain_root-ENTROPIC_RECONSTRUCTION不会替换为PRE_RECONSTRUCTION_HOOK和POST_RECONSTRUCTION_HOOK,而是在所需的解算器中定义为_only_:*替代项-在所有stats中实现了stats_copy()-条件2s<=d+1再次严格执行-timers.h/cpp已实现,旧的计时例程已删除-如果FFT不是在所有内核上并行,则发出警告-CHECK_VOLUME_INDICES已实现:检查是否符合索引边界,但导致矢量化较差。仅用于调试。默认设置为0。-平衡:DISTRIBUTE_IN_DIFFERENCES=1的自适应修改-已实现CHAOS_TYPES-默认并行化配置写入runtime.py;稍后在plot_imbalance()中使用并显示在信息行中-在生成信息行时,如果MULTI_CORES>0,则忽略其他MULTI*变量,因此不显示-USE_PRIME_SEEDS现在具有默认值0-在errorplot.py中,“MPI效率”重命名为“并行效率”-MULTI_CORES>0实现的combine.py-实现直方图的combine.py-CHAOS_TYPE添加到所有*_set_CHAOS_size()例程-CHAOS_TYPE添加到所有model_init()、随机通量、随机材料和随机地形例程-在CSCS机器的本地配置文件中,“--mem”更改为“--mem-per-cpu”-操作员覆盖体积+=/-=/*=//=实现的T(*=协方差计算所需的)-实现了“垂直”特克斯表写入器-multi_level_init()拆分为multi_nevel_init_setup(int mesh_level)和multi_level_init()-材料:logn-fft-per-int已实现-增加了波动方程的双层FFT长系数:材料:logn-FFT-per-int-添加了balancer_write_datafiles():将平衡器信息写入磁盘,BEFEORE开始计算(可用于分析失败的运行)-统计信息:添加了mean-covar-make.py选项“-s,--simulate”已添加:模拟“make”(无实际编译或运行)-绘图例程具有“engine”参数,用于指定所需的计算引擎,该计算引擎可以使用相应的“local_visualization”文件生成-balacer:自适应是并行的-实现的plot_imbalance():使用文件“balancer.dat”中的数据-实现了自适应载荷计算,其中不同网格上的载荷通过不同的并行配置进行计算-增加了ZERO_FLUX和WAVE_REFLECT边界条件-添加了对每个边界上异质边界条件的支持-并行化设置现在也依赖于MESH_LEVEL;这样可以强制执行指定的MIN_CELLS_PER_CORE-添加了WRITE_LEVEL_DATAFILES[默认值:0]开关。如果设置为1,将为每个网格级别和类型生成单独的输出文件-添加了SMOOTH_FLUX选项-引入的READ_RUN_NUMBER_FROM_FILE(RUN_NUMBER==-1)不再有效-方程式增加了VISCOUS选项:汉堡,由VISCOCITY变量调整-均衡器:基于“贪婪”算法泛化的自适应是唯一可用的自适应均衡器-USE_OPTIMAL_NUMBER_OF_SAMPLES added[默认值:0]-删除错误收敛估计中的对数项-统计:添加了平均值-平均值-不稳定值-UPSCALE变量已删除-TYPE变量现在执行完全相同的操作-约束2s<=d+1不再执行,只显示性能警告-为平衡器添加了常量USE_ESTIMATED_LOADS和SORT_SAMPLES-ML=-1替换为READ_SAMPLES_FROM_FILE-下载样本已删除!!!我们!!-STATIC_LOAD_BALANCER_TYPE已删除-删除了LEVEL_BEGIN和LEVEL_END-添加了平衡器替代项:-balancer:静态-旧静态负载平衡器-平衡器:自适应平衡器基于先验工作估计(如静态)和时间步长计算(基于CFL)的组合知识-添加了COMPILER_DIRECTIVES变量-从所有配置中删除了“-lfftw3”编译器指令-删除了DOWNSAMPLING选项-引入SNAPSHOT全局变量-引入了TYPE全局变量-WEIGHTS数组已实现-引入了“统计”选项-添加了Rosa和Todi、ICC、PGI、GNU和CCE编译器的本地配置文件-使用Eiger为Todi和Rosa添加了本地可视化配置文件-NUMERICAL_STABILIZATION已删除-它无论如何都不会执行任何操作。。。-添加了对COMPUTE_IN_DIFFERENCES=1的支持-AlltoAll通信在logn-fft mpi字段生成结束时使用-对chaos.h/cpp进行了重写,以支持每个sample_level中每个样本的随机数数量可变-引入MULTI_CORES变量:如果>0,则忽略MULTI*并动态计算并行化配置。--w选项现在接受浮点值:-w HH.MM表示HH小时和MM分钟(MM以59为界)-已实现USE_PRIME_SEEDS选项[默认值:1]-ENSURE_PARALLEL_REPRODUCIBILITY[默认值:1]已实现-对于ENSURE_PARALLE_REPRODUCIBILITY=0,混沌现在具有GLOBAL(在所有域核上计算)和LOCAL(根据特定子域核计算)随机变量-Szudzik配对用于基于多个参数计算种子-添加到所有绘图例程的“level”和“type”参数-CLIP、HIGHLIGHT和ENGINE参数添加到所有三维绘图例程ALSVID-UQ-2.0:-对于确定性运行(STATS=0),mean_U未初始化-saver直接用于U和Xtra-当ML=-1时,程序读取ML.txt文件,其中给出了每个级别的M[l]。允许使用不同数量的样本进行多次运行,而无需重新编译。-用于初始化随机数生成器的素数的增加。-新方程:波,包含所有相应的通量、材质、模型和解算器-材料:const、logn-kl、logu-kl、logn-fft(使用fft生成高度优化的logn-field)-所有方程都引入了随机通量;有些方程只有默认的确定通量,称为“通量:det”-在绘图中生成信息线时,过滤掉默认替代项(“无”类型)-统计:均值-方差、阈值-方差-用于评估各种统计事件,而不仅仅是平均值和方差的估计-图中提供了sigma_K估计值,以确保参数K足够大-Buckley-Leverett(采油)方程的实现,即方程:bl,及其随机扰动通量-集群上串行作业提交的错误修复(使用作业调度程序)-“间隙问题”在已修复的图中-空间:o2中心-提供无通量限制器的二阶精确重建(用于平滑问题)-calc_time_step()移动到equation.cpp;calc_max_speed()现在对于等式*.cpp和通量*.cpp文件已经足够了-HISTOGRAMS补充道,还编写了并行例程-mlmc_main.cpp中的大多数例程都被转移到了mlmc.cpp和带有注释的相应头文件mlmc.h中-saver.h被正确地拆分为savers.h和saver.cpp,添加了注释-替代负载平衡算法load_balancing_TYPE=2。如果未另行规定,则自动:-为DOWNSAMPLE=0选择LOAD_BALANCING_TYPE=2-为DOWNSAMPLE=1选择LOAD_BALANCING_TYPE=1-DOWNSAMPLE=1和LOAD_BALANCING_TYPE=2不兼容!(保存的样本需要在岩心之间传输,这是不充分的,也没有实施)-DOWNSAMPLE=0且LOAD_BALANCING_TYPE=1很好,但当最高级别需要大部分CPU时间时,会导致效率损失-SKIP_IO_WTIME重命名为RAW_SIMULATION_WTIME-引入了NXl_FULL、NYl_FULL、NZl_FUL-FFT_MATERIAL=1广义为BUFFERED_MATERIAL=1-发现typedef“int”上的“%”运算符返回负值;这个操作符被替换为“mod”,它是在“numtypes.h”中定义的-边界条件文件“bc.cpp”的生成从“make.py”移动到“make_bc.py”-通过“equation.h”中的加法函数“bcfix()”生成浅水方程的边界条件-例程名“get_b()”和“get_c()”替换为更一致的名称“b”和“c”-运行时以HH:MM:SS格式打印为std::cout-eno.*移动到spaceo2eno-util*-ec_util.*移至solver_ec-util*-hll_util.h已移动到solver_hll-util.h;hll_util-*.cpp移动到solver_hll-util-*.cpp-solver-wave:fdm-central,space:o1fdm,space:o3norec,time:o3-检验高振荡系数波动方程色散效应的新方法-make.py脚本的“-a”指令已修复-当请求不兼容的选项时,将显示带简短解释的exception-通量、解算器和模型现在依赖于方程-等式:汉堡扩展到多维-模型:添加了burgers_square-circle-numtypes.h分为numtype.h和volumes.h-structures_*.h简化了:现在它们从structures-Base.h中定义的Base结构继承操作符重载-“-walltime”、“-memory”和“-ptile”的默认值可以在“local.py”中指定-添加了脚本选项“-v”:显示完整的编译器输出、参数和作业提交-EXP_LOG重命名为NUMERICAL_STABILIZATION-附加解算器:fdm-central和space:o1fdm,space:o2central,space:o3norec用于波动方程-新变量INITIAL_DATA_OFFSET、INITIAL_DATA_SCALING-地形:wl,wl2d已删除-删除了“无”备选方案-默认的“material”已更改为“const”-详图“地形”改为“平坦”-增加了高阶求积-修改model_init()以使用所需顺序的求积-init_cell()替换为initial_data()-附加参数SMOOTH_SOLUTION-附加材料:黎曼-附加通量:粘度和通量:渗透率-model-wave:将冲击重命名为model-wave:riemann-方程式:油重命名为bl-方程式:wave-fe已删除-材质:kl(2d)重命名为logn-kl(2d)-附加材料:logu-kl-仅在多:单模式下允许2s>d+1-基本黑白绘图的实现-大量其他小错误修复-为multi:mpi模式删除了CPU时钟计时器-MPI效率现在还分别针对DDM、MC、MLMC和负载平衡进行了测量-RAW_SIMULATION_WTIME参数已删除-“mpi_scaling”重命名为“mpi_efficiency”-“nodes”已重命名为“cores”-修复了“combine.py”的打开文件数错误(现在显示警告,根据文件系统,最大允许的MULTI[XYZ]数)ALSVID-UQ-1.6:-熵稳定的二阶重建“minmod”重命名为“ecminmod-增加了熵稳定的二阶重构“tecno”-对熵稳定解算器es-rusanov和es-roe进行了优化-在Cray XE/XT架构上使用CrayPat进行评测的本地配置文件:palu-CrayPat-local.py-增加了各向同性张量海底地形“hr2d”-一维(hr)和二维(hr2d)的层次hat基表示具有指数衰减系数ALSVID-UQ-1.5:-浅水程序中的错误修复-以下集群作业提交的可执行文件存储在DATA_PATH下ALSVID-UQ-1.4:-附加底部地形:1D(hr)和2D(hr2d)中的分层帽基表示-通过默认选项anti_aliasing=1实现“hr”和“hr2d”底部拓扑的抗锯齿-WRITE_DATAFILES选项-自定义DATA_PATH选项-更高效的并行随机数生成(避免散射、广播等)-默认负载平衡类型设置为load_balancing_type=1-可选随机数生成器:well512a、well19937a、mt19937、lcg-SKIP_IO_WTIME选项-小波级数表示中海底地形计算的优化(浅水方程)-与时间无关的海底地形模拟优化-修复了底部地形默认选择的错误-许多其他小错误修复ALSVID-UQ-1.3:-错误修复和缩放打印脚本-替代负载平衡算法load_balancing_TYPE=2。如果未另行规定,则自动:-为DOWNSAMPLE=0选择LOAD_BALANCING_TYPE=2-为DOWNSAMPLE=1选择LOAD_BALANCING_TYPE=1-附加底部拓扑:1D(wl)和2D(wl2d)中的Haar小波表示-图中的信息线包括运行模拟的集群信息-强大的线性扩展验证了多达1023个内核,效率为97%ALSVID-UQ-1.2:-守恒定律的推广与优化:波动方程-ESF:浅水方程的高度正守恒Roe型能量稳定(ES)解算器-通过MayaVi的3D可视化工具-其他底部地形:1D(kl)和2D(kl2d)中的Karhunen-Loeve扩张-拓扑的模块化-在CSCS上移植到Cray XE6(Palu)-浅水模型:steadystate、dambreak、lake-at-rest(+2D版本steadystte2d、dambrak2d)ALSVID-UQ-1.1:-守恒定律的推广和优化:浅水、汉堡、欧拉和线性平流-正态分布-对二维图进行切片以研究二维解的平滑性-浅水方程;模型:溃坝、海啸;地形:平坦、凹凸、凹凸2d、海岸(+它们的随机版本);解算器:HLL、EC、ES。-用于容错分析的样本偏移(SAMPLES_OFFSET)ALSVID-UQ-1.0:-具有任意数量均匀随机驱动的随机初始数据-MLMC层级、MC样本和区域分解的并行化-在渲染电影中观察时间演变的可能性-许多随机的一维和二维模型-WELL512a随机数发生器-MLMC的“下采样”版本也可用