零基础安装pycuda

news2024/11/27 14:43:22

零基础安装pycuda

  • 前言
  • 安装Visual Studio
    • 安装C/C++环境
    • 添加环境变量
  • 安装pycuda
    • 查看系统位数
    • 查看python版本
    • 下载whl文件

前言

最近开始学习基于python的cuda编程,记录一下pycuda的安装。
在安装pycuda之前,首先需要有NVIDIA的独立显卡并且要安装CUDA和CUDNN,安装过程可以参照之前的文章中关于CUDA的安装部分
文章:从零开始配置tensorflow深度学习环境(含cuda以及其他依赖)
在这里就不再赘述,直接开始关于pycuda的安装

安装Visual Studio

为了正常使用pycuda还需要下载Visual Studio的C/C++环境,是的,你没看错,python的cuda编程依然需要C/C++的环境。注意,这里要下载的不是visual studio tools, 而是纯正的C/C++编程环境。虽然安装CUDA的过程中已经下载了visual studio tools 但还是要下载Visual Studio的C/C++环境

下载链接:https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes
我们只需要下载C/C++桌面应用开发即可

安装C/C++环境

在这里插入图片描述
值得注意的是,由于下载的内容过大,建议修改一下安装位置
在这里插入图片描述
请记住修改后的位置,在后边会有用处

添加环境变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按照图片上的指示将下述路径添加到环境变量中,值得注意的是,这是笔者的路径,你需要按照自己安装的位置自行查找路径并配置

D:\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64

安装pycuda

由于直接使用pip安装pycuda可能会产生各种问题,为了规避问题我们选择下载whl文件,然后通过whl文件进行pip,下载whl时需要根据系统位数和python的版本进行下载

查看系统位数

打开cmd命令行窗口,输入systeminfo
在这里插入图片描述
显示出来的信息中x64就是说明系统是64位的

查看python版本

同样是cmd命令行,输入python -V
在这里插入图片描述
显示出python是3.8版本的

下载whl文件

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycuda
打开下载地址的链接,我们向下滑,找到pycuda
在这里插入图片描述
因为笔者的python是3.8,系统是64位的所以选择含有cp38和64的whl文件

下载完成后,在whl文件所在文件夹下打开cmd命令行窗口
使用pip install [文件名].whl安装pycuda,其中[文件名]对应的是你下载的whl的名字

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序与进程

一、程序是怎么被执行的 1.在程序中,由引导代码去调用程序中得main函数,而这个过程由链接器完成,链接器将引导代码链接到我们的应用程序构成可执行文件。 2.程序运行需要通过操作系统的加载器来实现,加载器是操作系统中的程序&a…

【javascript实操记录】

功能描述: 1. 利用split()方法对测试数据进行解析:学科,日期 2. 将测试数据封装成对象数组的格式 3. 使用数组的sort()方法和Date对象,将测试数据按照日期从早到晚进行排序 4. 表格数据的静态填充 5. 距离最近考试的倒计时天…

使用 NestJS 和 Prisma 构建 REST API

NestJS是Node.js框架之一,它最近获得了很多开发人员的喜爱和牵引力。本文将教你如何使用NestJS,Prisma,PostgreSQL和Swagger构建后端REST API。 文章目录 介绍您将使用的技术 先决条件假定的知识开发环境 生成 NestJS 项目创建 PostgreSQL 实…

链路聚合原理

文章目录 一、定义二、功能三、负载分担四、分类五、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、定义 在网络中,端口聚合是一种将连接到同一台交换机的多个物理端口捆绑在一起,形成一个逻辑端口的技术。通过端口聚合&…

数据结构--5.0.1图的存储结构

目录 一、邻接矩阵(无向图) 二、邻接矩阵(有向图) 三、邻接矩阵(网) 四、邻接表(无向图) 五、邻接表(有向图) ——图的存储结构相比较线性表与树来说就复…

AIGC全流程赋能:从剧本到宣发,影视内容全新呈现

“猕猴桃”视频平台在今日发布了2023年第二季度财报,首次公布引入AIGC辅助剧本评估。内部数据显示,AIGC帮助提升剧本评估、预算规划等效率超过90%。“猕猴桃”视频平台还通过AIGC技术实现对影视剧的剧情理解,从而改进搜索结果、推荐和用户互动…

kubernetes deploy standalone mysql demo

kubernetes 集群内部署 单节点 mysql ansible all -m shell -a "mkdir -p /mnt/mysql/data"cat mysql-pv-pvc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: mysql-pv-volumelabels:type: local spec:storageClassName: manualcapacity:storage: 5Gi…

IAR 编译优化 #pragma optimize

在IAR工具菜单栏中 点击 【help】-> 【Serach】 搜索optimize #pragma optimize[goal][level][vectorize][disable] 如果想设置优化速度到最高等级,则如下设置即可 #pragma optimizespeed high int SmallAndUsedOften() { /* Do something here. */ }

分布式事务学习笔记

MySQL事务 1、 MySQL事务隔离级别 读未提交 (READ UNCOMMITTED) (存在脏读的问题)读已提交(READ COMMITTED)可重复读(REPEATABLE READ)串行化(SERIALIZABLE)…

LCD驱动

一、Linux 下 LCD 驱动简析 1.与裸机的异同 在 Linux 中应用程序最终也是通过操作 RGB LCD 的显存来实现在 LCD 上显示字符、图片等信息,但是Linux系统的内存管理严格,使用显存需要申请,因为虚拟内存的存在,驱动程序设置的显存和应…

python 栈、用栈实现综合计算器

栈的基本介绍 出栈(pop)示意图 入栈(push)示意图 栈的应用场景 数组模拟栈 思路分析 代码实现 # 用数组模拟栈 class ArrayStack:def __init__(self, size):self.max_size size # 栈的最大容量self.top -1 # top 表示栈顶…

Python项目实战之《飞机大战游戏》

目录 一、Pygame库包简介 二、Pygame安装 三、项目开发思路 3.1前言 3.2飞机大战开发步骤 一、Pygame库包简介 Pygame是一个基于python的游戏开发库,它提供一系列的工具和接口,使开发人员能够轻松的创建各种类型的游戏,包括2D游戏和简单…

ptmalloc源码分析 - _int_malloc函数实现fastbins(06)

目录 一、_int_malloc内存分配的核心函数 二、bins的管理和chunk的结构 三、_int_malloc函数分配前的两个检查 四、REMOVE_FB原子实现fastbins的链表操作 五、fastbins的具体分配实现 一、_int_malloc内存分配的核心函数 前几章节,我们主要讲解了状态机malloc_…

xml

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者: Tim Berners-Lee (蒂姆伯纳斯李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为…

nginx反向代理 负载均衡

一、反向代理: 1.反向代理介绍: 反向代理:reverse proxy,指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式。 Nginx 除了可以在企业提供高性能的web…

从2023蓝帽杯0解题heapSpary入门堆喷

从2023蓝帽杯0解题heapSpary入门堆喷 关于堆喷 堆喷射(Heap Spraying)是一种计算机安全攻击技术,它旨在在进程的堆中创建多个包含恶意负载的内存块。这种技术允许攻击者避免需要知道负载确切的内存地址,因为通过广泛地“喷射”堆…

三路排序算法(Java 实例代码)

目录 三路排序算法 一、概念及其介绍 二、适用说明 四、Java 实例代码 QuickSort3Ways.java 文件代码: 三路排序算法 一、概念及其介绍 三路快速排序是双路快速排序的进一步改进版本,三路排序算法把排序的数据分为三部分,分别为小于 v&…

blender 火焰粒子

效果展示 创建火焰模型 新建立方体(shift A ),添加表面细分修改器(ctrl 2 ),视图层级调整为 3 ,这样布线更密集; 右键将模型转换为网格,tab 进入编辑模式,7 切换到顶…

基于 Debian 12 的 Devuan GNU+Linux 5 为软件自由爱好者而生

导读Devuan 开发人员宣布发布 Devuan GNULinux 5.0 “代达罗斯 “发行版,它是 Debian GNU/Linux 操作系统的 100% 衍生版本,不包含 systemd 和相关组件。 Devuan GNULinux 5 基于最新的 Debian GNU/Linux 12 “书虫 “操作系统系列,采用长期支…

Kafka3.0.0版本——手动调整分区副本示例

目录 一、服务器信息二、启动zookeeper和kafka集群2.1、先启动zookeeper集群2.2、再启动kafka集群 三、手动调整分区副本3.1、手动调整分区副本的前提条件3.2、手动调整分区副本的示例需求3.3、手动调整分区副本的示例 一、服务器信息 四台服务器 原始服务器名称原始服务器ip节…