【发布时间】:2020-09-25 21:59:30
【问题描述】:
我使用 OpenCL 进行 GPGPU 编程,但不幸的是没有原生的 256 位整数支持。我决定将 256 位整数拆分为四个 64 位整数。基本操作的很好的解决方案,但我怎样才能得到它们的模数?
我需要这样做:
(uint256) % (uint256)
但是使用 OpenCL,我只能拥有这个:
[ (uint64), (uint64), (uint64), (uint64) ] % [ (uint64), (uint64), (uint64), (uint64) ]
那么我该如何实现呢?我应该使用什么算法,最重要的 - 什么是最容易实现的?
附:我需要它来进行公钥加密。
编辑:我没有实现加法和减法。
【问题讨论】:
-
谢谢!你有什么推荐的读物吗?
-
你能用铅笔做你想做的事吗?找一只橡皮鸭……慢慢说……你考虑过一些扩展的精度库吗?所以......看起来你还没有尝试过任何东西。请查看minimal reproducible example。
-
我试图在谷歌上搜索它,但我没有找到任何东西。 OpenCL不像C/C++,没有gmp之类的库。
-
"我没有实现加法和减法。" --> 你需要加法方面的帮助吗?
-
加减法。我将不胜感激。
标签: c++ c algorithm math opencl