summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans-Nikolai Viessmann2019-06-28 17:29:22 +0100
committerHans-Nikolai Viessmann2019-06-28 17:29:22 +0100
commit85a646421156419290a6a1d16cf023e916310c41 (patch)
tree0c1385012280f025cf1d62470a099193cb9ca6bd
downloadaur-85a646421156419290a6a1d16cf023e916310c41.tar.gz
initial release of 5.7.0
-rw-r--r--.SRCINFO24
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD62
-rw-r--r--cuda-component-build-targets.patch15
-rw-r--r--papi-utils-ldpath-fix.patch63
5 files changed, 170 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d2e59faf6ee4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = papi-cuda
+ pkgdesc = Performance Application Programming Interface (with CUDA componet)
+ pkgver = 5.7.0
+ pkgrel = 1
+ url = http://icl.cs.utk.edu/papi/
+ arch = x86_64
+ arch = i686
+ license = BSD
+ depends = glibc
+ depends = gcc-fortran
+ depends = cuda
+ optdepends = openmpi: for MPI applications
+ provides = papi=5.7.0
+ conflicts = papi
+ conflicts = libpfm4
+ source = http://icl.cs.utk.edu/projects/papi/downloads/papi-5.7.0.tar.gz
+ source = cuda-component-build-targets.patch
+ source = papi-utils-ldpath-fix.patch
+ sha256sums = d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589
+ sha256sums = 0b93df095425fd5d5a9166bb4d62a71a9ab62708b9364cb9da4193d2b60a890f
+ sha256sums = d9658f3f950d398b62138d82340b5ef2b5aa79774665e8c634cf5c320a43220d
+
+pkgname = papi-cuda
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..d1f5a8245ba1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*.tar.gz
+*.tar.xz
+*.sig
+
+src/
+pkg/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..453bf206ff09
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Hans-Nikolai Viessmann <hans AT viess.mn>
+# Contributor: eolianoe <eolianoe At GoogleMAIL DoT com>
+# Contributor: jedbrown
+
+pkgname=papi-cuda
+pkgver=5.7.0
+pkgrel=1
+pkgdesc='Performance Application Programming Interface (with CUDA componet)'
+arch=('x86_64' 'i686')
+url='http://icl.cs.utk.edu/papi/'
+license=('BSD')
+provides=("papi=${pkgver}")
+conflicts=('papi' 'libpfm4')
+depends=('glibc' 'gcc-fortran' 'cuda')
+optdepends=('openmpi: for MPI applications')
+source=("http://icl.cs.utk.edu/projects/papi/downloads/papi-${pkgver}.tar.gz"
+ 'cuda-component-build-targets.patch'
+ 'papi-utils-ldpath-fix.patch')
+sha256sums=('d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589'
+ '0b93df095425fd5d5a9166bb4d62a71a9ab62708b9364cb9da4193d2b60a890f'
+ 'd9658f3f950d398b62138d82340b5ef2b5aa79774665e8c634cf5c320a43220d')
+
+prepare() {
+ cd "${srcdir}/papi-${pkgver}/src"
+
+ # resolve issue with NVCC not understand `-Wl` flag
+ patch -p1 < $srcdir/cuda-component-build-targets.patch
+ # resolve problem with LDPATHS placed at wrong point in CC commandline
+ patch -p1 < $srcdir/papi-utils-ldpath-fix.patch
+}
+
+build() {
+ cd "${srcdir}/papi-${pkgver}/src"
+
+ export CFLAGS="-fPIC ${CFLAGS}"
+ export CC=gcc # for systems with other CC installed
+ export CUDA_DIR=/opt/cuda
+ export CUPTI_DIR=/opt/cuda/extras/CUPTI
+ ./configure \
+ --prefix=/usr \
+ --with-static-lib=yes --with-shared-lib=yes \
+ --mandir=/usr/share/man \
+ --with-perf-events \
+ --with-components="cuda"
+
+ make
+}
+
+check(){
+ cd "${srcdir}/papi-${pkgver}/src"
+
+ make test
+}
+
+package() {
+ cd "${srcdir}/papi-${pkgver}/src"
+
+ make DESTDIR="${pkgdir}" install
+ chmod 644 $pkgdir/usr/share/papi/papi_events.csv
+ install -Dm644 ${srcdir}/papi-${pkgver}/LICENSE.txt \
+ ${pkgdir}/usr/share/licenses/papi/LICENSE
+}
diff --git a/cuda-component-build-targets.patch b/cuda-component-build-targets.patch
new file mode 100644
index 000000000000..95a6bc0d37f0
--- /dev/null
+++ b/cuda-component-build-targets.patch
@@ -0,0 +1,15 @@
+--- src/components/Makefile_comp_tests.target.in 2019-03-04 19:56:23.000000000 +0000
++++ src/components/Makefile_comp_tests.target.in 2019-06-28 16:55:41.886419500 +0100
+@@ -11,7 +11,11 @@
+ SHLIB = @SHLIB@
+ PAPILIB = $(datadir)/@LINKLIB@
+ TESTLIB = $(testlibdir)/libtestlib.a
++ifeq ($(NAME),cuda)
++LDFLAGS = -Xlinker $(subst -Wl$(,),,@LDFLAGS@) @LDL@
++else
+ LDFLAGS = @LDFLAGS@ @LDL@
++endif
+ CC = @CC@
+ F77 = @F77@
+ CC_R = @CC_R@
+
diff --git a/papi-utils-ldpath-fix.patch b/papi-utils-ldpath-fix.patch
new file mode 100644
index 000000000000..a944a6cb66f0
--- /dev/null
+++ b/papi-utils-ldpath-fix.patch
@@ -0,0 +1,63 @@
+--- src/utils/Makefile 2019-06-28 16:59:26.789420640 +0100
++++ src/utils/Makefile 2019-06-28 17:01:48.851325493 +0100
+@@ -16,46 +16,46 @@
+ default all utils: $(ALL)
+
+ papi_avail: papi_avail.o $(PAPILIB) print_header.o
+- $(CC) $(LDFLAGS) -o papi_avail papi_avail.o print_header.o $(PAPILIB)
++ $(CC) -o papi_avail papi_avail.o print_header.o $(PAPILIB) $(LDFLAGS)
+
+ papi_clockres: papi_clockres.o $(PAPILIB) $(CLOCKCORE)
+- $(CC) $(LDFLAGS) -o papi_clockres papi_clockres.o $(PAPILIB) $(CLOCKCORE) -lm
++ $(CC) -o papi_clockres papi_clockres.o $(PAPILIB) $(CLOCKCORE) -lm $(LDFLAGS)
+
+ papi_command_line: papi_command_line.o $(PAPILIB) $(DOLOOPS)
+- $(CC) $(LDFLAGS) -o papi_command_line papi_command_line.o $(PAPILIB) $(DOLOOPS)
++ $(CC) -o papi_command_line papi_command_line.o $(PAPILIB) $(DOLOOPS) $(LDFLAGS)
+
+ papi_component_avail: papi_component_avail.o $(PAPILIB) print_header.o
+- $(CC) $(LDFLAGS) -o papi_component_avail papi_component_avail.o $(PAPILIB) print_header.o
++ $(CC) -o papi_component_avail papi_component_avail.o $(PAPILIB) print_header.o $(LDFLAGS)
+
+ papi_cost: papi_cost.o $(PAPILIB) cost_utils.o
+- $(CC) $(LDFLAGS) -o papi_cost papi_cost.o cost_utils.o $(PAPILIB) -lm
++ $(CC) -o papi_cost papi_cost.o cost_utils.o $(PAPILIB) -lm $(LDFLAGS)
+
+ papi_decode: papi_decode.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_decode papi_decode.o $(PAPILIB)
++ $(CC) -o papi_decode papi_decode.o $(PAPILIB) $(LDFLAGS)
+
+ papi_error_codes: papi_error_codes.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_error_codes papi_error_codes.o $(PAPILIB)
++ $(CC) -o papi_error_codes papi_error_codes.o $(PAPILIB) $(LDFLAGS)
+
+ papi_event_chooser: papi_event_chooser.o $(PAPILIB) print_header.o
+- $(CC) $(LDFLAGS) -o papi_event_chooser papi_event_chooser.o print_header.o $(PAPILIB)
++ $(CC) -o papi_event_chooser papi_event_chooser.o print_header.o $(PAPILIB) $(LDFLAGS)
+
+ papi_hybrid_native_avail: papi_hybrid_native_avail.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_hybrid_native_avail papi_hybrid_native_avail.o $(PAPILIB)
++ $(CC) -o papi_hybrid_native_avail papi_hybrid_native_avail.o $(PAPILIB) $(LDFLAGS)
+
+ papi_mem_info: papi_mem_info.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_mem_info papi_mem_info.o $(PAPILIB)
++ $(CC) -o papi_mem_info papi_mem_info.o $(PAPILIB) $(LDFLAGS)
+
+ papi_multiplex_cost: papi_multiplex_cost.o $(PAPILIB) cost_utils.o
+- $(CC) $(LDFLAGS) -o papi_multiplex_cost papi_multiplex_cost.o cost_utils.o $(PAPILIB) -lm
++ $(CC) -o papi_multiplex_cost papi_multiplex_cost.o cost_utils.o $(PAPILIB) -lm $(LDFLAGS)
+
+ papi_native_avail: papi_native_avail.o $(PAPILIB) print_header.o
+- $(CC) $(LDFLAGS) -o papi_native_avail papi_native_avail.o $(PAPILIB) print_header.o
++ $(CC) -o papi_native_avail papi_native_avail.o $(PAPILIB) print_header.o $(LDFLAGS)
+
+ papi_version: papi_version.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_version papi_version.o $(PAPILIB)
++ $(CC) -o papi_version papi_version.o $(PAPILIB) $(LDFLAGS)
+
+ papi_xml_event_info: papi_xml_event_info.o $(PAPILIB)
+- $(CC) $(LDFLAGS) -o papi_xml_event_info papi_xml_event_info.o $(PAPILIB)
++ $(CC) -o papi_xml_event_info papi_xml_event_info.o $(PAPILIB) $(LDFLAGS)
+
+
+