我需要一些帮助来了解我尝试的优化是如何工作的。
该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) 我正在寻找这个的更新版本:https : //cran.r-project.org/web/packages/lfe/index.html package。它似乎已从 CRAN 中删除。我怎样才能了解这个过程的历史,以了解它是被迁移到新包还是不再维护?