問題タブ [rdrand]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Delphi 6/7 で Intel の RdRand オペコードを使用する
6 や 7 などの古いバージョンの Delphi で Intel の RdRand オペコードを使用する方法はありますか?
多分使ってる
asm db $... 終了;
か何か?数値を変数に格納するにはどうすればよいですか?
スピードは非常に重要です。これには外部ライブラリを使用できません。
c++ - RDRAND および RDSEED 組み込み関数 GCC および Intel C++
インテル C++ コンパイラーおよび/または GCC は、2012 / 2013 以降の MSVC のように、次の組み込み関数をサポートしていますか?
また、これらの組み込み関数がサポートされている場合、どのバージョンがサポートされているのでしょうか (コンパイル時定数を使用してください)。
c - C言語では、Call Rand()とRdRandの速度の違いは何ですか?
前回の質問「C言語のRand()は何のアルゴリズムに基づいているのですか?」に続き、関数のアルゴリズムを知りたい理由は、RdRandとの速度差を比較したいからです。
1億回ループして実行時間を計算してみました。
通常、ハードウェアを使用して乱数を作成すると (RdRand)、速度が大幅に向上しますが、結果はそうでない場合 (Rand() 3 秒 VS RdRand 10 秒) を示します。
誰かがこれを理解するのを手伝ってくれますか?
どうもありがとう!
gcc - RDRAND 組み込み関数の使用方法
私は HJ Lu のPATCH: Update x86 rdrand intrinsicsを見ていました。_rdrand_u64
、_rdrand64_step
、または他の機能があるかどうかはわかりません。それらのために書かれたテストケースはないようです。
また、man ページが不足しているようです (Ubuntu 14、GCC 4.8.4 から):
RDRAND
組み込み関数を使用して、たとえば 32 バイトのブロックを生成するにはどうすればよいでしょうか?
関連する質問は、 RDRAND および RDSEED 組み込み関数 GCC および Intel C++です。しかし、それらの使用方法やブロックの生成方法については教えてくれません。
c - Microsoft コンパイラで _rdrand_step 組み込み関数を使用できますか?
Microsoft のx64 (amd64) Intrinsics Listによると、Microsoft は RDRAND の組み込みを提供しています。
_rdrand16_step
_rdrand32_step
_rdrand64_step
ただし、このページでは、組み込みの可用性の検出については説明していません。[2]の脚注がありますが、Intel CPU でのみ利用可能であると書かれています。
2 つの質問があります。まず、組み込み関数の可用性をどのように検出できますか。つまり、 say の呼び出しを保護するためにどのプリプロセッサ マクロを使用すればよいかということ_rdrand64_step
です。
次に、AMD CPU で RDRAND にアクセスするにはどうすればよいですか。AMD のマニュアルによると、AMD も提供しています。
(さらにユーモラスなことに、Microsoft はページに amd64 Intrinsic List というタイトルを付けています。AMD を含まないのに、なぜ AMD64 Intrinsic List と呼ぶのですか???)
AMD および RDRAND 命令については、AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructionsの 278 ページを参照してください。
c++ - VS 2008 でコンパイルされた 64 ビット コードに RDRAND 命令を追加する方法は?
Intel の新しいRDRAND命令を使用する必要がある Visual Studio 2008 IDE で C++ プロジェクトに取り組んでいます。簡単な検索を行ったところ、MSDN はで定義された_rdrand64_stepimmintrin.h
組み込み関数を使用することを推奨していますが、これは VS 2008 にはありません。
asm
32 ビットのコンパイル済みコードでは、次のようにキーワードを使用して回避できます。
ただし、x64asm
ではサポートされていません。
RDRAND
この命令を使用してプロジェクトを 64 ビット用にコンパイルする方法を教えてください。