0

有没有办法——从终端——查询最新的工具包/SDK版本???

例如,NVIDIA 是否有某种服务器可以登录并发出离散命令以获取最新的 SDK 和工具包?

..................................................... ................................
背景:

我编写了一个小脚本来执行核心 CUDA 组件(开发驱动程序、工具包和 SDK)的无人值守安装。

请注意,驱动程序已经自动更新,因为我向他们传递了一个标志,告诉他们检查最新版本,所以我只需要下载一次,所有未来对 CUDA 安装的更新现在都可以工作

有一些初始错误,但在一些帮助下解决了。[1] [2]

如果服务器正在运行,则将其init关闭X11,以完成视频开发驱动程序的安装。如果它不存在yum,则要安装。expect

#!/bin/bash 
CR="\r"
YES="\"Yes\r\""
INSTALL_PATH_REQUEST="\"Enter install path\""
CUDA_PATH_REQUEST="\"Enter CUDA install path\""
UNINSTALL_REQUEST="\"Would you like to uninstall?\""
TOOLKIT=`ls -t cudatoolkit* | head -n 1`
TOOLKIT_EXPECT="sh $TOOLKIT"
SDK=`ls -t gpucomputingsdk* | head -n 1`
SDK_INSTALL_PATH="\"/usr/local/CUDA_SDK\r\""
SDK_EXPECT="sh $SDK"
DUMMY="dummy"
/bin/su root -c "yum -q -y install expect expectk;
/sbin/init 3; sh `ls -t NVIDIA*|head -n 1` -s --update -a -X;
/usr/bin/expect <<EOF;
spawn $TOOLKIT_EXPECT
expect -timeout 300 $INSTALL_PATH_REQUEST
send $CR
expect -timeout 300 {
 {Would you like to uninstall?} {
  send $YES

  exp_continue
 }
 expect -timeout 500 $DUMMY
 eof
}
EOF
/usr/bin/expect <<EOF;
spawn $SDK_EXPECT
expect -timeout 300 $INSTALL_PATH_REQUEST
send $SDK_INSTALL_PATH
expect -timeout 300 $CUDA_PATH_REQUEST
send $CR
expect -timeout 500 $DUMMY
EOF
/sbin/init 5"

如果有人能弄清楚如何远程查询 SDK 和工具包以获取更新,这将是(几乎)完美的无人值守安装程序。如果您认为我遗漏了什么,任何其他建议也将不胜感激。

PS 您需要同一目录中的开发驱动程序、工具包和 SDK 文件才能正常工作。当它要求您输入密码时,即要求您输入 root 密码。我选择安装 SDK/usr/local/CUDA_SDK/以允许所有用户访问。如果您希望将其安装在其他位置,请在脚本中进行更改。

4

1 回答 1

1

我不相信 NVIDIA 提供了一种查询最新发布版本的驱动程序、工具包、SDK 等的方法。在 windows 驱动程序上现在有一个自动更新功能,linux 驱动程序可能也有一个(不确定),但我认为我们没有办法查询当前的发布版本。

总是有针对不同平台和技术的各种驱动程序版本(例如用于 Tesla 的预发布开发人员驱动程序、用于 Windows 的 WHQL 驱动程序等)。

我认为大多数集群运营商只想升级到任何软件的稳定版本,而且每年最多只会发生几次,所以我认为人工检查(和下载)最新版本并不是什么大不了的事,然后从下载的文件自动安装。

于 2012-04-22T22:56:37.243 回答