summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: d5577d51d5620b2d017faf5e49e1a1e368c272b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Maintainer: pingplug <pingplug@foxmail.com>
# Contributor: cornholio <vigo.the.unholy.carpathian@gmail.com>

##### Configuration Options
# Specify GPU compute capability Fermi (2.x) or Kepler (3.x) or Maxwell (5.x)
#_GPU_TARGET=Fermi
#_GPU_TARGET=Kepler
#_GPU_TARGET=Maxwell
#_GPU_TARGET=Pascal
#_GPU_TARGET=Volta
# Can also be one of these: sm_20 sm_30 sm_50 sm_60 sm_70 etc.
_GPU_TARGET=sm_30
# Set _USE_CMAKE=1 to use CMake
_USE_CMAKE=1
##### End

pkgname=magma
pkgver=2.4.0
pkgrel=1
pkgdesc="Provides a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current 'Multicore+GPU' systems (with CUDA)"
arch=('x86_64')
url="http://icl.cs.utk.edu/magma/"
license=('custom')
depends=("cuda>=6.5.0"
         'gsl'
         'python'
         'openblas-lapack')
makedepends=('gcc-fortran'
             'cmake')
options=('staticlibs')
source=("http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz")
sha256sums=('4eb839b1295405fd29c8a6f5b4ed578476010bf976af46573f80d1169f1f9a4f')

build() {
  cd "${srcdir}/magma-${pkgver}"
  mkdir build-shared && pushd build-shared
  cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS:BOOL=ON \
    -DGPU_TARGET=${_GPU_TARGET} \
    -DCUDA_HOST_COMPILER=/opt/cuda/bin/gcc \
    -DCMAKE_INSTALL_PREFIX=/opt/magma ..
  make magma magma_sparse
  popd
  mkdir build-static && pushd build-static
  cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS:BOOL=OFF \
    -DGPU_TARGET=${_GPU_TARGET} \
    -DCUDA_HOST_COMPILER=/opt/cuda/bin/gcc \
    -DCMAKE_INSTALL_PREFIX=/opt/magma ..
  make magma magma_sparse
  popd
}

package() {
  cd "${srcdir}/magma-${pkgver}/build-shared"
  # do not build test
  sed -i "s/install: preinstall/install: magma_sparse/g" Makefile
  make DESTDIR="${pkgdir}" install
  cd "${srcdir}/magma-${pkgver}/build-static"
  # do not build test
  sed -i "s/install: preinstall/install: magma_sparse/g" Makefile
  make DESTDIR="${pkgdir}" install

  mkdir -p ${pkgdir}/opt/magma/example
  cp -ru ${srcdir}/magma-${pkgver}/example/* ${pkgdir}/opt/magma/example/
  mkdir -p ${pkgdir}/opt/magma/testing
  cp -ru ${srcdir}/magma-${pkgver}/testing/* ${pkgdir}/opt/magma/testing/
  rm -rf ${pkgdir}/opt/magma/lib/pkgconfig
  mkdir -p ${pkgdir}/usr/share/licenses/magma
  cp ${srcdir}/magma-${pkgver}/COPYRIGHT ${pkgdir}/usr/share/licenses/magma/LICENSE
}

# vim:set ts=2 sw=2 et: