gpt4 book ai didi

cuda - CUDA需要根访问权限吗?

转载 作者:行者123 更新时间:2023-12-04 03:53:40 24 4
gpt4 key购买 nike

我在Ubuntu 10.04上使用GeForce 8400M GS,并且正在学习CUDA编程。我正在编写和运行一些基本程序。我使用的是cudaMalloc,直到我以root身份运行代码之前,它一直给我一个错误。但是,我只需要以root身份运行一次代码。之后,即使我以普通用户身份运行代码,也不会在malloc上收到错误消息。这是怎么回事?

最佳答案

这可能是由于您的GPU在启动时未正确初始化。在使用Ubuntu Server和其他未自动启动X服务器的安装时,我遇到了这个问题。请尝试以下解决方法:

为脚本创建目录以初始化您的GPU。我通常使用/root/bin。在此目录中,创建一个名为cudainit.sh的文件,其中包含以下代码(此脚本来自Nvidia论坛)。

#!/bin/bash

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then

# Count the number of NVIDIA controllers found.
N3D=`/usr/bin/lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
NVGA=`/usr/bin/lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i;
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

现在,我们需要使该脚本在启动时自动运行。编辑 /etc/rc.local如下所示。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#
# Init CUDA for all users
#
/root/bin/cudainit.sh

exit 0

重新启动计算机,并尝试以普通用户身份运行CUDA程序。如果我对问题是正确的,则应该解决此问题。

关于cuda - CUDA需要根访问权限吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com