|
1 |
| -# CUDA-Programming-for-Python |
2 |
| -<<CUDA-Programming编程>>书籍内容将不再包含pycuda的内容,相关的pycuda的文字教程将以博客的形式给出。将在完成时给出链接。 |
| 1 | +# 1.CUDA-Programming-for-Python |
3 | 2 | 这些代码原是为樊哲勇老师的书籍<<CUDA-Programming编程>>编写的示例代码。为了让CUDA初学者在python中更好的使用CUDA,本代码库应用了[pycuda](https://mathema.tician.de/software/pycuda/)模块,构建了与书中使用C++编写的功能上一致的例子。
|
4 | 3 |
|
5 |
| -## 运行环境要求 |
| 4 | +# 2.pyCUDA speeds up your python code |
| 5 | +由于一些原因<<CUDA-Programming编程>>书籍内容将不再包含pycuda的内容。相关pycuda的教程将发布在我的知乎专栏[pyCUDA加速你的python代码](https://zhuanlan.zhihu.com/c_1225467129270927360)。 |
| 6 | + |
| 7 | +# 运行环境要求 |
6 | 8 | 1. 适用CUDA的显卡
|
7 |
| -2. cuda 10.1,并已经配置环境变量 |
| 9 | +2. cuda 10.1,并已经配置好环境变量 |
8 | 10 | 3. python3.7 64位
|
9 | 11 | 4. numpy模块 (安装方法:pip install numpy)
|
10 | 12 | 5. pycuda模块 (安装方法:pip install pycuda)
|
11 | 13 | 6. skcuda模块 (安装方法:pip install scikit-cuda)
|
12 |
| -7. 注意:尚未在linux进行测试(即将完成) |
13 |
| - |
14 |
| -## 目录和源代码列表 |
15 |
| -本仓库中大部分代码与C++版的同名代码功能一致。具体详情请参考[CUDA-Programming](https://github.com/brucefan1983/CUDA-Programming/blob/master/README.md)当中README.md相关内容的介绍。 |
16 |
| -### 第1章 |
17 |
| -没有代码 |
18 |
| -### 第2与3章 |
19 |
| -详细说明参考C++版代码 |
20 |
| -### 第4章 |
21 |
| -在python中使用CUDA无需额外的宏来捕捉异常。 |
22 |
| -### 第5至11章 |
23 |
| -详细说明参考C++版代码 |
24 |
| -### 第12章 |
25 |
| -pycuda关于同一设备内存相关内容尚属于实验功能,故暂时不做介绍。 |
26 |
| -### 第13章 |
27 |
| -pycuda使用CUDA标准库可以使用[skcuda](https://scikit-cuda.readthedocs.io/en/latest/index.html),该模块依赖pycuda实现了标准库的访问,具体使用方法不做介绍。 |
28 |
| -### 第14章 |
29 |
| -详细说明参考C++版代码 |
30 |
| -### 第15章 |
31 |
| -没有代码 |
32 |
| -### 第16至18章 |
33 |
| -由于使用Pycuda进行CPU端计算,效率相比C++进行CPU端计算速度缓慢约500倍。故暂时暂时不做介绍。 |
34 |
| -### 第19章 |
35 |
| -| 文件 | 内容 | |
36 |
| -|:-------------|:----------------| |
37 |
| -|Ar.py |相当于main函数中的内容,它将调用其他自定义模块进行Ar的分子动力学模拟。| |
38 |
| -|material.py |Material类,原胞信息的检查与超晶胞操作。| |
39 |
| -|md.py |MolecularDynamics类,分子动力学模拟的准备工作与流程控制。 |
40 |
| -|GPU.py |Kernel类,核函数的编译,内存的分配,提供函数接口,程序浮点数精度的控制。| |
41 |
| -|Kernel.cu |该文件非Python执行文件,CUDA的核函数均在此文件中,由Kernel类读取并编译为核函数。| |
42 |
| -### 第20章 |
43 |
| -pycuda关于同一设备内存相关内容尚属于实验功能,故暂时不做介绍。 |
44 |
| -### 第21章 |
45 |
| -该章代码特别为说明pycuda的使用而编写,在C++版本的代码中找不到对应的代码。 |
46 |
| -| 文件 | 内容 | |
47 |
| -|:--------------|:----------------------| |
48 |
| -| add1.py |使用gpuarray实现矩阵相加| |
49 |
| -| add2.py |在核函数中使用gpuarray实现矩阵相加| |
50 |
| -| pointer.py |在pycuda中进行指针偏移| |
51 |
| -| struct.py |在核函数中使用结构体进行传参| |
52 |
| -| random.py |pycuda产生随机数数组| |
53 |
| -| define.py |在核函数中使用宏| |
54 |
| -| function_0.py |GPUArray的基本运算| |
55 |
| -| function_1.py |GPUArray的基础函数| |
56 |
| -| function_2.py |gpuarray模块的一些函数| |
57 |
| -| function_3.py |gpuarray模块的元素级的数学函数| |
| 14 | +7. 注意:尚未在linux进行测试,我不能保证其可用性,(相关测试即将完成)。 |
0 commit comments