Package Details: magma 2.0.0-1

Git Clone URL: https://aur.archlinux.org/magma.git (read-only)
Package Base: magma
Description: Provides a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current 'Multicore+GPU' systems. (with CUDA)
Upstream URL: http://icl.cs.utk.edu/magma/
Keywords: cuda magma
Licenses: custom
Submitter: cornholio
Maintainer: pingplug
Last Packager: pingplug
Votes: 3
Popularity: 0.000000
First Submitted: 2012-05-24 05:11
Last Updated: 2016-02-11 14:14

Latest Comments

gustawho commented on 2016-08-11 01:33

If you get the error:

/usr/bin/ld: cannot find -lopenblas

try creating a symbolic link to /usr/lib/libblas.so:

# ln -s /usr/lib/libblas.so /usr/lib/libopenblas.so

d.brewer commented on 2015-05-04 12:06

I have submitted a package, magma-atlas, which is the most up-to-date version but built using the atlas-lapack package from the AUR instead of acml and cblas. Hope this helps :)

paul commented on 2015-01-12 21:01

I made some changes to the PKGBUILD to install the 1.6.0 instead.

--- PKGBUILD.old 2014-01-15 08:41:29.000000000 -0800
+++ PKGBUILD.new 2015-01-12 12:55:26.275061816 -0800
@@ -3,13 +3,13 @@

##### Configuration Options
# Specify GPU compute capability Tesla (1.x) or Fermi (2.x) or Kepler (3.x)
-_GPU_TARGET=Tesla
-#_GPU_TARGET=Fermi
+#_GPU_TARGET=Tesla
+_GPU_TARGET=Fermi
#_GPU_TARGET=Kepler
##### End

pkgname=magma
-pkgver=1.4.1
+pkgver=1.6.0
pkgrel=1
pkgdesc="Provides a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current 'Multicore+GPU' systems."
arch=("i686" "x86_64")
@@ -18,11 +18,10 @@
depends=("cuda>=5.0.0" "gcc-libs-multilib" "gsl" "python" "acml-gfortran" "cblas")
makedepends=("acml-gfortran")
options=('staticlibs')
-sha1sums=('3e6bc7c2d6500508134b6cdf48985f7c8b94c89b')
+sha1sums=('1eee8d2e5da19974bd89ccd8609f5901eb55c0ae')
source=("http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${pkgver}.tar.gz")

-build() {
-
+prepare() {
cd ${srcdir}/magma-${pkgver}

# Fix Makefile
@@ -35,21 +34,40 @@
sed -i 's^_mv^^g' make.inc
sed -i 's^-L$(ACMLDIR)/gfortran64/lib^-L$(ACMLDIR)^g' make.inc
sed -i 's^-L$(CBLASDIR)/lib^-L$(CBLASDIR)^g' make.inc
+ sed -i '/CFLAGS = -O3 -DADD_ -fopenmp -DMAGMA_SETAFFINITY -DMAGMA_WITH_ACML/a CXXFLAGS = -O3 -DADD_ -fopenmp -DMAGMA_SETAFFINITY -DMAGMA_WITH_ACML' make.inc

- make clean
- make all
- make prefix="${srcdir}/install/" install
+ msg "Modified make.inc"
+}

- make clean
- sed -i 's^-O3^-fPIC -O3^g' make.inc
- sed -i 's^-fopenmp^-fPIC -fopenmp^g' make.inc
- sed -i '/NVOPTS =/c NVOPTS = -O3 -DADD_ -Xcompiler "-fno-strict-aliasing -fPIC"' make.inc
- make shared
+build() {
+ cd ${srcdir}/magma-${pkgver}
+
+ make clean
+ msg "Building static libraries"
+ make all
make prefix="${srcdir}/install/" install
+ msg "Static library compiliation complete"
+
+ msg "Building shared libraries"
+ make clean
+ sed -i 's^-O3^-fPIC -O3^g' make.inc
+ sed -i 's^-fopenmp^-fPIC -fopenmp^g' make.inc
+ sed -i '/NVCCFLAGS =/c NVCCFLAGS = -O3 -DADD_ -Xcompiler "-fno-strict-aliasing -fPIC"' make.inc
+ make shared
+ make prefix="${srcdir}/install/" install
+ msg "Shared library compiliation complete"
+}
+
+check() {
+ msg "Making testing"
+ cd ${srcdir}/magma-${pkgver}
+ make testing
+ msg "Testing complete"
}

package(){
- mkdir -p ${pkgdir}/opt/magma/testing
+
+ mkdir -p ${pkgdir}/opt/magma/testing
cp -ru ${srcdir}/magma-${pkgver}/testing/* ${pkgdir}/opt/magma/testing/
cp -ru ${srcdir}/install/* ${pkgdir}/opt/magma/

cornholio commented on 2014-01-15 16:41

@GloW
The problem was that the Makefile made assumptions about the directory structure of acml and cblas, descending into directories that didn't exist (/usr/lib/acml/gfortran/lib and /usr/lib/lib). I have edited the Makefile to simply use the library directories as provided. No symlinking is needed.

Also package version is now updated to 1.4.1

GloW commented on 2014-01-15 14:48

It is still incorrect, i get :
gcc -fopenmp testing_z_cublas_v2.o -o testing_z_cublas_v2 \
libtest.a lin/liblapacktest.a -L../lib -lmagma \
-L/usr/lib/acml/gfortran/lib -L/usr/lib/lib -L/opt/cuda/lib64 \
-lacml -lacml -lcblas -lcublas -lcudart -lstdc++ -lm

acml lib path should be :
/usr/lib/acml/gfortran

Fix is to create a symbolic link as hoangngan suggested
ln -s /usr/lib/acml/gfortran /usr/lib/acml/gfortran/lib

GloW commented on 2014-01-15 14:45

It is still incorrect
acml lib path should be :
/usr/lib/acml/gfortran
instead of
/usr/lib/acml/gfortran/lib

GloW commented on 2014-01-15 14:45

It is still incorrect
acml lib path should be :
/usr/lib/acml/gfortran
instea

cornholio commented on 2013-12-11 00:46

For some reason I don't get a compiler error, but you're completely correct about those paths. The issue has been corrected. Thank you.

hoangngan commented on 2013-12-10 22:07

I just made a full system update and tried to install magma. However, for the current PKGBUILD file, it gave me the error of not finding -lacml.
The problem is it tried to find acml and cblas in
/var/lib/acml/gfortran/lib
and
/var/lib/lib
To resolve this issue, I had to modify PKGBUILD as follow:
- For acml, change /var/lib/acml/gfortran to /usr/lib/acml/gfortran
- For cblas, change /var/lib to /usr.
Then make a symlink to gfortran inside gfortran as follow:
ln -s /usr/lib/acml/gfortran /usr/lib/acml/gfortran/lib

feng commented on 2013-03-21 15:12

1.3.0 is out, please udpate.

All comments