Julia &引用;朱莉娅·朗:这个案子还不被支持;

Julia &引用;朱莉娅·朗:这个案子还不被支持;,julia,Julia,我在练习一些运动,比如。当我运行下面的代码时,它没有任何错误,答案是正确的 N = 10 A = rand(N,N) SA = convert(SharedArray, A) T = 100 Jacobi_parallel(SA,N,T) 但当我以N=16386运行时,它有一个错误: 这个案例还不被支持 我如何解决它 谢谢。在这部分代码中: @everywhere function Jacobi_blockwise_parallel_one_time_step(A,x,y,k,threshol

我在练习一些运动,比如。当我运行下面的代码时,它没有任何错误,答案是正确的

N = 10
A = rand(N,N)
SA = convert(SharedArray, A)
T = 100
Jacobi_parallel(SA,N,T)
但当我以N=16386运行时,它有一个错误:

这个案例还不被支持

我如何解决它


谢谢。

在这部分代码中:

@everywhere function Jacobi_blockwise_parallel_one_time_step(A,x,y,k,threshold)
  if k <= threshold
    Jacobi_serial_one_block_one_time_step(A,x,y,k)
  else
    k1 = floor(Int64, k/2)
    k2 = k - k1
    if (k1 != k2) error("This case is not supported yet") end
    lrefs = [@spawn Jacobi_blockwise_parallel_one_time_step(A,x,y,k1,threshold),
             @spawn Jacobi_blockwise_parallel_one_time_step(A,x+k1,y,k1,threshold),
             @spawn Jacobi_blockwise_parallel_one_time_step(A,x,y+k1,k1,threshold),
             @spawn Jacobi_blockwise_parallel_one_time_step(A,x+k1,y+k1,k1,threshold)];
    pmap(fetch, lrefs)
  end
end
@everywhere函数Jacobi\u块式\u并行\u一次\u步长(A,x,y,k,阈值)

如果这不是朱莉娅的错误。Jacobi_parallel是在链接到的文件中定义的函数,特定错误在其中硬编码。在页面中搜索短语“此案例尚不受支持”,您将看到它。(编辑:虽然,嗯,这个错误在涉及的计算方面也没有意义。也许在某个时候有一个意外的转换为float)你使用的是什么版本的julia?代码似乎是针对一个较旧的版本(另外还有一些“奇怪的东西”,但是,哦,好吧)。。。但是在修复了一些不兼容之后,脚本在最新的稳定版本(v0.5.2)上运行良好。(我将
ifloor(k/2)
更改为
floor(Int64,k/2)
错误(
更改为
错误(
)@Tassopapastylianou我也在使用版本0.5.2,我应用了这些更改,但它有以前的错误:这个案例不受支持。雪人发现了这个错误,但它是一个错误。我会在下面回复指出代码。我不知道它是在哪个版本。谢谢。但我需要更正这个代码。你有什么建议吗?我可以发现这个错误,但我不能“修复它”而不知道它应该做什么,对不起。另外,我刚刚发现这段代码只是一个“部分解决方案”(这解释了bug的存在)。基本上,你应该阅读、理解并尝试编写julia代码来适当地复制此功能(你可能会也可能不会最终使用提供的部分代码)。不过,我不能帮你做作业,对不起。