Python CUDA 编程 - 3 - GPU编程介绍
> 本文介绍GPU编程的一些重要概念。 ### GPU编程 {#GPU编程} > GPU编程与CPU编程的思考角度不尽相同,举皮皮鲁老师的一个例子: 以加法计算为例,CPU就像大学数学教授,GPU就像几千个小学生,现在需要不借助外界,只通过纸笔,对2000个数字进行加法计算,得到1000个加法结果,在这个过程中,大学教授要协调指挥小学生完成任务。 在计算过程...
51工具盒子
> 本文介绍GPU编程的一些重要概念。 ### GPU编程 {#GPU编程} > GPU编程与CPU编程的思考角度不尽相同,举皮皮鲁老师的一个例子: 以加法计算为例,CPU就像大学数学教授,GPU就像几千个小学生,现在需要不借助外界,只通过纸笔,对2000个数字进行加法计算,得到1000个加法结果,在这个过程中,大学教授要协调指挥小学生完成任务。 在计算过程...
<blockquote> <p>在程序运行过程中,可能遇到需要进程间或不同平台的语言之间进行信息交互,存在硬盘是一种解决方案但是速度太慢。python的mmap库提供了共享内存的实践方案可以完成信息在内存间交互。</p> </blockquote> <h3>简介 {#简介}</h3> <h4>共...
> 当核心数量不够或想限制当前任务使用的GPU核心数时可以使用网格跨步的思路编写CUDA程序。 ### 背景 {#背景} > CUDA的执行配置:`[gridDim, blockDim]`中的`blockDim`最大只能是1024,但是并没提到`gridDim`的最大限制。英伟达给出的官方回复是gridDim最大为一个32位整数的最大值,也就是2,147,483...
<blockquote> <p>Numba是一个针对Python的开源JIT编译器,由Anaconda公司主导开发,可以对Python原生代码进行CPU和GPU加速。Numba对NumPy数组和函数非常友好。</p> </blockquote> <h3>Numba简介 {#Numba简介}</h3> <...
<blockquote> <p>基于CPU和GPU的异构计算已经逐步发展成为高性能计算的主流模式。CUDA作为GPU高性能计算的主要开发工具之一,已经在各个领域取得广泛应用。</p> </blockquote> <h3>什么是GPU {#什么是GPU}</h3> <blockquote> <...
> python 运行时会有不同环境需求,在其他机器部署时需要重新配置python环境,当需要离线部署时可以使用pip的离线复制环境的功能。 ### 工作思路 {#工作思路} 1. 获取环境所需的库和对应版本 2. 确定运行平台(Linux,Windows) 3. 在指定平台下载库的离线包 4. 将库列表与离线包迁移到新机器 5. 在新机器上安装python 6. 安...
<blockquote> <p>本文记录使用Python Socket包搭建简易服务器的代码。</p> </blockquote> <h3>概述 {#概述}</h3> <blockquote> <p>平时访问网站底层大多是socket封装的http请求,都是基于tcp-ip协议进行通...
<blockquote> <p>python图像处理中会调用一些开源库,PCV是其中之一,由于该库比较古老,本文记录安装使用方法。</p> </blockquote> <h3>下载 {#下载}</h3> <ul> <li><a href="https://github...
<blockquote> <p>常规的模糊算法如高斯模糊等会模糊图像边缘,很多场景中我们需要保留图像纹理并模糊一些细节,这就可以使用PS中的表面模糊。</p> </blockquote> <h3>表面模糊 {#表面模糊}</h3> <ul> <li>表面模糊有两个参数,半径Radiu...
<blockquote> <p>本文介绍使用python 的 opencv 库显示多个图片窗口,并获取点击点像素位置的方法。</p> </blockquote> <h3>opencv 显示图像 {#opencv-显示图像}</h3> <blockquote> <p>显示图像主要通过&...