初次尝试GUP运行python,测试代码时发现结果不好
使用的时pycharm,显卡为nvidia 2060
运行网上别人写的测试代码,据他所说gpu运行速度应当比cpu快很多
结果我自己运行时刚好相反,我是gpu设置出错了,还是代码有问题?请大佬指点!!!
from numba import cuda
import numpy as np
import math
from time import time
@cuda.jit
def gpu_add(a, b, result, n):
idx = cuda.threadIdx.x + cuda.blockDim.x * cuda.blockIdx.x
if idx < n:
result[idx] = a[idx] + b[idx]
def main():
n = 20000000
x = np.arange(n).astype(np.int32)
y = 2 * x
# 拷贝数据到设备端
x_device = cuda.to_device(x)
y_device = cuda.to_device(y)
# 在显卡设备上初始化一块用于存放GPU计算结果的空间
gpu_result = cuda.device_array(n)
cpu_result = np.empty(n)
threads_per_block = 1024
blocks_per_grid = math.ceil(n / threads_per_block)
start = time()
gpu_add[blocks_per_grid, threads_per_block](x_device, y_device, gpu_result, n)
cuda.synchronize()
print("gpu vector add time " + str(time() - start))
start = time()
cpu_result = np.add(x, y)
print("cpu vector add time " + str(time() - start))
if np.array_equal(cpu_result, gpu_result.copy_to_host()):
print("result correct!")
if __name__ == "__main__":
main()
相关推荐
Notepad++.rar
独立安装不需要用户下载捆绑插件。我是一个搬用工,只需要将文件解压,双击运行updater中的GUP.exe,即可安装最新的Notepad++。
Assign_GUP-2016.1025.0-py2.py3-none-any.whl.zip
Assign_GUP-2016.1025.0-py2.py3-none-any.whl.zip
Assign_GUP-2017.3.0-py2.py3-none-any.whl.zip
Assign_GUP-2017.3.0-py2.py3-none-any.whl.zip
cuthon:一个用于选择第一个免费GPU并运行Python的简单工具
Cuthon Cuthon是一个简单的Python脚本,可避免在GPU上运行python程序时避免设置CUDA_VISIBLE_DEVICES。 该脚本将找到第一个未使用的GPU,然后照常运行该程序。 最简单的说: cuthon my_program.py 该工具旨在用于相当利基的用例:在具有多个GPU的交互式节点上运行python程序。 对于那些经常这样做的人,您可能不必再运行nvidia-smi,然后再设置CUDA_VISIBLE_DEVICES(运行python程序时),就可以放心了。 安装 用pip安装: pip install cuthon 用法 通常,像使用python一样使用cuthon。 cuthon启动python repl。 cuthon -V查看python版本号。 cuthon train_model.py运行您的程序。 有关可用的cuthon选项的帮
Assign_GUP-2017.3.1-py2.py3-none-any.whl.zip
Assign_GUP-2017.3.1-py2.py3-none-any.whl.zip


