加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

GPU 加速矩阵运算

(2013-03-16 20:48:49)
分类: Linux
得益于 Python师兄 的介绍,今天在我的电脑上实现了一把
cuda
http://baike.baidu.com/view/1488597.htm


首先
http://fedoraproject.org/wiki/Cuda
按照上面的一步一步装好,到 Test 步骤之前的时候重启
然后我的 Fedora18 就用 Nvidia 自己的驱动驱起来了
尼玛开机画面都变了
test 这个命令一下:
~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/fluidsGL

http://s14/mw690/4c38701d4d8507dd04d3d&690加速矩阵运算" TITLE="GPU 加速矩阵运算" />

 

 


注:
http://askubuntu.com/questions/164785/how-to-configure-bumblebee-in-ubuntu-12-04
这个网页最下面的东西是在我装完之后没有重启之前干的,当时 Test 不能过
提示 Xlib: extension "NV-GLX" missing on display ":0".
我不知道这样做了有没有用,反正稀里糊涂的弄完之后就重启了

下一步
https://pypi.python.org/pypi
里面搜 CUDA ,出来一对有关的
然后找到 gnumpy ,因为它和 numpy 很相似,比较好用,下载安装

装的时候还需要 cudamat
http://code.google.com/p/cudamat/ 网页点 Downloads 下载
make 好之后,然后就可以爽了

实验:矩阵乘法

#!/usr/bin/python

import gnumpy
import numpy
from time import time

ox=[range(1000) for x in range(1000)]
oy=[range(1000) for y in range(1000)]

m=gnumpy.garray(ox)
n=gnumpy.garray(oy)

p=numpy.array(ox)
q=numpy.array(oy)

def run_gnumpy(a,b):
    st_g = time()
    gnumpy.dot(a,b)
    et_g = time()
    return et_g-st_g

def run_numpy(a,b):
    st_n = time()
    numpy.dot(a,b)
    et_n = time()
    return et_n-st_n

print (str(run_numpy(p,q)/run_gnumpy(m,n)))

试一试吧! 快了五千到六千倍!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有