Intel FPGAでOpenCLを動かすためにゴニョゴニョいじっていたらこんなエラーに遭遇した.
とりあえず下記のように何も考えずにrestricを前につければ出なくなる.
(意味的には,引数にとってるポインタちゃんたちが同じ領域を示したりしないよっていう制約だった気がする.)
restrictを付ける付けないで,実行速度は1msecほど変化した.
付けない場合 -> 1.83933 [ms]
付けた場合 -> 0.95214 [ms]
※余談
カーネルの実行時間の計測に,clGetEventProfilingInfo()を使ってstart, endを計測.
しかし,計測してみると18446233763891.16797[ms] とか出てて,
なんじゃこりゃとか思ってendの中身を見ると,endに何も入ってないやないかーい😇
カーネルのキューイングは非同期なので,キューイング直後にevent時間取得したい場合は, clWaitForEvents()`が必要だったよ,という余談でした.
2018年3月5日月曜日
2018年3月2日金曜日
パーセプトロンの実装
パーセプトロンのアルゴリズムを学習するためにpythonでサクッと実装.
正しいかは未保証.グラフ書いたら分かるかもねー
とりあえず,何かしら学習が進んで分類されてる感じはする.
クラスが3つ以上の奴とか,ロジスティック回帰のアルゴリズムも勉強したい.
(数学的に深く理解したいとは言っていない)
クラスが3つ以上の奴とか,ロジスティック回帰のアルゴリズムも勉強したい.
(数学的に深く理解したいとは言っていない)
2018年3月1日木曜日
登録:
投稿 (Atom)