标签: gpu

优化 CUDA.jl 中的模拟

我正在尝试用 Julia 编写有关 GPU 计算的教程。在演示简单的矩阵运算时,一切都很顺利,GPU 击败了单线程和多线程的等效项。

\n

现在我试图提出一个更复杂的例子,涉及模拟数据的生成X和一些估计的计算\xce\xb2,而这就是事情变得奇怪的时候。无论我做什么,GPU (Nvidia RTX 2070) 模拟的性能都比其多线程 (20) 模拟性能差约 20 倍。

\n

基准

\n

以下是 MRE 的一些代码:

\n
# Meta-simulation constants =================================\nreplications = 10\nn = 100\np = 2\n\xce\xbc = rand(replications)\n\n# Multi-threaded simulations =================================\n\xce\xb2_par = fill(0., (p, replications))\nfunction parsim()\n  Threads.@threads for r in 1:replications\n    X = rand(Float16, (n, p)) .* \xce\xbc[r]; # Sample data\n    \xce\xb2 = sum(X .^ 2, dims = 1);   # Estimate parameters\n    \xce\xb2_par[:, r] = \xce\xb2\n  end\nend\n\n# GPU simulations =================================\nusing …
Run Code Online (Sandbox Code Playgroud)

performance cuda gpu julia

-2
推荐指数
1
解决办法
404
查看次数

使用OpenCV GPU进行人体检测的代码

我正在使用OpenCV和GPU在视频中进行实时人/人/事实检测.我需要用于视频处理和人工检测的OpenCv代码.请帮助我使用Opencv或任何其他编程在视频中找到人工检测的代码.非常感谢你的时间.

opencv gpu video-processing object-detection face-detection

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

用于双数组数学的C#OpenCL GPU实现

如何使这个函数的for循环使用GPU与OpenCL?

    public static double[] Calculate(double[] num, int period)
    {          
        var final = new double[num.Length];
        double sum = num[0];
        double coeff = 2.0 / (1.0 + period);

        for (int i = 0; i < num.Length; i++)
        {
            sum += coeff * (num[i] - sum);
            final[i] = sum;
        }

        return final;
    }
Run Code Online (Sandbox Code Playgroud)

.net c# gpu opencl

-4
推荐指数
2
解决办法
3182
查看次数

Cuda GPU 编译,我认为它没有使用 GPU

我尝试学习CUDA。它与 C 非常相似。我尝试在我的 GPU 中运行一些代码。但我认为它并不快,我认为这与我的代码有关。我想只有我 __global__ void func(ull* num1, ull* num2, ull* sum)在 GPU 上工作。这就是我要的。但它并不快。我该怎么办。

typedef uint64_t ull;

#define E1 1
#define E2 5000000000000000

__global__ void func(ull* num1, ull* num2, ull* sum)
{
    for (ull i = *num1; i <= *num2; i++)
    {
        sum[0] += i;
    }
}

int main()
{
    ull n1 = E1;
    ull n2 = E2;
    ull sum = 0;

    ull* d_n1;
    ull* d_n2;
    ull* d_sum;

    cudaMalloc(&d_n1, sizeof(ull));
    cudaMalloc(&d_n2, sizeof(ull));
    cudaMalloc(&d_sum, sizeof(ull));

    cudaMemcpy(d_n1, &n1, sizeof(ull), cudaMemcpyHostToDevice); …
Run Code Online (Sandbox Code Playgroud)

c++ cuda gpu gpgpu nvidia

-4
推荐指数
1
解决办法
41
查看次数