草庐IT

FermatLTParams

全部标签

c++ - 在 64 位机器上,我可以安全地并行操作 64 位四字的各个字节吗?

背景我正在对图像中的行和列进行并行操作。我的图像是8位或16位像素,我在64位机器上。当我对列进行并行操作时,两个相邻的列可能共享相同的32位int或64位long。基本上,我想知道我是否可以安全地并行操作同一四字的各个字节。最小测试我写了一个最小的测试函数,但我无法使它失败。对于64位long中的每个字节,我在p阶的有限域中同时执行连续乘法。我知道Fermat'slittletheorema^(p-1)=1modp当p为质数时。我为我的8个线程中的每一个改变值a和p,并且我执行k*(p-1)乘法一个。当线程完成时,每个字节都应该为1。事实上,我的测试用例通过了。每次运行时,我都会得到