0

我正在尝试编译一个程序以使用 Cloo 运行一些 opencl 代码。

static void Main(string[] arg)
{
    CLCalc.InitCL();
    string src = File.ReadAllText("kernels.cl");   

    CLCalc.Program.Compile(src);
}

该程序以前运行良好,但现在我得到一个空引用异常。 错误 起初我以为我的 opencl 代码中存在错误,但我用一个非常简单的内核替换了 opencl,它仍然无法编译。

IE:

static void Main(string[] arg)
{
    CLCalc.InitCL();
    //string src = File.ReadAllText("kernels.cl");   
    string src = "__kernel void hello(__global char * out){}";

    CLCalc.Program.Compile(src);
}

无设备

请注意,没有设备存在。为什么会这样?我有一个GPU...

自从在我的 PC 上安装CUDA takelkit以来,这一直是个问题。这甚至可能是原因吗?

编辑

我创建了一个非常简单的项目,只有几行代码就可以显示我的错误。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using OpenCL;
using OpenCL.Net;
using OpenCLTemplate;

namespace ClooTest
{
    class Program
    {
        static void Main(string[] args)
        {
            CLCalc.InitCL();

            string src = "__kernel void hello(__global char * out){}";

            CLCalc.Program.Compile(src);
        }
    }
}

编辑

我已经从 USB 恢复了我的程序的旧工作副本。它在我的家用电脑上运行良好。但是当我在我的工作电脑上运行它时,我遇到了同样的错误。

命令

编辑

如果我在编译行之前放置一个断点,我会看到一个异常 未找到

为什么它不会突然找到我的设备?

编辑

当我查看我的 OpenCL 设备时,唯一列为默认设备的是我的 CPU ...

设备

为什么!?

4

0 回答 0