93、分布式SILC:基于MPI的并行矩阵计算库的易用接口

分布式SILC:基于MPI的并行矩阵计算库的易用接口

1. 引言

传统使用矩阵计算库的方式,直接依赖于特定库的应用程序编程接口,这会导致用户程序在源代码层面依赖于所使用的库。当需要将程序移植到其他计算环境,或者尝试使用具有不同求解器、矩阵存储格式和算术精度的其他库时,用户往往需要对程序进行大量修改。

为解决这一问题,提出了一个名为简单库集合接口(SILC)的易用应用框架。在SILC框架中,用户程序首先将矩阵和向量等数据存入一个独立的内存空间,然后通过文本形式的数学表达式发出计算请求,这些请求会被转换为对适当库函数的调用,并在独立于用户程序的内存空间中执行,最后用户程序从该内存空间获取计算结果。

下面是传统编程风格和SILC框架下求解线性方程组$Ax = b$的C程序对比:

传统编程风格:

double *A, *B;
int desc_A[9], desc_B[9], *ipiv, info;
/* create matrix A and vector B */
PDGESV(N, NRHS, A, IA, JA, desc_A, ipiv, B,
IB, JB, desc_B, &info);
/* solution X is stored in B */

SILC框架:

silc_envelope_t A, b, x;
/* create matrix A and vector B */
SILC_PU
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值