@techreport{oai:ipsj.ixsq.nii.ac.jp:00241685, author = {水野, 将成 and 小泉, 透 and 津邑, 公暁}, issue = {20}, month = {Dec}, note = {三角関数は広範な分野で用いられる重要な数学的ツールである.しかし,その計算が命令セットに含まれることは少ないため,既存の命令を組み合わせてソフトウェア実装されるのが一般的であり,速度と精度を両立する実装の研究が行われている.その中でも,小泉らは融合積和演算(FMA)命令を前提としたアルゴリズムにより,既存のライブラリと比べ,高速かつ高精度を達成した.本稿ではこのアルゴリズムを,速度を落とさず,さらに高精度化できることを示す.本稿における高精度化は,次の 3 つを利用する.1 つ目は,省略されていた微小項を計算に組み込むための FMA 命令を,並列に挿入可能な点である.2 つ目は,事前計算テーブルの分割数を2倍にすることで,メモリフットプリントはやや増大するものの,多項式近似誤差を低減可能な点である.3 つ目は,三角関数の多項式近似において,係数を適切に調整することにより,多項式近似誤差を改善できる点である.これらの変更をすべて実装した結果,[0,220)の範囲の一様ランダムな倍精度浮動小数点数を 10 億回入力したとき,最近接丸めされないケース数が,小泉らの実装と比べ,sin 関数では約 90.57% 減少し,cos 関数では約 90.74% 減少した.また,提案実装の最大誤差は sin 関数では 0.50229 ULP(約 21.58% 減少),cos 関数では 0.50230 ULP(約 21.77% 減少)であった.そして,レイテンシやスループットのサイクル数悪化は,3.3% 未満にとどまった.}, title = {融合積和演算命令を生かした三角関数実装の高精度化}, year = {2024} }