TY - GEN
T1 - Compile-Time Library Call Detection Using CAASCADE and XALT
AU - Zhao, Jisheng
AU - Hernandez, Oscar R.
AU - Budiardja, Reuben D.
AU - Lopez, M. Graham
AU - Sarkar, Vivek
AU - Wells, Jack C.
N1 - Publisher Copyright:
© 2018, Springer Nature Switzerland AG.
PY - 2018
Y1 - 2018
N2 - CAASCADE — Compiler-Assisted Application Source Code Analysis and DatabasE—is a tool that summarizes the use of parallel programming language features in application source code using compiler technology. This paper discusses the library detection capability within CAASCADE to find information about the usage of scientific libraries within the source code. The information that CAASCADE collects provides insights into the usage of library calls in an applications. CAASCADE can classify the APIs by scientific libraries (e.g. LAPACK, BLAS, FFTW, etc). It can also detect the context in which a library API is being invoked, for example within a serial or multi-threaded region. To collect this information, CAASCADE uses compiler plugins that summarize procedural information and uses Apache Spark to do inter-procedural analysis to reconstruct call chains. In addition to this, we also integrated CAASCADE to work with XALT to collect library information based on linkage and modules installed on a system.
AB - CAASCADE — Compiler-Assisted Application Source Code Analysis and DatabasE—is a tool that summarizes the use of parallel programming language features in application source code using compiler technology. This paper discusses the library detection capability within CAASCADE to find information about the usage of scientific libraries within the source code. The information that CAASCADE collects provides insights into the usage of library calls in an applications. CAASCADE can classify the APIs by scientific libraries (e.g. LAPACK, BLAS, FFTW, etc). It can also detect the context in which a library API is being invoked, for example within a serial or multi-threaded region. To collect this information, CAASCADE uses compiler plugins that summarize procedural information and uses Apache Spark to do inter-procedural analysis to reconstruct call chains. In addition to this, we also integrated CAASCADE to work with XALT to collect library information based on linkage and modules installed on a system.
KW - HPC scientific libraries
KW - Libraries usage in applications
KW - Source code analysis
UR - http://www.scopus.com/inward/record.url?scp=85066126519&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-02465-9_31
DO - 10.1007/978-3-030-02465-9_31
M3 - Conference contribution
AN - SCOPUS:85066126519
SN - 9783030024642
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 440
EP - 447
BT - High Performance Computing - ISC High Performance 2018 International Workshops, Revised Selected Papers
A2 - Weiland, Michèle
A2 - Yokota, Rio
A2 - Shalf, John
A2 - Alam, Sadaf
PB - Springer Verlag
T2 - International Conference on High Performance Computing, ISC High Performance 2018
Y2 - 28 June 2018 through 28 June 2018
ER -