Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia基准测试DSP.jl、CUDANative和CUDANative阵列_Julia_Gpu_Benchmarking_Julia Gpu - Fatal编程技术网

Julia基准测试DSP.jl、CUDANative和CUDANative阵列

Julia基准测试DSP.jl、CUDANative和CUDANative阵列,julia,gpu,benchmarking,julia-gpu,Julia,Gpu,Benchmarking,Julia Gpu,我正在试验DSP.jl,尤其是conv()方法。我正在使用CUDANative和CuArrays创建数组作为conv()的参数,以便使用fft()等的cuda版本。我正在使用BenchmarkTools获取性能数据。我发现Julia运行时抱怨在奇怪的情况下CPU或GPU内存不足。以下是我的测试设置: using CUDAdrv, CUDAnative, CuArrays using DSP using FFTW using BenchmarkTools N = 120 A = rand(Flo

我正在试验DSP.jl,尤其是
conv()
方法。我正在使用
CUDANative
CuArrays
创建数组作为
conv()
的参数,以便使用
fft()
等的cuda版本。我正在使用
BenchmarkTools
获取性能数据。我发现Julia运行时抱怨在奇怪的情况下CPU或GPU内存不足。以下是我的测试设置:

using CUDAdrv, CUDAnative, CuArrays
using DSP
using FFTW
using BenchmarkTools

N = 120
A = rand(Float32, N, N, N);
B = rand(Float32, N, N, N);
A_d = cu(A);
B_d = cu(B);

function doConv(A, B)
    C = conv(A, B)
    finalize(C)
    C = []
end

t = @benchmark doConv($A_d, $B_d)
display(t)
这是我提到的奇怪行为的一个例子。如果我将
N
设置为120,我的脚本将运行到完成。如果我将
N
设置为64,则会出现“内存不足”错误:
错误:LoadError:CUFFTError(代码2,cuFFT无法分配GPU或CPU内存)
。我可以先运行较小的案例,获取错误,然后将
N
的值增大,并成功完成脚本


有什么我应该采取不同的措施来防止这种情况发生吗?

您能提供在+版本的库上运行此代码的硬件规格吗?@sophros从那时起,我们朝着不同的方向前进,因此我无法恢复该信息。