Generic Lightweight Thread (GLT) Library  2.5
A common API for Lightweight Thread solutions
 All Functions Variables Groups Pages
README

GLT (Generic Lightweight Threads). Common API for Lightweight Thread Implementations.

GLT Release 2.5

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.

  1. Getting Started
  2. How to use GLT
  3. How to cite GLT
  4. Reporting Problems

1. Getting Started

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

2. How to use GLT

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"


3. How to cite GLT

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


4. Reporting Problems

If you have problems with the installation or usage of GLT, please send an email to adcas.nosp@m.tel@.nosp@m.uji.e.nosp@m.s.