Intel Intrinsic関数をポートする場合において、ランダムに生成したテストデータを含んだテスト記述ファイルをx86-64 PCまたはサーバによって作成し、それをRISC-VやIBM Power、ARMに移動させて、テストを実行したほうが良いという結論に達した。これはネットワークアプリケーションなどを作るよりも良い方法である。理由を以下に記述する。
- 現在は、かなりの大容量のHDDストレージが使えるようになっている。なので、HDDを移動させてテストするという戦略が使用できる。テラバイト単位の情報をネットワークに流すのはちょっと心配になる。
- 暗号化が必要ない。
- テストのエビデンスが残しやすい。
- リアルタイム性が必要ないため、ネットワークアプリとしてテストフレームワークを作る必要性はない
- ネットワークアプリケーションを作ることは、ネットワークやセキュリティの知識なども必要である。
テスト記述ファイルには、IntelのIntrinsicに、ランダムに値を入力した入力値と、出力値がそれぞれ整理されて格納されている。x86-64 のLinux PCまたはサーバによって作成できる。
そのテスト記述ファイルを、RISC-Vなどのターゲットとなるコンピュータに何らかの形で移動させ、ポートコードを付加して、ポートコードにIntel Intrinsicに入れた値と同じ値を入れ、帰ってきた値が同じであることをチェックし、同じでなければ、エラーを出力する。
テストが正常に完了したら、レポートを吐く。
テスト用のファイルはIntel x86によって作成可能であるため、テストファイルをとりあえず作って、IBM PowerやRISC-Vにファイルを移動させ、ポートコードを人力でドキュメントを読みながら試行錯誤で作る、テストフレームワークを稼働させれば、コードのエラーやレイテンシが表示されるため、それを見て、ポートコードを修正するなどの戦略が使える。