というわけで読み始めたわけですが、まず、
Hello World
を trace していくわけですが、
PythonからSWIGという言語インタフェースライブラリ経由でC++に。そこで、C++11 のlambda構文を使って、ThreadPool に行くところまでは極めてスムース。
あぁ、でも、lambda構文は結構ひどいなぁ。Javaだと nestedな interface 構文で finally した変数は interfaceから参照できるみたいな構文なんですが、C++ は「渡す環境は[]で明示する」方式らしい。なんで、引数が[]と()とあるのか不思議だったけど。
でも、なんか cu* なCudaの関数にたどり着かない。
なので、もう少し複雑な例題で、cu*な関数に break pointをかけるという方法にしたんですが...
* エラーで落ちる
cuMemcpyAsync がOS ERRORを返してる。あらら。Eigenというライブラリなんですが、独自にヘッダファイル持っているみたいだな。
OS X な TensorFlow は先週 merge されたらしい。なので、ちょっと動作が怪しいみたいです。
落ちるのは、tf.initializAllVariables() なので、変数をGPUに送り込む部分がだめなんだな。ということは全然動いてないか。
* まぁ、ソースを読みたいのであって、動いてなくても関係ない説
はあるわけですが、なんか install をミスってるのかも。最新の版でやってるのが裏目に出てるかもなぁ。
こんな状態で明日に続くわけですが、まぁ、なんとかなるでしょう。
No comments:
Post a Comment