diff options
author | Hans-Nikolai Viessmann | 2019-06-28 17:29:22 +0100 |
---|---|---|
committer | Hans-Nikolai Viessmann | 2019-06-28 17:29:22 +0100 |
commit | 85a646421156419290a6a1d16cf023e916310c41 (patch) | |
tree | 0c1385012280f025cf1d62470a099193cb9ca6bd | |
download | aur-85a646421156419290a6a1d16cf023e916310c41.tar.gz |
initial release of 5.7.0
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | cuda-component-build-targets.patch | 15 | ||||
-rw-r--r-- | papi-utils-ldpath-fix.patch | 63 |
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) + + + |