51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python笔记

Python基础理论(一):初步了解Python编码规范、数据类型和变量、格式化输出、”__main__”和执行等

Python基础理论(一):初步了解Python编码规范、数据类型和变量、格式化输出、”__main__”和执行等

厉飞雨 阅读(445) 评论(0) 赞(18)

<h3>一、基本概念 {#一、基本概念}</h3> <p>Python 是一种面向对象的、动态的解释型编程语言,无需编译即可执行,相比于 C++、Java 等高级语言更加轻量化。Python 追求和遵循极简、优雅主义,编码风格受 Linux、C 语言影响较深,官方编程规范中比较推荐使用 小写字母+下划线 来给标识符命名。</p> ...

Python CUDA 编程 - 6 - 共享内存

Python CUDA 编程 - 6 - 共享内存

厉飞雨 阅读(385) 评论(0) 赞(17)

> CUDA编程中内存分为主机内存(内存条)与设备内存(显存),为提高计算效率,需要设计程序降低内存的数据搬运,或使用快速的内存寄存数据。 ### 共享内存 {#共享内存} > CPU和GPU组成异构计算架构,如果想从内存上优化程序,我们必须尽量减少主机与GPU设备间的数据拷贝,并将更多计算从主机端转移到GPU设备端,我们要尽量在设备端初始化数据,并计算中间数据...

Python CUDA 编程 - 5 - 多流

Python CUDA 编程 - 5 - 多流

厉飞雨 阅读(305) 评论(0) 赞(16)

<blockquote> <p>之前讨论的并行,都是线程级别的,即CUDA开启多个线程,并行执行核函数内的代码。GPU最多就上千个核心,同一时间只能并行执行上千个任务。当我们处理千万级别的数据,整个大任务无法被GPU一次执行,所有的计算任务需要放在一个队列中,排队顺序执行。CUDA将放入队列顺序执行的一系列操作称为流(Stream)。</p>...

Python CUDA 编程 - 3 - GPU编程介绍

Python CUDA 编程 - 3 - GPU编程介绍

厉飞雨 阅读(296) 评论(0) 赞(13)

> 本文介绍GPU编程的一些重要概念。 ### GPU编程 {#GPU编程} > GPU编程与CPU编程的思考角度不尽相同,举皮皮鲁老师的一个例子: 以加法计算为例,CPU就像大学数学教授,GPU就像几千个小学生,现在需要不借助外界,只通过纸笔,对2000个数字进行加法计算,得到1000个加法结果,在这个过程中,大学教授要协调指挥小学生完成任务。 在计算过程...

Python - mmap 共享内存

Python - mmap 共享内存

厉飞雨 阅读(362) 评论(0) 赞(16)

<blockquote> <p>在程序运行过程中,可能遇到需要进程间或不同平台的语言之间进行信息交互,存在硬盘是一种解决方案但是速度太慢。python的mmap库提供了共享内存的实践方案可以完成信息在内存间交互。</p> </blockquote> <h3>简介 {#简介}</h3> <h4>共...

Python CUDA 编程 - 4 - 网格跨步

Python CUDA 编程 - 4 - 网格跨步

厉飞雨 阅读(268) 评论(0) 赞(17)

> 当核心数量不够或想限制当前任务使用的GPU核心数时可以使用网格跨步的思路编写CUDA程序。 ### 背景 {#背景} > CUDA的执行配置:`[gridDim, blockDim]`中的`blockDim`最大只能是1024,但是并没提到`gridDim`的最大限制。英伟达给出的官方回复是gridDim最大为一个32位整数的最大值,也就是2,147,483...

Python CUDA 编程 - 2 - Numba 简介

Python CUDA 编程 - 2 - Numba 简介

厉飞雨 阅读(374) 评论(0) 赞(26)

<blockquote> <p>Numba是一个针对Python的开源JIT编译器,由Anaconda公司主导开发,可以对Python原生代码进行CPU和GPU加速。Numba对NumPy数组和函数非常友好。</p> </blockquote> <h3>Numba简介 {#Numba简介}</h3> <...

Python CUDA 编程 - 1 - 基础概念

Python CUDA 编程 - 1 - 基础概念

厉飞雨 阅读(306) 评论(0) 赞(17)

<blockquote> <p>基于CPU和GPU的异构计算已经逐步发展成为高性能计算的主流模式。CUDA作为GPU高性能计算的主要开发工具之一,已经在各个领域取得广泛应用。</p> </blockquote> <h3>什么是GPU {#什么是GPU}</h3> <blockquote> <...

使用 pip 离线复制 python 运行环境

使用 pip 离线复制 python 运行环境

厉飞雨 阅读(324) 评论(0) 赞(21)

> python 运行时会有不同环境需求,在其他机器部署时需要重新配置python环境,当需要离线部署时可以使用pip的离线复制环境的功能。 ### 工作思路 {#工作思路} 1. 获取环境所需的库和对应版本 2. 确定运行平台(Linux,Windows) 3. 在指定平台下载库的离线包 4. 将库列表与离线包迁移到新机器 5. 在新机器上安装python 6. 安...

使用 Python Socket 包搭建简易服务器

使用 Python Socket 包搭建简易服务器

厉飞雨 阅读(261) 评论(0) 赞(16)

<blockquote> <p>本文记录使用Python Socket包搭建简易服务器的代码。</p> </blockquote> <h3>概述 {#概述}</h3> <blockquote> <p>平时访问网站底层大多是socket封装的http请求,都是基于tcp-ip协议进行通...