[PyCUDA] TypeError: ‘numpy.int32’ does not have the buffer interface

[PyCUDA] TypeError: ‘numpy.int32’ does not have the buffer interface

PyCUDAを使い始めています。チュートリアルも完全には動いてない状況です。

○環境

  • Mac OS X Marverics
  • Python 2.7 64bit(Anaconda)
  • PyCuda 2014.01
  • CUDA6.5

さて、今日詰まったのは、

発生箇所というと、チュートリアル中の[Advanced Topics]->[Structures]です。

どうやらbuffer interfaceというのがPythonにはあるそうですが、上手く解決できていないのでしょうか?
簡単に調べたところ、バージョンによって、紆余曲折があるのようなないような。。。(Pythonをまだあまり知らず)

解決方法としては、numpy.getbufferでバッファインターフェイスを取得すると、動きました。

ただし、これが本当の正解であるのかわからず。。。
print関数も上手く動かないので、print命令へ変更。(仕様?)

ソースコード全てを載せておきます。自己責任で。

出力結果