Saya menggunakan OpenCL untuk pemrograman GPGPU, tapi sayangnya tidak ada dukungan integer 256 bit asli. Saya memutuskan untuk membagi bilangan bulat 256 bit menjadi empat bilangan bulat 64bit. Solusi yang cukup bagus untuk operasi dasar, tetapi bagaimana saya bisa mendapatkan modulonya?
Saya perlu melakukan hal ini:
(uint256) % (uint256)
Tapi dengan OpenCL, saya hanya bisa memiliki ini:
[ (uint64), (uint64), (uint64), (uint64) ] % [ (uint64), (uint64), (uint64), (uint64) ]
Jadi bagaimana saya bisa mencapainya? Algoritma apa yang harus saya gunakan, dan yang paling penting - algoritma apa yang paling mudah diterapkan?
P.S. Saya memerlukannya untuk kriptografi kunci publik.
EDIT: Saya tidak menerapkan penambahan maupun pengurangan.