原因の一つは、gbrです。SGLシステムではgbrをシステム変数領域の
先頭アドレスにしてそこから、相対ロードを使ってデータの読み書きを
行なっています。
しかしながら、現状ではgbrには何も設定されていないため、そのままでは動作
しません。
では、gbrを設定すれば動くかというとそうでもありません。というのは、
各々のCPUのキャッシュに依存する問題です。他方のCPUで更新されたデータは
キャッシュスルーアドレスを使って取ってこなければいけませんが、SGLの
各関数は、それらのデータをキャッシュスルーアドレスで取ってくるようには
考えられていません。SGLが相互のCPUで動いている以上、システム変数の
整合という問題は非常に大きいと考えられますので、正常に動くかどうかは、
保証できません。
以上のような理由からスレーブでSGLの関数郡を使用するのは避けてください。 SGLにおける基本的なスレーブの位置付けは計算用(ジオメトリエンジン) と考えてください。