問題タブ [intel-mkl]

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 に答える
651 参照

fft - 一部の条件での Intel-MKL FFT のパフォーマンス

現在、Intel の MKL 2D FFT ルーチンを使用しています。

パフォーマンスが 4 ~ 5 倍変化する状態に陥っています。

私がやっていることは、FFT ライブラリを使用して一種のバンドパス フィルターを実装することです。テストの結果は正しいですが、速度が問題です。

私が見ているのは、順方向 FFT で約 1.3 秒、逆方向 FFT で 1.3 ~ 6 秒です。

これを、FFT のフォワード パスの後に適用する重みまで追跡しました。重みは 0 から -1 の間で、6 秒を取得しているときはほとんど 0 です。時間を適用する前に重みを 1 に設定すると、1.3 秒になります。他のテストでは、重み 1 を使用せずにこの種の動作が示されます。

私の質問は、私が適用している値がどのようにしてこの種の速度低下を引き起こすのでしょうか? 実行時間の小さな変化は理解できましたが、この劇的な変化は理解できませんでした。

ありがとう、ジムK

これが FFT の MKL バージョンに固有のものなのか、それとも一般的な問題なのかはわかりません。

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

fortran - IMSL 使用時の MKL エラー

MKL を使用した Intel Virtual Fortran で IMSL を使用しています。IMSL のルーチンを使用しようとしました。正常にコンパイルされましたが、ファイルを実行しようとすると、次のようなエラーが発生しました。

以下は私が使用しているコードです:

この問題を解決するにはどうすればよいですか?

USE EVCRG_INT を追加した後

エラー情報が表示されます:

ありがとう。

IMSL USER'S GUIDE には、次のように書かれています。

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

python - なぜscipyはLapackpbsv(バンドの場合はb、たとえばlinalg.solveh_banded)を公開しますが、ptsv(三重対角の場合はt)を公開しないのですか?

scipy.linalg.solveh_bandedのソースを見ると、Lapackpbsvをラップしているだけです。Lapack ptsv関数によって提供されるはずの三重対角(エルミート、または私の場合は実際の対称)システム用のより効率的なソルバーを探しています。さらに、これは実際の問題ではないはずですが、主対角線に沿った(すべて正の)値のダイナミックレンジが大きすぎると、solveh_bandedがクラッシュします(丸めによって最小値が事実上負に見えるようになると思いますので、負の固有値を持っていると見なされます)、三重対角固有のルーチンがこの問題にヒットしない可能性があります。

Lapackについての私の読書から、ptsvはpbsvを持つすべてのディストリビューションに含まれるべきであるように思われます(ドキュメントは常にそれらを一緒にリストします)。どちらがより効率的かはわかりませんが(pbsvは対称であるが任意の帯域幅であると想定し、ptsvは三重対角であるが必ずしも対称であるとは想定していません)、ptsvを試す価値があるようです。

残念ながら、ptsvはscipyに公開されていないようです。これは、実際にはscipy.linalg.flapackに含まれていないため、scipy.linalg.get_lapack_funcs(('ptsv'、))からは利用できないことを意味します。

scipyとのFortran/Lapackのリンクは複雑であることに気づきましたが、pbsvとptsvの扱いが異なる理由を誰かが知っていますか?pbsvのようにptsvをラップするために手動で編集できるものはありますか(残念ながら、flapackは「.so」として提供されているようで、行き止まりになりました)。

FWIWIntelMKLでEnthoughtEPDを使用しています。ただし、scipy.linalg(分布に依存しない)には常にsolveh_bandedが含まれていますが、三重対角ソルバーがないことを考えると、EPD/MKLの問題よりも深くなければならないと思います。

0 投票する
0 に答える
316 参照

c++ - mkl 乱数ジェネレーターと FLT_MAX

mkl Intel の疑似乱数ジェネレーターを使用しています。rng の最大境界と最小境界を定義できるように、独自の wrappnig メソッドを作成しました。ただし、境界の値が FLT_MIN FLT_MAX を超えると機能しないようです。実際に FLT_MAX とは何なのだろうか。大きな浮き輪?超えてはいけない架空の値?FLT_MIN と FLT_MAX の間でサンプリングすることはできませんか? 対処方法?

ありがとうございます。

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

numpy - 誇大宣伝されたIntelMKLNumpyビルドがPCでのATLASビルドよりも遅いのはなぜですか?

Ubuntu 11.04、Ubuntu 12.04、WindowsXPSP3をすべて「デュアルブート」して更新しました。PCはかなり古いIntelCeleronD CPU 3.06GHz、2GB RAM

Ubuntu 11.04ではNumpyをATLASでコンパイルしています(ATLASはソースからコンパイルしています)
Ubuntu 12.04ではNumpyを最新のMKL、icc、ifortでビルドしてい
ますWindows XPではNumpyとMKLを使用しています(Christoph Gohlkeから提供されたPythonパッケージから)
詳細ここ: http: //pastebin.com/raw.php?i = wxuFbyVg

私は簡単に試しました:
%timeit np.dot(np.ones((1000,1000)), np.ones((1000,1000)))

そしてこの結果を得ました:

上記は悪い例だと思い、利用可能な多くの比較の1つを検索しました。つまり、最初のGoogleヒット:http ://dpinte.wordpress.com/2010/01/15/numpy-performance-improvement-with-the-mkl/

私は同じ機能をテストしました:

したがって、ATLASでコンパイルされたNumpyは、何らかの理由で最良の結果をもたらします。
誰かが問題になる可能性があることを知っていますか?

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

c++ - MKL IntelC++および準乱数ジェネレーター

乱数の計算にMKLIntelを使用しています。準ランダムアルゴを使用しています。また、生成される数はまったくランダムではないように思えます。準ランダムアルゴは、スペースの占有を最大化するサンプルポイントを提供することを理解しています。したがって、それらは完全に予期せずランダムである必要はありませんが、スペースを適切にカバーするためだけに必要です。

この番号をランダムに使用したいので、予想どおりに並べ替えないようにします。そのため、これらの「ランダム」ポイントを使用する前に、それらを並べ替えます。

MKLライブラリを正しく使用していませんか?それとも、私が述べたように、ポイントは完全にランダムではなく、空間全体をカバーすることであるため、それは正常に聞こえますか?

いくつかのMKLまたは準ランダム生成の場合。そこのユーザー、アドバイスを歓迎します。

よろしく。

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

dynamic-linking - Linux Intel コンパイラ (icc) で mkl とのリンクの問題に直面する

Linuxのコマンドラインは次のとおりです。

このコマンドを実行した後: I got a long line of undefined reference errors . 私はEclipseでも試しましたが、そこでもリンクの問題を解決できませんでした。誰かが次のような小さなコードを実行するのを手伝ってくれたらうれしいです:

私のサーバー

ICC 64bitを搭載。

前もって感謝します。

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

python - ubuntu 12.04でmklを使用してscipyをビルドできません

Intel MKL を使用して 64 ビット Ubuntu 12.04 で numpy と scipy をビルドしようとしています。

すべての前提条件をインストールしました。INTEL C++ コンパイラと Fortran コンパイラのバージョンはすべて 2011 sp1 10.319 で、MKL はその中のバージョンです。

INTEL の Web サイトのインストール手順に従っています。

numpy のビルドとインストールに成功しました。

scipy をビルドするときに、次のような問題に遭遇しました。

インストール行の前に sudo を置こうとすると、次のようになりました。

誰でも私を助けることができますか?

ありがとう!

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

c++ - double、float、および int データ型を使用したインテル® MKL 行列積のパフォーマンス

インテル® MKL ライブラリーが提供する Boost::uBLAS インターフェイス (mkl_boost_ublas_matrix_prod.hpp を含む) を使用して行列乗算を実行するための実験を行っています。私のデータは単なる整数であるため、マトリックス テンプレートの型を int に変更しようとしたところ、パフォーマンスが大幅に低下しました。主に、利用可能な 12 コアではなく 1 つの CPU コアのみを使用するコードが原因のようです。MKL ドキュメントには、整数が MKL の OpenMP マルチスレッド機能を使用していない理由を説明するものは見つかりませんでした (MKL をまったく使用していなかったと思いますか?)。

さらに、フロートと比較した場合、ダブルでは 50% のパフォーマンス ヒットが見られます。

質問:

  1. float と double の違いはなぜですか?
  2. 整数を使用できないのはなぜですか?

以下のコードからの私の結果は次のとおりです。

使用されるコード (必要に応じて両方の matrix< type > 行を置き換えます):

以下でコンパイル:

プロセッサー:

MKL は何の役にも立たないと彼らが言うようにハイパースレッドを使用しないので、24 ではなく 12 のスレッドを使用できます。

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

python - EnthoughtPythonのスレッド化されたFFT

Numpy / SciPyの高速フーリエ変換(FFT)はスレッド化されていません。Enthought Pythonには、スレッド化されたFFTが可能なIntelMKL数値ライブラリが付属しています。これらのルーチンにアクセスするにはどうすればよいですか?