Skip to main content
SHARE
Publication

Compile-Time Library Call Detection Using CAASCADE and XALT

Publication Type
Conference Paper
Book Title
ISC High Performance 2018. Lecture Notes in Computer Science
Publication Date
Page Numbers
440 to 447
Volume
11203
Conference Name
International Workshop on OpenPOWER for HPC (IWOPH 2018)
Conference Location
Frankfurt, Germany
Conference Sponsor
Various
Conference Date

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.