1

我正在尝试编写一个可以通过 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 内核的一部分。

4

1 回答 1

1

你试图做的事情是不可能的。

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

于 2013-09-30T06:32:00.897 回答