[CSC 435] PAPI

Andrew J. Pounds pounds_aj at mercer.edu
Mon Mar 26 09:34:53 EDT 2018


I got some questions via both text and e-mail this weekend related to
PAPI.  When we first looked at PAPI the high-level functions from the
API did not work.  I later demonstrated how one could use the low-level
PAPI functions to return the single precision megaflops.  At that time I
did not provide you with a Fortran version of the PAPI calls.  I now
have that ready for you.  I added it to the github profiling repo.

https://github.com/threadmaster/profiling.git

It is in the papi directory and the program you will want to examine is
llfdriver.f90.   Please note that in the C version of PAPI all of the
API functions are called as "functions" with a return type that is
checked.  In the fortran version, everything is called as a subroutine
with the "check" returned as a variable.   If you dive in deep to the
PAPI Fortran API, you will find that the fortran API essentially is a
set of wrappers for the C function calls.  It makes you really
appreciate how C and Fortran can be used in HPC coding.

We will revisit PAPI in class on Tuesday.


-- 
Andrew J. Pounds, Ph.D.  (pounds_aj at mercer.edu)
Professor of Chemistry and Computer Science
Mercer University,  Macon, GA 31207   (478) 301-5627
http://faculty.mercer.edu/pounds_aj



More information about the csc435 mailing list