Parallel Computing

The Linux version of LDAK is compiled using the Intel MKL Libraries and openMP. These allow you to run LDAK in parallel (when multiple CPUs are available). To do this, use the option --max-threads. For example, add --max-threads 4 to a command to run LDAK on four CPUs.

Parallelization is most effective for commands that involve matrix algebra (e.g., Calculating Kinships, REML, Calculating Tagging, Calculating Scores, Single-Predictor Analysis and Thinning Predictors). It is also effective for the Prediction Tools (both when using individual-level data and summary statistics). For these commands, I regularly run LDAK using between 2 and 8 CPUs (on my cluster, there is limited advantage to using more than 8 CPUs).

Note that the Mac version of LDAK does not allow for parallelization (to obtain a parallel version, you will have to compile yourself).
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Example:

Here are parallel versions of the examples from Calculate Kinships. They use the binary PLINK files human.bed, human.bim and human.fam from the Test Datasets, and assume the Human Default Model (see Technical Details for more information).

./ldak.out --calc-kins-direct HumDef --bfile human --power -.25 --max-threads 4

In this example, LDAK will use four CPUs when calculating kinships.