小编Jea*_*aut的帖子

优化累积总和

我需要一些帮助来了解我尝试的优化是如何工作的。

cumsum函数获取一个向量,并用累加和写入一个向量。

我尝试了以下方法来优化它:我没有在整个向量上执行一次循环,而是编写了一个循环,该循环在每四分之一的向量上同时运行。然后调整每个部分以考虑前面部分的总和。结果略有不同,但这不是问题。

这是程序:

module cumsum_mod
    implicit none
    integer, parameter, private :: dp = kind(1d0)
contains
    ! cumsum in one straight loop
    subroutine cumsum1(n, a, b)
        integer :: n, i
        real(dp) :: a(n), b(n)
        
        b(1) = a(1)
        do i = 2, n
            b(i) = a(i) + b(i-1)
        end do
    end subroutine
    
    subroutine cumsum2(n, a, b)
        integer :: n, i, m
        real(dp) :: a(n), b(n)
        
        m = n/4
        
        ! Loop over the four parts
        b(1) = a(1)
        b(1+m) = …
Run Code Online (Sandbox Code Playgroud)

optimization x86 assembly fortran x86-64

5
推荐指数
0
解决办法
81
查看次数

lfe 包去了哪里,我如何才能找到类似的信息?

我正在寻找这个的更新版本:https : //cran.r-project.org/web/packages/lfe/index.html package。它似乎已从 CRAN 中删除。我怎样才能了解这个过程的历史,以了解它是被迁移到新包还是不再维护?

r

3
推荐指数
2
解决办法
510
查看次数

标签 统计

assembly ×1

fortran ×1

optimization ×1

r ×1

x86 ×1

x86-64 ×1