13
16

More than 5 years have passed since last update.

Windows10 に pycuda をインストール

Posted at

折角、GTX1070を購入したのでpythonでCUDAにトライしてみようと思って環境を準備したら、意外とはまったので。
ほぼ自分のインストールメモで文字しかないですが参考になれば。

pycuda は pip でインストール。

pip install pycuda

テストコードを実行するとUnicodeDecodeErrorが出るのでここ を参考にcompiler.pyの264行目辺りに以下のコードを追加

Anaconda3\lib\site-packages\pycuda\compiler.py
...
        self._check_arch(arch)

        if options is not None:
            options.extend(["-Xcompiler","/wd 4819"])
        else:
            options = ["-Xcompiler","/wd 4819"]

        cubin = compile(source, nvcc, options, keep, no_extern_c,
                arch, code, cache_dir, include_dirs)
...

テストコードで動作確認。

test_pycuda.py

import pycuda.gpuarray as gpuarray
import pycuda.driver as cuda
import pycuda.autoinit
import numpy

a_gpu = gpuarray.to_gpu(numpy.random.randn(4,4).astype(numpy.float32))
a_doubled = (2*a_gpu).get()
print (a_doubled)
print (a_gpu)

実行結果は下記の通り。
時間計測も何もしていないが動いてはいるようだ。

[[ 0.06258085 3.00050306 -2.16977096 -1.87397981]
[-2.13656282 4.49329472 0.04928281 3.36462641]
[-0.23879284 -2.65320969 -0.87821233 0.39281949]
[ 0.31394795 -0.32421556 0.16610235 2.44501066]]
[[ 0.03129042 1.50025153 -1.08488548 -0.9369899 ]
[-1.06828141 2.24664736 0.0246414 1.6823132 ]
[-0.11939642 -1.32660484 -0.43910617 0.19640975]
[ 0.15697397 -0.16210778 0.08305117 1.22250533]]

ちなみにはまった理由は完全に自分のミスで

  • GTX1070に対応していない(?)CUDA Toolkit 7.5をインストールしてしまった
  • 最初python2.7系と3.5系の両方がインストールされていて混乱した。(結局、2.7系は一旦アンインストール)
13
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16