除算の整数レイテンシが非常に高く、数百サイクルのGPUデバイスに取り組んでいます。部門を最適化することを目指しています。
セット{1,3,6,10}にある分母によるすべての除算。ただし、分子は実行時の正の値であり、およそ32000以下です。メモリの制約により、ルックアップテーブルは適切なオプションではない場合があります。
あなたは代替案を考えることができますか?浮動小数点の逆数を計算し、それらを使用して分子を乗算することを考えました。
ありがとう
PS。人々に感謝します。ビットシフトハックは本当にクールです。丸めから回復するには、次のCセグメントを使用します。
// q = m/n
q += (n*(j +1)-1) < m;