60、分布式内存中使用紧凑存储的Cholesky分解三种算法

分布式内存中使用紧凑存储的Cholesky分解三种算法

1. 引言

在分布式内存环境中实现的密集线性代数例程通常采用二维块循环布局(BCL),ScaLAPACK库就是一个使用BCL的例子。BCL能为许多算法提供有效的负载平衡,但它并不规定矩阵元素在每个处理器上的存储方式。ScaLAPACK库将每个基本块存储为列主序二维数组(标准Fortran数组)的子矩阵,另一种方法是连续存储每个基本块,例如作为列主序块二维数组。

连续存储基本块有以下优点:
- 能很好地映射到L1缓存,涉及这些块的三级操作往往能实现高性能并减少内存流量。
- 移动一个块可以通过一次连续的内存传输完成。

本文使用方形基本块(SB)来存储局部矩阵,并仅存储块矩阵的三角部分,以实现对称矩阵的最小块存储,这种格式称为方形块紧凑(SBP)格式。

同时,我们发现像ScaLAPACK中Cholesky分解例程(PDPOTRF)这样的直接数据并行实现存在效率低下的问题,因此开发了一种迭代重叠的数据并行实现,减少了空闲时间,从而缩短了执行时间。

2. 串行环境中的近最小存储
2.1 矩形全紧凑(RFP)格式

RFP是一种用于存储三角或对称矩阵的格式,它有多种不同形式。以下图为例,一个下三角矩阵被划分为两个子矩阵A和B,三角矩阵$B^T$与A沿对角线合并,新矩阵可以作为标准全格式矩形数组存储,没有内存浪费。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-wid
源码来自:https://pan.quark.cn/s/d16ee28ac6c2 ### 上线流程 Java Web平台在实施Java Web应用程序的发布过程时,通常包含以下几个关键阶段:应用程序归档、生产环境配置文件替换、系统部署(涉及原有应用备份、Tomcat服务关闭、缓存数据清除、新版本WAR包上传及服务重启测试)以及相关异常情况记录。以下将对各阶段进行深入说明。#### 一、应用程序归档1. **归档前的准备工作**: - 需要事先验证Java开发环境的变量配置是否正确。 - 一般情况下,归档操作会在项目开发工作结束后执行,此时应确认所有功能模块均已完成测试并符合发布标准。 2. **具体执行步骤**: - 采用`jar`指令执行归档操作。例如,在指定文件夹`D:\apache-tomcat-7.0.2\webapps\prsncre`下运行指令`jar –cvf prsncre.war`。 - 执行该指令后,会生成一个名为`prsncre.war`的Web应用归档文件,其中包含了项目的全部资源文件及编译后的程序代码。#### 二、生产环境配置文件调换1. **操作目标**:确保线上运行环境与开发或测试环境的参数设置存在差异,例如数据库连接参数、服务监听端口等信息。2. **执行手段**: - 将先前成功部署的WAR包中`xml-config`文件夹内的配置文件进行复制处理。 - 使用这些复制得到的配置文件对新生成的WAR包内的对应文件进行覆盖更新。 #### 三、系统部署1. **原版应用备份**: - 在发布新版本之前,必须对当前运行版本进行数据备份。例如,通过命令`cp -r prsncre ../templewebapps/`将旧版应用复...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值