Generic Lightweight Thread (GLT) Library
2.5
A common API for Lightweight Thread solutions
|
GLT (Generic Lightweight Threads). Common API for Lightweight Thread Implementations.
GLT is a common API for HPC lightweight thread (LWT) libraries. It supports MassiveThreads, Qthreads, and Argobots as underlying LWT solutions. Moreover, GLT over Pthread is implemented with comparative purpose.
In addition, GLT can be used as POSIX threads API since version 2.5.
The following instructions take you through a sequence of steps to get GLT installed and compiled.
(a.1) You will need the following prerequisites.
- REQUIRED: This tar file GLT-2.5.tar.gz - REQUIRED: A C compiler (gcc is sufficient)
(a.2) At least one of these libraries:
- Argobots library. - Qthreads library. - MassiveThreads library.
(b) Unpack the tar file and go to the top level directory:
tar xzf GLT-2.5.tar.gz cd GLT
If your tar doesn't accept the z option, use
gunzip GLT-2.5.tar.gz tar xf GLT-2.5.tar cd GLT
(c) Define environment variables:
The definition of the HOME_ARG, HOME_QTH, and HOME_MTH environment variables with the path to Argobots, Qthreads, and MassiveThreads libraries respectively is required.
(d) Build GLT:
cd src for csh and tcsh: make [arg|qth|mth|pth] |& tee m.txt for bash and sh: make [arg|qth|mth|pth] 2>&1 | tee m.txt
I. GLT offers two library approaches:
(a) Dynamic library. Once the step 1 is completed, a libglt.so file can be found in each underlying library folder. The glt.h file needs to be included in the user's code and the -lglt flag added to the compilation order.
(d) Static library. In order to use this performance-oriented implementation fast_glt.h file may be included in the user's code and the -DFASTGLT flag added to the compilation order.
II. Using Pthreads API with GLT
GLT also offers the use of code written with pthreads just including "glt_pthreads.h" instead of "pthread.h"
To cite GLT in your work, please use the following for now: A. Castelló, A.J. Peña, S. Seo, R. Mayo, P. Balaji, E.S. Quintana-Ortí. GLT: A common API for lightweight thread libraries. www.hpca.uji.es/GLT. 2016
If you have problems with the installation or usage of GLT, please send an email to adcas. tel@ uji.e s