インテル® Data Analytics Acceleration Library (インテル® DAAL) は、データの取得から、前処理、変換、データマイニング、モデリング、検証、意思決定まで、すべてのデータ解析段階をカバーする、インテル® アーキテクチャー向けに最適化されたビルディング・ブロックのライブラリーです。
インテル® DAAL は、スタンドアロンまたは次のスイート製品の一部としてインストールされます。
インテル® Parallel Studio XE 2016 Composer Edition、Professional Edition、または Cluster Edition
https://software.intel.com/en-us/intel-parallel-studio-xe からダウンロードできます。
システム要件 (英語)
インテル® DAAL は <install dir>\daal ディレクトリーにインストールされます。
デフォルトでは、<install dir> は C:\Program files (x86)\IntelSWTools\compilers_and_libraries_2016.x.xxx\windows です。
インストールの詳細は、インテル® DAAL インストール・ガイド (英語) を参照してください。
Microsoft* Visual Studio* 統合開発環境 (IDE) で、ビルドするインテル® DAAL 用 C++ プロジェクトを開くか作成します。
インテル® C++ コンパイラー 16 の /Qdaal オプションを指定するか、IDE でプロジェクトを設定します。
/Qdaal コンパイラー・オプションの詳細は、『インテル® コンパイラー・ユーザー・リファレンス・ガイド』 (デフォルトの場所は C:\Program files (x86)\IntelSWTools\documentation_2016\ja\compiler_c\common\core\index.htm) を参照してください。
この短いアプリケーションは、インテル® DAAL でコレスキー分解を計算します。
/*******************************************************************************
! Copyright(C) 2014-2015 Intel Corporation. All Rights Reserved.
!
! The source code, information and material ("Material") contained herein is
! owned by Intel Corporation or its suppliers or licensors, and title to such
! Material remains with Intel Corporation or its suppliers or licensors. The
! Material contains proprietary information of Intel or its suppliers and
! licensors. The Material is protected by worldwide copyright laws and treaty
! provisions. No part of the Material may be used, copied, reproduced,
! modified, published, uploaded, posted, transmitted, distributed or disclosed
! in any way without Intel's prior express written permission. No license
! under any patent, copyright or other intellectual property rights in the
! Material is granted to or conferred upon you, either expressly, by
! implication, inducement, estoppel or otherwise. Any license under such
! intellectual property rights must be express and approved by Intel in
! writing.
!
! *Third Party trademarks are the property of their respective owners.
!
! Unless otherwise agreed by Intel in writing, you may not remove or alter
! this notice or any other notice embedded in Materials by Intel or Intel's
! suppliers or licensors in any way.
!
!*******************************************************************************
! Content:
! Cholesky decomposition sample program.
!******************************************************************************/
#include "daal.h"
#include <iostream>
using namespace daal;
using namespace daal::algorithms;
using namespace daal::data_management;
const size_t dimension = 3;
double inputArray[dimension *dimension] =
{
1.0, 2.0, 4.0,
2.0, 13.0, 23.0,
4.0, 23.0, 77.0
};
int main(int argc, char *argv[])
{
/* 配列から入力数値テーブルを作成 */
SharedPtr<NumericTable> inputData = SharedPtr<NumericTable>(new Matrix<double>(dimension, dimension, inputArray));
/* デフォルトの手法を使用してコレスキー分解を計算するアルゴリズム・オブジェクトを作成 */
cholesky::Batch<> algorithm;
/* アルゴリズムの入力を設定 */
algorithm.input.set(cholesky::data, inputData);
/* コレスキー分解を計算 */
algorithm.compute();
/* コレスキー係数のポインターを取得 */
SharedPtr<Matrix<double> > factor =
staticPointerCast<Matrix<double>, NumericTable>(algorithm.getResult()->get(cholesky::choleskyFactor));
/* コレスキー係数の最初の要素を出力 */
std::cout << "The first element of the Cholesky factor: " << (*factor)[0][0];
return 0;
}
新しい C++ ファイルをプロジェクトに追加して、サンプルコードをペーストします。
ファイルを保存します。
アプリケーションをコンパイルして実行します。
インテル® Parallel Studio の Microsoft* Visual Studio* C++ 統合コンポーネントをインストールしなかった場合、またはアプリケーションとリンクするインテル® DAAL ライブラリーをより細かく制御したい場合は、Visual Studio* プロジェクトを直接設定してください。
インテル® DAAL のスレッドモードとリンク方法に応じて、プロジェクトに次のライブラリーを追加します。
シングルスレッド (スレッド化されていない) インテル® DAAL |
マルチスレッド (内部的にスレッド化されている) インテル® DAAL |
|
---|---|---|
スタティック・リンク |
daal_core.lib daal_sequential.lib |
daal_core.lib daal_thread.lib |
ダイナミック・リンク |
daal_core_dll.lib |
daal_core_dll.lib |
リンク方法に関係なく、インテル® DAAL ライブラリーが依存するライブラリーをプロジェクトに追加してください 。
[インクルード ディレクトリ] を選択します。インテル® DAAL インクルード・ファイルのディレクトリー (%DAALROOT%\include) を追加します。
[ライブラリ ディレクトリ] を選択します。daalvar.bat スクリプトで指定したアーキテクチャー・パラメーターと一致するインテル® DAAL ライブラリーを含むアーキテクチャー固有のディレクトリー (例えば、%DAALROOT%\lib\intel64_win) を追加します。
マルチスレッド・ランタイム・ライブラリー libiomp5md.lib と tbb.lib を含むアーキテクチャー固有のディレクトリー (例えば、<install dir>\compiler\lib\intel64_win および <install dir>\tbb\lib\intel64_win\vc_mt) を追加します。
[実行可能ファイル ディレクトリ] を選択します。インテル® DAAL ダイナミック・リンク・ライブラリーを含むアーキテクチャー固有のディレクトリー (例えば、<install dir>\redist\intel64_win\daal) を追加します。
マルチスレッド・ランタイム・ライブラリーを含むアーキテクチャー固有のディレクトリー (例えば、<install dir>\redist\intel64_win\compiler および <install dir>\redist\intel64_win\tbb\vc_mt) を追加します。
Java* のサンプルコードをビルドして実行するには、環境変数の設定時に daalvars.bat スクリプトで指定したアーキテクチャー・パラメーターに対応するバージョンの Java* 仮想マシンを使用してください。
サンプルをビルドします。
Java* のサンプル・ディレクトリーに移動して、launcher コマンドを build パラメーター付きで実行します。
cd <install_dir>\daal\examples\java
launcher.bat build %PATH_TO_JAVAC%
コマンドを実行すると、実行ファイル *.class (例えば、CholeskyBatch.class) が
<install dir>\daal\examples\java\com\intel\daal\examples\<example name> ディレクトリーに生成されます。
サンプルを実行します。
Java* のサンプル・ディレクトリーに移動して、make コマンドを run パラメーター付きで実行します。
cd <install_dir>\daal\examples\java
launcher.bat {ia32|intel64} run %PATH_TO_JAVAC%
daalvar.bat スクリプトで指定したアーキテクチャー・パラメーターを指定します。
指定したアーキテクチャーに応じて、.\_results\ia32 または .\_results\intel64 ディレクトリーにある <example name>.res ファイルに結果が出力されます。
ドキュメント |
説明 |
---|---|
次の情報が含まれます。
|
|
製品で利用可能なインストール・オプションの説明とインストール手順が含まれます。 |
|
インテル® DAAL についての次の情報が含まれます。
|
|
<install dir>\daal\examples フォルダー |
インテル® DAAL API の使用方法を説明するプログラムのコレクション。 |
C:\Program files (x86)\IntelSWTools\samples_2016\en\daal フォルダー (デフォルトのインストール・パスの場合) |
プログラムに追加して Hadoop*、Spark*、MPI (メッセージ・パッシング・インターフェイス)、mySQL* とともに使用できる、さまざまなアルゴリズムのコードサンプルのコレクション。 |
日本語の最新ドキュメントを入手できます。 | |
最新情報を日本語で参照できます。 |
Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
Microsoft、Windows、Windows ロゴは、アメリカ合衆国および / またはその他の国における Microsoft Corporation の商標または登録商標です。
Java は、Oracle および / または関連会社の登録商標です。
© 2015 Intel Corporation. 無断での引用、転載を禁じます。
インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。 改訂 #20110804 |