Ubuntu 10.04 でMAGMAライブラリをコンパイルしようとしていますが、行き詰っています。
README ファイルから:
MAGMA をインストールするには、make.inc ファイルを変更して、CUDA、CPU BLAS、および LAPACK がシステムのどこにインストールされているかを示します。
make.inc.mkl、make.inc.acml、make.inc.goto、およびmake.inc.atlas に例が示され
、MKL、ACML、
GOTO BLAS、または ATLAS BLAS に対応してリンクする方法が示されています。make.inc
ファイルを適切に変更した後、「make」と入力すると、1) ディレクトリ「lib」に libmagma.a および libmagmablas.a ライブラリが作成されます。2) ディレクトリ「testing」にテスト ドライバが作成されます。
したがって、必要なパッケージをインストールします。
apt-get install libatlas-base-dev liblapack-dev libf2c2-dev gfortran
コピーmake.inc.atlas
しmake.inc
て CUDA パス、パス、nvcc
およびパスを変更し、 liblapack.a
2 つの不要なリンク ディレクトリを削除します。
完全な参照のために、ここにオリジナルがありmake.inc.atlas
ます:
#//////////////////////////////////////////////////////////////////////////////
# -- MAGMA (version 1.3.0) --
# Univ. of Tennessee, Knoxville
# Univ. of California, Berkeley
# Univ. of Colorado, Denver
# November 2012
#//////////////////////////////////////////////////////////////////////////////
#
# GPU_TARGET specifies for which GPU you want to compile MAGMA:
# "Tesla" (NVIDIA compute capability 1.x cards)
# "Fermi" (NVIDIA compute capability 2.x cards)
# See http://developer.nvidia.com/cuda-gpus
GPU_TARGET = Fermi
CC = gcc
NVCC = nvcc
FORT = gfortran
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
OPTS = -O3 -DADD_
F77OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_ -x f95-cpp-input
NVOPTS = -O3 -DADD_ --compiler-options -fno-strict-aliasing -DUNIX
LDOPTS = -fPIC -Xlinker -zmuldefs
LIB = /home/tomov/LIB/lapack-lite-3.1.1/lapack_LINUX64.a \
-lf77blas -latlas -lcblas -lf2c -lcublas -lm
CUDADIR = /usr/local/cuda-3.0
LIBDIR = -L/home/tomov/LIB/ATLAS/lib/Linux_UNKNOWNSSE2 \
-L/home/tomov/LIB/CLAPACK-3.1.1/F2CLIBS/ \
-L$(CUDADIR)/lib64
INC = -I$(CUDADIR)/include
そして、ここで、変更したファイルを次の場所に保存しましたmake.inc
。
#//////////////////////////////////////////////////////////////////////////////
# -- MAGMA (version 1.3.0) --
# Univ. of Tennessee, Knoxville
# Univ. of California, Berkeley
# Univ. of Colorado, Denver
# November 2012
#//////////////////////////////////////////////////////////////////////////////
#
# GPU_TARGET specifies for which GPU you want to compile MAGMA:
# "Tesla" (NVIDIA compute capability 1.x cards)
# "Fermi" (NVIDIA compute capability 2.x cards)
# See http://developer.nvidia.com/cuda-gpus
GPU_TARGET = Fermi
CC = gcc
NVCC = /usr/local/cuda-5.0/bin/nvcc
FORT = gfortran
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
OPTS = -O3 -DADD_
F77OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_ -x f95-cpp-input
NVOPTS = -O3 -DADD_ --compiler-options -fno-strict-aliasing -DUNIX
LDOPTS = -fPIC -Xlinker -zmuldefs
LIB = /usr/lib/liblapack.a \
-lf77blas -latlas -lcblas -lf2c -lcublas -lm
CUDADIR = /usr/local/cuda-5.0
LIBDIR = -L$(CUDADIR)/lib64
INC = -I$(CUDADIR)/include
だから、私は実行するmake
と、このエラーが発生します。そこで提案された解決策を適用し、コンパイルはこれまでのところ、この時点まで続きます。
make[1]: Entering directory `/usr/src/magma-1.3.0/testing'
gcc -O3 -DADD_ -DHAVE_CUBLAS -DGPUSHMEM=200 -I/usr/local/cuda-5.0/include -I../include -I../control -c /usr/local/cuda-5.0/src/fortran.c -o fortran.o
In file included from /usr/local/cuda-5.0/src/fortran.c:67:
/usr/local/cuda-5.0/src/fortran_common.h:405:2: error: #error unsupported Fortran compiler
make[1]: *** [fortran.o] Error 1
make[1]: Leaving directory `/usr/src/magma-1.3.0/testing'
make: *** [test] Error 2
私に何ができる?