部分选主元 LU 分解,CGETRF in lapack 选主元时调用 ICAMAX

ICAMAX finds the index of the first element having maximum |Re(.)| + |Im(.)|

也就是找出一列 complex 类型的数据中,实部的绝对值 + 虚部的绝对值 最大的那个元素。这样选出来的主元也还不错。

而不是选择复数模最大的元素;

但是,cublas中的cublasCge-t-rf-Batched()这个函数的kernel,选主元时,使用的是模的最大值;

    float A_data[2*4*4]={

                                    -1.640400, 0.086700,  0.114300, 0.869600, -1.195400, 0.486000, -0.824600, 1.210900,

                                     0.696700, 0.978500, -1.112300, 0.214200, -0.090400, 0.757800, -1.382100, 2.060100,

                                    -0.513600, 0.106000,  2.029900, 1.663000, -0.847300, 0.601800,  1.036800, 0.824300,

                                     1.614700, 0.034300, -0.918400, 1.338800, -0.762500, 0.142100, -0.284000, 0.894200

    };

cuComplex * A = (cuComplex* )A_data;

cublasCgetrfBatched(A);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值