質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2447閲覧

pyCUDAにおいて cuModuleLoadDataEx failedと出て動作しない

BitMaPT

総合スコア25

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/05/25 16:08

編集2018/05/25 16:10

#概要
pyCUDAについて学習しようと思い、とりあえずネットに転がっていたコードを手直しして動かしてみたのですが、以下のようになり動作しません。調べてもみたのですが自分と同じ状態になった場合の対処法などを見つけることができませんでしたので、ここで質問させていただきます。

Power

1PS E:(ユーザ名)\Documents\programs\python\pycuda_prac> python .\pycuda_prac.py 2Traceback (most recent call last): 3 File ".\pycuda_prac.py", line 17, in <module> 4 """) 5 File "C:\Users(ユーザ名)\AppData\Local\Programs\Python\Python36\lib\site-packages\pycuda\compiler.py", line 294, in __init__ 6 self.module = module_from_buffer(cubin) 7pycuda._driver.LogicError: cuModuleLoadDataEx failed: initialization error -

コード(pycuda_prac.py)をいかに示します。

Python

1import pycuda 2import pycuda.driver as cuda 3from pycuda.compiler import SourceModule 4import numpy as np 5import cv2 6 7mod = SourceModule(""" 8__global__ void reverse(unsigned char *image, int width) 9{ 10 int pos_y = threadIdx.y + blockDim.y * blockIdx.y; 11 int pos_x = threadIdx.x + blockDim.x * blockIdx.x; 12 13 int idx = pos_y * width + pos_x; 14 15 image[idx] = 255 - image[idx]; 16} 17""") 18 19img = cv2.imread('Lenna.jpg') 20height, width, _ = img.shape 21img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 22 23cuda_kernel = mod.get_function('reverse') 24 25blocks = int(height * width / (16 * 16)) 26block = (16, 16, 1) 27grid = (blocks, 1, 1) 28 29cuda_kernel(cuda.InOut(img_gray), 30 np.int32(width), 31 block=block, grid=grid) 32 33cv2.imwrite('Lennagray.bmp', img_gray)

#動作環境
Windows 10
GPU: GTX980
CUDA: ver9.2
Python: python3.6.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

一度寝て再びコピペ元とプログラムを照らし合わせてみたところ、今回の問題はimport pycuda.autoinitの一文を書いてなかったために発生したようです。お騒がせしてすみませんでした。

投稿2018/05/25 23:21

BitMaPT

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問