-
Notifications
You must be signed in to change notification settings - Fork 13
MAGMAのインストール
atinfinity edited this page Mar 20, 2017
·
12 revisions
MAGMA(Matrix Algebra on GPU and Multicore Architectures)はNVIDIA GPUおよびマルチコアCPU向けの線形代数ライブラリである.ここではMAGMAのインストール手順についてまとめる(以降はCUDA ToolKitがインストール済であるものとして説明する).
公式ドキュメントにはMakefileを使ったインストール手順が書かれているが,CMakeLists.txtも提供されているため,ここではCMakeを使ったインストール手順を述べる.
ダウンロードページからMAGMAのソースコード(magma-2.2.0.tar.gz)を入手する.
下記コマンドでソースコードを展開する.
tar xfvz magma-2.2.0.tar.gz
cd magma-2.2.0
必要に応じて筆者が作成したパッチファイルを適用する. このパッチファイルを適用することで以下の変更が加えられる.必要に応じて変更のこと.
- Pascalアーキテクチャ向けのビルド設定追加
- MAGMAライブラリをshared libraryとして生成
- テストプログラムのビルドを無効化
筆者が作成したビルドスクリプトを実行する. このビルドスクリプトは以下のビルド設定となっている.必要に応じて変更のこと.
- Releaseビルド
- Fortran無効
- ターゲットとしてPascalアーキテクチャを指定
下記コマンドでビルドおよびインストールを行う.
make -j4
sudo make install
sudo ldconfig
デフォルトだと/usr/local/include
にヘッダファイル,/usr/local/lib
以下にライブラリファイルがインストールされる.
// あとで書きます
MAGMAを使ったプログラムのCMakeLists.txtの雛形は以下の通り.
cmake_minimum_required(VERSION 2.8)
project(magma_simple)
find_package(CUDA REQUIRED)
find_library(MAGMA_LIBRARY magma)
set(MAGMA_INCLUDE_DIR /usr/local/include)
file(GLOB SOURCES "*.cpp" "*.c" "*.h" "*.hpp")
if(CUDA_FOUND)
add_executable(magma_simple ${SOURCES})
include_directories(${MAGMA_INCLUDE_DIR} ${CUDA_INCLUDE_DIRS})
target_link_libraries(magma_simple ${MAGMA_LIBRARY} ${CUDA_LIBRARIES} ${CUDA_cublas_LIBRARY})
endif(CUDA_FOUND)
筆者は以下の環境で動作確認した.
- Ubuntu 16.04 64bit
- gcc 5.4.0
- CUDA 8.0
- MAGMA 2.2.0
- NVIDIA GTX 1060