rdrand相关内容
今天我想:好吧,即使对 NIST SP 800 的 RDRAND 实施有很大的怀疑-90A,它仍然是伪随机数生成器(PRNG)的硬件实现,对于非敏感应用程序必须足够好.所以我想在我的游戏中使用它而不是 Mersenne Twister. 所以,为了看看使用该指令是否有任何性能提升,我比较了以下两个代码的时间: //test.cpp#include 主函数(){无符号整数 r
..
我无法在 agner.org 上找到任何关于 agner.org 的信息href="http://en.wikipedia.org/wiki/RdRand" rel="noreferrer">RDRAND 指令.但是,该处理器存在,因此信息必须在那里. 编辑:实际上最新的优化手册提到了这个指令.它被记录为 解决方案 我写了 librdrand.这是使用 RdRand 指令用随机数填充缓冲
..
我正在 Visual Studio 2008 IDE 中处理 C++ 项目,我需要在其中使用英特尔的新 RDRAND 指令.我进行了快速搜索,MSDN 建议使用 _rdrand64_step 定义在 immintrin.h,我在 VS 2008 中没有. 在 32 位编译代码中,我可以像这样使用 asm 关键字: __asm{异或 eax, eax;RDRAND 指令 = 在 EAX 中
..
我正在 Visual Studio 2008 IDE 中处理 C++ 项目,我需要在其中使用英特尔的新 RDRAND 指令.我做了一个快速搜索,MSDN 建议使用 _rdrand64_step 定义在 immintrin.h,我在 VS 2008 中没有. 在 32 位编译代码中,我可以像这样使用 asm 关键字: __asm{异或 eax, eax;RDRAND 指令 = 在 EAX
..
有一个Intel DRNG库,可让您基于处理器的晶体熵效应使用随机数生成器. 库本身及其使用说明: https://software.intel.com/zh-cn/articles/intel-digital-random-number-generator-drng-library-implementation-and-uses 库中有一个示例,它仅打印随机生成的数组的内容.
..
这是对“> = qm"的后续操作.在扩展汇编程序中. 使用RDRAND时,它设置(或取消设置)进位标志(CF): char rc; unsigned int val; __asm__ volatile( "rdrand %0 ; setc %1" : "=r" (val), "=qm" (rc) ); // 1 = success, 0 = underflow if
..
我正在使用Intel Ivy Bridge CPU,并希望使用RDRAND操作码(如何通过C#调用此CPU指令?我在这里看到了从c#执行汇编代码的示例:在C#中使用x86/x64 CPUID 但是我不确定如何将其用于RDRAND.该代码无需检查执行该代码的CPU是否支持该指令. 我已经看过这个C ++示例,它执行来自英特尔的drng_samples : int rdrand32_
..
查看 根据指南,DRNG内部有四个128位缓冲区,它们为RDRAND的随机位提供服务. RDRAND本身将提供16位,32位或64位随机数据,具体取决于目标寄存器的宽度: rdrand ax ; put 16 random bits in ax rdrand eax ; put 32 random bits in eax rdrand rax ; put 64 random b
..
有没有现成的库,以便numpy程序可以使用intel硬件prng(rdrand)来填充随机数的缓冲区? 如果失败,则有人可以为我指出一些我可以改编或使用的C代码的正确方向(我将CPython和Cython与numpy结合使用,因此最小的包装程序就足够了.) 我想要的随机发生器是[0,1)之间的统一随机数. 解决方案 此代码将使用/dev/urandom(Unix)或CryptG
..
我已经用C ++编写了一个函数,让我可以通过内部函数利用新的Intel RdRand数字随机数生成器. __declspec(dllexport) int __stdcall GetRdRand32(PUINT32 pValue) { return _rdrand32_step(pValue); } 我已经包装好它,以便可以通过PInvoke在C#中使用它,并且可以按以下方式正常
..
我在看HJ Lu的补丁:更新x86 rdrand内在的。我不知道是否应该使用 _rdrand_u64 , _rdrand64_step ,或者是否有其他功能。看起来没有为他们编写测试用例。 似乎缺少手册页(来自Ubuntu 14,GCC 4.8.4): p> $ man -k rdrand rdrand:没有什么合适的。 如何使用 RDRAND intrins
..
我想从C#程序集中消耗英特尔的数字随机数发生器(Ivy Bridge中的RDRAND指令)。我看过cpp libs,但我希望有一个更“管理”的解决方案。任何想法? 解决方案 我能找到的最好的是: Rdrand手动和库(Windows *版本) Rdrand手动和库(Linux *和OS X *版本) 您可以下载并编译(链接等)自己的。如果你知道某个知道C ++的人,请从C#为
..
今天我想:好吧,即使对RDRAND实施 NIST SP 800-90A 有很大怀疑,它仍然是伪随机数发生器(PRNG)的硬件实现,其必须足够好用于非敏感应用。所以,我想在我的游戏而不是Mersenne Twister使用它。 因此,为了看看使用指令是否有任何性能增益,我比较了两个以下代码: // test.cpp #include int main()
..
英特尔C ++编译器和/或GCC是否支持以下内在函数,如自2012/2013年以来的MSVC? int _rdrand16_step(uint16_t *); int _rdrand32_step(uint32_t *); int _rdrand64_step(uint64_t *); int _rdseed16_step(uint16_t *); int _rdseed3
..
CPUID说,我有我的rdrand系统上,但rdrand指令抛出SIGILL。我使用的VMware Workstation 11里Linux Mint的,我用Google搜索工作站支持rdrand,他们说,自从9日的版本,它启用。主持人Proccess是i5-2550k,它应该支持rdrand。我能以某种方式解决这一问题?下面是GDB上市: 断点1,在0x08048060 _start() (G
..
我已经看到,英特尔似乎已经纳入一个新的装配函数来获取硬件获得真正的随机数。该指令的名称是 RdRand ,但只有细节少量似乎访问它在互联网上:的 http://en.wikipedia.org/wiki/RdRand 我关于这个新指令及其利用C ++ 11的问题有以下几点: 与 RdRand 真正的随机产生的随机数? (从不相关白噪声或量子过程产生的每一位?) 它是Ivy Bridg
..
我找不到在延迟或吞吐量的 agner.org 任何信息://en.wikipedia.org/wiki/RdRand“> RDRAND 指令。但是,这种处理器的存在,所以信息一定是在那里。 编辑:其实最新的优化手册提到了这一指令。据记载为< 200次循环,并且至少500MB /秒的上常春藤桥的总带宽。但一些更深入的关于该指令的统计数据将是巨大的,因为延迟和吞吐量是可变的。 解决方案
..