当前位置: 首页 > news >正文

【深度学习环境】windows安装 NVIDIA Docker

摘要

  1. 不要安装 Docker Desktop!我们将在 Ubuntu 中自行安装 Docker。

  2. 请安装 Windows 10 Insider Build 或 Windows 11 (Beta也行)。(稳定发行版无法在 WSL 2 中使用 GPU)

  3. 请安装 WSL 2 w/Ubuntu 20.04 或同等版本。

  4. 请安装 Nvidia CUDA 软件包(不是 Cuda Toolkit)。

  5. 请在 WSL2/Ubuntu 中手动安装 Docker。

  6. 请在 WSL2/Ubuntu 中安装 Nvidia Container Toolkit。

  7. 使用 Tensorflow 运行 N 体模拟 CUDA 示例、Jupyter。

4 安装 Nvidia CUDA 软件包(不是 Cuda Toolkit)

Nvidia 建议使用 Linux 包管理器在 WSL 2 下安装 CUDA(而不是 CUDA Toolkit)。这是因为 CUDA Toolkit 附带了 Nvidia 的 Linux GPU 驱动程序,该驱动程序不得安装在 WSL 2 下。


wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pinsudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.debsudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.debsudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pubsudo apt-get updatesudo apt-get -y install cuda

运行 CUDA 应用程序

测试:构建并运行 BlackScholes 示例应用程序:

cd /usr/local/cuda-11.4/samples/4_Finance/BlackScholesthen:sudo make BlackScholesthen:./BlackScholes
[./BlackScholes] - Starting...
GPU Device 0: "Ampere" with compute capability 8.6Initializing data...
...allocating CPU memory for options.
...allocating GPU memory for options.
...generating input data in CPU mem.
...copying input data to GPU mem.
Data init done.Executing Black-Scholes GPU kernel (512 iterations)...
Options count             : 8000000
BlackScholesGPU() time    : 0.125945 msec
Effective memory bandwidth: 635.196316 GB/s
Gigaoptions per second    : 63.519632BlackScholes, Throughput = 63.5196 GOptions/s, Time = 0.00013 s, Size = 8000000 options, NumDevsUsed = 1, Workgroup = 128Reading back GPU results...
Checking the results...
...running CPU calculations.Comparing the results...
L1 norm: 1.741792E-07
Max absolute error: 1.192093E-05Shutting down...
...releasing GPU memory.
...releasing CPU memory.
Shutdown done.[BlackScholes] - Test SummaryNOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.Test passed

6.安装Docker

在 bash shell 中,使用以下 Docker 安装脚本来安装 Docker:

curl https://get.docker.com | sh
然后,确保 Docker 处于活动状态:

docker run hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

7.Nvidia容器工具包

这里的说明是 Ubuntu 的提供程序(单独运行每个命令):

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.listcurl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.listsudo apt-get updatesudo apt-get install -y nvidia-docker2

然后,在另一个 WSL 2 窗口中,停止并重新启动 docker 守护进程,如下所示:

sudo service docker stop && sudo service docker start

资源

https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#is-microsoft-windows-supported

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html

https://github.com/NVIDIA/nvidia-docker/issues/665

https://developer.nvidia.com/cuda/wsl

相关文章:

【深度学习环境】windows安装 NVIDIA Docker

摘要 不要安装 Docker Desktop!我们将在 Ubuntu 中自行安装 Docker。 请安装 Windows 10 Insider Build 或 Windows 11 (Beta也行)。(稳定发行版无法在 WSL 2 中使用 GPU) 请安装 WSL 2 w/Ubuntu 20.04 或同等版本。…...

【微信小程序】自定义组件(三)

自定义组件 插槽1、什么是插槽2、单个插槽3、定义多个插槽 父子组件之间的通信1、父子组件之间的通信的3种方式2、事件绑定3、behaviors 插槽 1、什么是插槽 在自定义组件的wxml结构中&#xff0c;可以提供一个<solot> 节点&#xff08;插槽&#xff09;&#xff0c;用…...

Python语言:经典案例分析讲解2

例题1&#xff1a;文件的操作 例题2&#xff1a;调用函数求偶数之和 例题3&#xff1a;调用函数并使用递归的方法求斐波那契数前N项之和 题1: 以只写的模式打开文件test.txt&#xff0c;写入"Python"&#xff0c;关闭文件。 代码如下&#xff1a; f open("E:/…...

dbeaver连接别人的数据库没有表

1.概念 非缺省的数据库&#xff1a; 通常是指在一个数据库管理系统&#xff08;DBMS&#xff09;中&#xff0c;除了系统默认创建的数据库之外的其他用户创建或自定义的数据库。许多数据库系统在安装后会创建一个默认数据库&#xff0c;例如MySQL中的mysql数据库&#xff0c;…...

EXIT(1)

EXTI介绍 EXTI是片上外设 NVIC是cpu内的外设 回忆起之前的GPIO和AFIO 我们是如何检测按键按下的 我们是一直用while循环读取IDR寄存器的对应位置的值 一直检测判断按键是否被按下 那么是否有第二种方式检测按键是否被按下了呢&#xff1f; 通过EXTI 当EXTI检测到按键的电平发生…...

Qt信号量用于对共享资源进行同步

定义信号量与缓冲区&#xff1a; const int BufferSize 8; int buffer1[BufferSize]; int buffer2[BufferSize]; int curBuf1; //当前正在写入的Bufferint bufNo0; //采集的缓冲区序号quint8 counter0;//数据生成器QSemaphore emptyBufs(2);//信号量&#xff1a;空的缓冲区…...

在报错中学python something

这里写目录标题 动手学深度学习pandas完整代码数据处理TypeError: can only concatenate str (not "int") to str&#xff08;fillna填补缺失值&#xff09; 创建文件夹学习这个数据分组get_dummies实现one hot encode 动手学深度学习pandas完整代码 import osimpor…...

如何调用 DBMS_DISKGROUP 对 ASM 文件进行随机读取

目录 一、概述 二、实现思路与注意点 三、Java Demo 1、直接调用 2、读写异步 一、概述 对于 Oracle Rac 环境下,数据文件大多默认存放在 ASM 共享存储上,当我们需要读取 ASM 上存储的数据文件时可以使用 Oracle 提供的一些方法,比如 ASMCMD CP。但是,对于一些备份场景…...

UART学习

uart.c #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h" // UART4_TX : PG11 AF6 // UART4_RX : PB2 AF8 void __uart_init() {// GPIOB2 设置为复用功能GPIOB->MODER & (~(0x3 << 4));GPIOB->MODER | (0x2 << 4);G…...

洗地机哪个牌子最好用?洗地机品牌排行榜

近年来&#xff0c;洗地机相当热门&#xff0c;洗地机结合了扫地拖地吸地为一体的多功能清洁工具&#xff0c;让我们告别了传统方式打扫卫生&#xff0c;让我们清洁不再费劲&#xff0c;可是市面上的洗地机五花八门&#xff0c;怎么挑选到一个洗地机也是一个问题&#xff0c;下…...

国际阿里云:Windows实例中数据恢复教程!!!

在处理磁盘相关问题时&#xff0c;您可能会碰到操作系统中数据盘分区丢失的情况。本文介绍了Windows系统下常见的数据盘分区丢失的问题以及对应的处理方法&#xff0c;同时提供了使用云盘的常见误区以及最佳实践&#xff0c;避免可能的数据丢失风险。 前提条件 已注册阿里云账…...

浅谈二叉树

✏️✏️✏️今天给大家分享一下二叉树的基本概念以及性质、二叉树的自定义实现&#xff0c;二叉树的遍历等。 清风的CSDN博客 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&…...

(二) 用QWebSocket 实现服务端和客户端(详细代码直接使用)

目录 前言 一、服务器的代码&#xff1a; 1、服务器的思路 2、具体服务器的代码示例 二、客户端的代码&#xff1a; 1、客户端的思路&#xff08;和服务器类似&#xff09; 2、具体客户端的代码示例 前言 要是想了解QWebSocket的详细知识&#xff0c;还得移步到上一篇文…...

关于我在配置zookeeper出现,启动成功,进程存在,但是查看状态却没有出现Mode:xxxxx的问题和我的解决方案

在我输入:zkServer.sh status 之后出现报错码. 报错码&#xff1a; ZooKeeper JMX enabled by default Using config: /opt/software/zookeeper/bin/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Error contacting service. It is probably not runni…...

react及相关面试问题汇总

目录 1、什么是React&#xff1f;它的特点是什么&#xff1f; 2、解释一下虚拟DOM(Virtual DOM)的概念以及它的工作原理。 3、什么是组件(Component)&#xff1f;如何定义一个React组件&#xff1f; 4、什么是JSX&#xff1f;它与HTML的区别是什么&#xff1f;如何在React中…...

QT4到QT5移植出现的一些问题

转自&#xff1a;QT4到QT5移植出现的一些问题_西门子3gl qt5 许可证-CSDN博客 在上述作者基础上修改&#xff1a; 一、问题1&#xff1a;头文件的问题 1、QtGui/QApplication: No such file or directory 1.1错因 原因是Qt5源文件位置的改动 1.2解决 pro文件里&#xff0…...

【可解释AI】Alibi explain: 解释机器学习模型的算法

Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain&#xff0c;一个开源Python库&#xff0c;用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…...

No191.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...

ROS基础—vscode创建工作空间

1、创建ROS工作空间 首先打开ubuntu的终端&#xff0c;接着依次输入如下的命令行&#xff1b; mkdir -p xxx_ws/src(必须得有 src) cd xxx_ws catkin_make当然我一般是新建一个叫做demo的工作空间&#xff0c;如 mkdir -p demo04_ws/src 2、启动vscode cd xxx_ws code . …...

机器学习复习(待更新)

01绪论 &#xff08;1&#xff09;机器学习基本分类&#xff1a; 监督学习&#xff08;有标签&#xff09;半监督学习&#xff08;部分标签&#xff0c;找数据结构&#xff09;无监督学习&#xff08;无标签&#xff0c;找数据结构&#xff09;强化学习&#xff08;不断交互&…...

Seldon Core 2性能调优终极指南:10个关键指标提升推理速度300%

Seldon Core 2性能调优终极指南&#xff1a;10个关键指标提升推理速度300% 【免费下载链接】seldon-core An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models 项目地址: https://gitcode.com/gh_mirrors/se/seldon…...

PINN实战:如何用PyTorch自定义神经网络结构求解偏微分方程?

PINN实战&#xff1a;PyTorch自定义神经网络架构设计指南 在科学计算领域&#xff0c;物理信息神经网络(PINN)正逐渐成为求解偏微分方程(PDE)的新范式。与传统的数值方法不同&#xff0c;PINN将物理方程直接编码到神经网络中&#xff0c;通过自动微分技术实现端到端的求解。本文…...

面试复盘之WHERE和HAVING的区别以及MySQL的索引

where是在数据分组之前进行过滤执行流程 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY示例 SELECT * FROM employee WHERE salary > 5000;含义&#xff1a;先从表中筛选出 salary > 5000 的记录&#xff0c;再返回结果。 HAVING 关键字 HAVING 的作用…...

BANG C语言在DLP平台上的矩阵乘法优化:从标量到五级流水线的性能跃迁

1. 矩阵乘法优化的核心挑战 矩阵乘法是深度学习中最基础也最耗时的操作之一。在DLP平台上&#xff0c;一个128x256x128规模的矩阵乘法&#xff0c;如果用最基础的标量实现方式&#xff0c;性能往往只有CPU的1/10。这就像用自行车和跑车比赛&#xff0c;完全不在一个量级。 为什…...

保姆级教程:在RK3588开发板上跑通librga图形加速demo(含预编译库避坑指南)

在RK3588开发板上快速验证librga图形加速功能的实战指南 对于刚接触RK3588开发板的嵌入式开发者来说&#xff0c;图形加速功能的验证往往是一个令人头疼的环节。Rockchip提供的librga库虽然功能强大&#xff0c;但官方GitHub仓库的编译步骤复杂&#xff0c;依赖众多&#xff0…...

1. 无需专业设备的3D建模革命:Meshroom如何让人人都能创建三维模型

1. 无需专业设备的3D建模革命&#xff1a;Meshroom如何让人人都能创建三维模型 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom 你是否曾经想将现实世界中的物体转化为数字3D模型&#xff0c;却…...

ozz-animation工具集完整使用手册:从模型导入到动画导出

ozz-animation工具集完整使用手册&#xff1a;从模型导入到动画导出 【免费下载链接】ozz-animation Open source c skeletal animation library and toolset 项目地址: https://gitcode.com/gh_mirrors/oz/ozz-animation ozz-animation是一款开源C骨骼动画库和工具集&a…...

突破平台局限:AirPods跨平台体验增强方案全解析

突破平台局限&#xff1a;AirPods跨平台体验增强方案全解析 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop AirPodsDesktop是一…...

PyTorch Playground量化评估报告:不同bit宽度的精度损失分析

PyTorch Playground量化评估报告&#xff1a;不同bit宽度的精度损失分析 【免费下载链接】pytorch-playground Base pretrained models and datasets in pytorch (MNIST, SVHN, CIFAR10, CIFAR100, STL10, AlexNet, VGG16, VGG19, ResNet, Inception, SqueezeNet) 项目地址: …...

wan2.1-vae开源模型价值:免授权商用+自主可控+私有化部署保障

wan2.1-vae开源模型价值&#xff1a;免授权商用自主可控私有化部署保障 1. 为什么选择wan2.1-vae开源模型 在当今AI图像生成领域&#xff0c;商业使用往往面临授权费用高、数据隐私风险等问题。wan2.1-vae作为基于Qwen-Image-2512模型的开源解决方案&#xff0c;提供了三大核…...