2014-06-21 08:15:32 +08:00
|
|
|
from spack import *
|
|
|
|
import os
|
|
|
|
|
|
|
|
class Papi(Package):
|
2014-08-01 05:09:38 +08:00
|
|
|
"""PAPI provides the tool designer and application engineer with a
|
|
|
|
consistent interface and methodology for use of the performance
|
|
|
|
counter hardware found in most major microprocessors. PAPI
|
|
|
|
enables software engineers to see, in near real time, the
|
|
|
|
relation between software performance and processor events. In
|
|
|
|
addition Component PAPI provides access to a collection of
|
|
|
|
components that expose performance measurement opportunites
|
|
|
|
across the hardware and software stack."""
|
2014-06-21 08:15:32 +08:00
|
|
|
homepage = "http://icl.cs.utk.edu/papi/index.html"
|
|
|
|
|
2015-12-14 09:13:34 +08:00
|
|
|
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
|
2015-07-21 23:50:11 +08:00
|
|
|
version('5.4.1', '9134a99219c79767a11463a76b0b01a2')
|
2014-08-01 05:09:38 +08:00
|
|
|
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
|
2014-06-21 08:15:32 +08:00
|
|
|
|
|
|
|
def install(self, spec, prefix):
|
|
|
|
os.chdir("src/")
|
|
|
|
|
|
|
|
configure_args=["--prefix=%s" % prefix]
|
|
|
|
|
2015-11-24 05:50:11 +08:00
|
|
|
# PAPI uses MPI if MPI is present; since we don't require an
|
|
|
|
# MPI package, we ensure that all attempts to use MPI fail, so
|
|
|
|
# that PAPI does not get confused
|
|
|
|
configure_args.append('MPICC=:')
|
2014-06-21 08:15:32 +08:00
|
|
|
|
|
|
|
configure(*configure_args)
|
|
|
|
|
|
|
|
make()
|
|
|
|
make("install")
|
|
|
|
|