用nvcc编译linux内核

时间:2013-09-30 06:23:25

标签: c linux cuda

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

obj-m + = hello.o

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

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

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

1 个答案:

答案 0 :(得分:1)

你要做的事是不可能的。

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