問題タブ [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.

0 投票する
1 に答える
599 参照

delphi - Delphi 6/7 で Intel の RdRand オペコードを使用する

6 や 7 などの古いバージョンの Delphi で Intel の RdRand オペコードを使用する方法はありますか?

多分使ってる

asm db $... 終了;

か何か?数値を変数に格納するにはどうすればよいですか?

スピードは非常に重要です。これには外部ライブラリを使用できません。

0 投票する
2 に答える
3996 参照

c++ - RDRAND および RDSEED 組み込み関数 GCC および Intel C++

インテル C++ コンパイラーおよび/または GCC は、2012 / 2013 以降の MSVC のように、次の組み込み関数をサポートしていますか?

また、これらの組み込み関数がサポートされている場合、どのバージョンがサポートされているのでしょうか (コンパイル時定数を使用してください)。

0 投票する
1 に答える
661 参照

c - C言語では、Call Rand()とRdRandの速度の違いは何ですか?

前回の質問「C言語のRand()は何のアルゴリズムに基づいているのですか?」に続き、関数のアルゴリズムを知りたい理由は、RdRandとの速度差を比較したいからです。

1億回ループして実行時間を計算してみました。

通常、ハードウェアを使用して乱数を作成すると (RdRand)、速度が大幅に向上しますが、結果はそうでない場合 (Rand() 3 秒 VS RdRand 10 秒) を示します。

誰かがこれを理解するのを手伝ってくれますか?

どうもありがとう!

0 投票する
1 に答える
6097 参照

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++です。しかし、それらの使用方法やブロックの生成方法については教えてくれません。

0 投票する
2 に答える
515 参照

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 ページを参照してください。

0 投票する
3 に答える
1650 参照

c++ - VS 2008 でコンパイルされた 64 ビット コードに RDRAND 命令を追加する方法は?

Intel の新しいRDRAND命令を使用する必要がある Visual Studio 2008 IDE で C++ プロジェクトに取り組んでいます。簡単な検索を行ったところ、MSDN はで定義された_rdrand64_stepimmintrin.h組み込み関数を使用することを推奨していますが、これは VS 2008 にはありません。

asm32 ビットのコンパイル済みコードでは、次のようにキーワードを使用して回避できます。

ただし、x64asmではサポートされていません。

RDRANDこの命令を使用してプロジェクトを 64 ビット用にコンパイルする方法を教えてください。