【问题标题】:Compiling linux kernel with nvcc使用 nvcc 编译 linux 内核
【发布时间】:2013-10-05 22:15:16
【问题描述】:

我正在尝试编写一个可以通过 CUDA 使用 GPU 功能的 linux 驱动程序。基本的 Makefile 到处都是这样的:

obj-m += hello.o

all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

无论如何我可以把 nvcc 放在那里吗?基本上我想让我的 .cu 文件成为我的 linux 内核的一部分。

【问题讨论】:

    标签: c linux cuda gpu


    【解决方案1】:

    您尝试做的事情是不可能的。

    CUDA API 是一个用户空间 API。基本的 linux 内核架构使得从内核空间代码调用任何用户空间 API 都是非法的。这包括 CUDA。如果您想将 GPU 用作 OS 内核服务的一部分,则需要通过用户空间内核接口(如 FUSE)来实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2011-01-21
      • 1970-01-01
      • 2011-05-03
      • 2018-04-19
      • 1970-01-01
      相关资源
      最近更新 更多