NERSCPowering Scientific Discovery Since 1974


Automatic Library Tracking Database Infrastructure

To track and monitor library usage and better serve your software needs, we have enabled the Automatic Library Tracking Database (ALTD) on our prodcution systems, Hopper and Edison.  ALTD is also availailable on Carver. ALTD, originally developed by National Institute for Computational Sciences and further developed at NERSC, automatically and transparently tracks all libraries linked into an application at compile time, as well as the libraries used at run time, by intercepting the linker (ld) and the job launcher (aprun, or mpirun).  It is a light-weight tool. It has a negligible overhead to the compilation time, and has zero overhead to the application run time.  Therefore it should not echange your exepereince on the machine with compilation and execution of your codes. However, if you encounter any problems due to ALTD, simply unload the "altd" module in your shell startup files (see below for detailed instruction), and please report any problems to consult at nersc dot gov.

ALTD applications

The ALTD tables record information about by whom and when what application was compiled, and what libraries (and the exact versions) were linked into the appliation, which compiler (and version) was used, and how the application was linked (dynamically or statically), on which system the application was built, by whom and when the application was run, etc. By searching the characteristic patterms in the link lines stored in the database, various library and application usage statistics can be generated.

Tables used by ALTD at NERSC. From the top, they are the altd_edison_linkline, altd_edison_link_tags and altd_edison_jobs tables, respectively, for Edison. The first two tables are used by the ALTD ld wrapper.


This figure shows the number of unique users for the libraries supported by Cray and NERSC staff on Hopper during Jun 21, 2012 and Jan 17, 2013 time period.

How to disable ALTD

To diable altd, you just need unload the module altd in your shell startup file.

For example, to disable altd on edsion, you can add the following in your ~/.login.ext file if your default login shell is csh:

 if ($NERSC_HOST == "edison") then
     module unload altd

If your default login shell is bash, then you can add the following in your ~/.bash_profile.ext file to disalbe altd on edison:

if [ "$NERSC_HOST" == "edison" ]
      module unload altd

Known issues

  • It is known that ALTD does not work well with totalview. If you need to run totalview, please unload the altd module in your shell startup file.


     ALTD manual

     ALTD at NERSC