インテル® DAAL 2018 デベロッパー・ガイド
インテル® DAAL は、ライブラリーを使用するアプリケーションを実行する計算環境の設定を管理する Environment クラスを提供します。このクラスのメソッドを利用して、使用するアプリケーションのスレッド数を指定したり、アプリケーションを実行するプロセッサーの種類をチェックすることができます。Environment クラスは単一で、インテル® DAAL ベースのアプリケーションでクラスの 1 つのインスタンスのみ利用できることを保証します。クラスのインスタンスにアクセスするには、インスタンスのポインターを返す getInstance() メソッドを呼び出します。クラスのインスタンスを取得したら、さまざまな目的に使用することができます。
プロセッサーの種類を検出します。
この操作を行うには、getCpuId() メソッドを呼び出します。
新しいインテル® アーキテクチャー・ベースのプロセッサーのディスパッチを有効にします。
この操作を行うには、enableInstructionsSet() メソッドを呼び出します。例えば、AVX512_4FMAPS および AVX512_4VNNIW 命令をサポートしているインテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 対応インテル® Xeon Phi™ プロセッサーを選択するには、avx512_mic_e1 パラメーターをメソッドに渡します。
指定されたコードパスにディスパッチを制限します。
この操作を行うには、setCpuId() メソッドを呼び出します。
インテル® DAAL ベースのアプリケーションで使用されるスレッド数を検出および変更します。
この操作を行うには、getNumberOfThreads() または setNumberOfThreads() メソッドをそれぞれ呼び出します。
Windows* 上のインテル® DAAL でシングルスレッドまたはマルチスレッド・モードを指定します。
この操作を行うには、setDynamicLibraryThreadingTypeOnWindows() メソッドを呼び出します。
C++: set_number_of_threads.cpp
Java*: SetNumberOfThreads.java
Python*: set_number_of_threads.py
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |