小编Ali*_*nia的帖子

如何在 julia 语言中并行一个简单的 for 循环?

我已经编写了一个用于求解拉普拉斯方程的串行代码,但是当我尝试在 Julia 中并行编写它时,它比串行代码需要更多的时间和内存。我写了一个简单的例子。我怎样才能并行这段代码?

有一个域t1

t2将被计算,然后t1 = t2

@everywhere function left!(t1,t2,n,l_type,b_left,dx=1.0,k=50.0)
    if l_type==1
            for i=1:n
                t2[i,1]=(b_left*dx/k)+t1[i,2];
                t1[i,1]=t2[i,1];
            end
    else 
        for i=1:n
        t1[i,1]=b_left;
        end
    end
    return t1 end

# parallel left does not work.
@everywhere function pleft!(t1,t2,n,l_type,b_left,dx=1.0,k=50.0)
    if l_type==1
           @parallel for i=1:n
                t2[i,1]=(b_left*dx/k)+t1[i,2];
                t1[i,1]=t2[i,1];
            end
    else 
     @parallel for i=1:n
        t1[i,1]=b_left;
        end
    end
    return t1
end
n = 10;
t1 = SharedArray(Float64,(n,n));
t2=t1;
typ = 0;
value = 10;
dx = 1;
k=50;

@time t3 = pleft!(t1,t2,n,typ,value,dx,k)
@time t2 …
Run Code Online (Sandbox Code Playgroud)

parallel-processing for-loop julia

5
推荐指数
1
解决办法
2539
查看次数

离线使用 Julia 包管理器

我们最近决定在我们的集群系统上提供 Julia 语言。集群系统无法连接到互联网。有什么方法可以下载所有 Julia 包,并让我们的不同用户可以离线安装和使用它们?

我们拥有的另一个选择是一个可以暂时连接到互联网的系统,但它始终连接到主集群系统。有没有办法使用这个系统作为 Julia 包的镜像?

我们想使用“Julia 1.0.1”。

我们的集群操作系统是:“CentOS 5.5

注意:我之前在这里看到过这个问题 ,但它是针对 Julia 0.6 和一个将手动复制的包。我希望该用户使用该Pkg.add <pkgName>命令而不是 Internet,包管理器从我们的离线系统中获取包。

感谢您的帮助和时间。

julia

5
推荐指数
1
解决办法
917
查看次数

相当于Julia中的c\c ++编译器指令

使用编译器指令

#if A
some instructions 
#elseif B
some instructions
#end
Run Code Online (Sandbox Code Playgroud)

在C\C++语言中,可以告诉编译器在某些条件下忽略代码的某些部分.我很想知道Julia语言中是否有相同的功能.

compiler-directives julia

3
推荐指数
1
解决办法
60
查看次数