この質問は、 VisualProfilerを使用してPyCudaコードをプロファイリングする方法とほぼ同じです。Linux用のCUDA5を備えた新しいNVIDIANsightIDEについては除きます。
派手なNsightを使用してプロファイリングしたいPyCUDAPythonスクリプトがあります。
サンプルスクリプト(以下に含まれる実行可能アクセス許可付き)をポイントして、外部ツール構成のビルドを設定しました。次に、これを実行して、コンソールでプリントアウトを確認できます。次に、プロファイルモードに移動し、[実行]-> [プロファイル]をクリックします---コンソールにプリントアウトが表示されますが、プロファイラー情報は表示されません。NsightでC/CUDAプログラムを実行したときに表示される、タイミングプロットと占有率計算機、およびコードに対するNVIDIAの提案を取得するにはどうすればよいですか?
ここにあるIDEnoobの合計(主にコマンドライン)。私の質問に重要な情報が含まれていない場合は申し訳ありません。Ubuntu 11.10、PyCUDA2012.1。
example.py:
#!/usr/bin/env python
import pycuda.autoinit
import pycuda.driver as drv
import numpy
from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
const int i = threadIdx.x;
dest[i] = a[i] * b[i];
}
""")
multiply_them = mod.get_function("multiply_them")
a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)
dest = numpy.zeros_like(a)
multiply_them(
drv.Out(dest), drv.In(a), drv.In(b),
block=(400,1,1), grid=(1,1))
print "error:", numpy.sum(numpy.abs(dest - a*b).ravel())
print "Done"
#pycuda.autoinit.context.detach() # seems to break PyCUDA 2012.1