fixstars / clpy

OpenCL backend for CuPy
Other
153 stars 13 forks source link

Add gemm to CI tests #247

Closed shusukeueda closed 5 years ago

shusukeueda commented 5 years ago

examples_tests/test_gemm.pyjenkins/build_and_tests.sh に追加しました。 テスト通ることは確認しています。 特に sgemm.py に引数などは渡していない (デフォルト) のですが、その点コメントなどありましたらお願いいたします。

shusukeueda commented 5 years ago

@LWisteria お時間あるときで構わないので、確認お願いいたします。

shusukeueda commented 5 years ago

titanv で落ちたので、サイズが問題かもしれないので確かめてみます

shusukeueda commented 5 years ago

titanv に ClPy 環境を作ろうと思ったら ultima のビルドで失敗する (昨日 Slack で見たように Clang のバージョンが変なのが問題っぽい)

shusukeueda commented 5 years ago

titanv だと global work size (m, n) が local work size (16) の倍数じゃないと落ちる。 vega ではそうでなくても通るので、?

LWisteria commented 5 years ago

あ、規格上は倍数じゃないといけないはずですね・・・。なので、titanvが正解です。

shusukeueda commented 5 years ago

ですよね、なので、 ・titanv について examples_tests/test_gemm.py で m、n として 16 の倍数を与えるか、 あるいは m、n に応じてワークグループサイズを適当に決めるように sgemm.py を書き換えるか、 どちらがよさそうですか? ・vega について なんでいままで通ってたのかわからないのですが、なにか可能性は考えられますか?

LWisteria commented 5 years ago

CUDA側では当然、全体スレッド数はブロックサイズの倍数になっていたはずなので、それに合わせるべきです。

あと、vegaで通っていたのは、処理系依存ですね(「エラーにしなければならない」という規格ではないと思うので)

shusukeueda commented 5 years ago

あー ここ 書き換えたからですね。切り上げます

shusukeueda commented 5 years ago

@LWisteria テスト通ったので、確認お願いいたします。