我试图编写一个可以通过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内核的一部分。
答案 0 :(得分:1)
你要做的事是不可能的。
CUDA API是一个用户空间API。基本的Linux内核架构使得从内核空间代码调用任何用户空间API都是非法的。这包括CUDA。如果您想将GPU用作OS内核服务的一部分,则需要通过FUSE等用户空间内核接口来实现。