Difference between revisions of "GARLI"

From UFRC
Jump to navigation Jump to search
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
__NOEDITSECTION__
 
__NOEDITSECTION__
[[Category:Software]][[Category:Phylogenetics]]
+
[[Category:Software]][[Category:Phylogenetics]][[Category:Biology]]
<!-- ########  Template Configuration ######## -->
+
{|<!--Main settings - REQUIRED-->
<!--Edit definitions of the variables used in template calls
 
Required variables:
 
app - lowercase name of the application e.g. "amber"
 
url - url of the software page (project, company product, etc) - e.g. "http://ambermd.org/"
 
Optional variables:
 
INTEL - Version of the Intel Compiler e.g. "11.1"
 
MPI - MPI Implementation and version e.g. "openmpi/1.3.4"
 
-->
 
{|
 
<!--Main settings - REQUIRED-->
 
 
|{{#vardefine:app|garli}}
 
|{{#vardefine:app|garli}}
 
|{{#vardefine:url|https://www.nescent.org/wg_garli/Main_Page}}
 
|{{#vardefine:url|https://www.nescent.org/wg_garli/Main_Page}}
<!--Compiler and MPI settings - OPTIONAL -->
 
|{{#vardefine:intel|}} <!-- E.g. "11.1" -->
 
|{{#vardefine:mpi|}} <!-- E.g. "openmpi/1.3.4" -->
 
<!--Choose sections to enable - OPTIONAL-->
 
|{{#vardefine:mod|1}} <!--Present instructions for running the software with modules -->
 
 
|{{#vardefine:exe|1}} <!--Present manual instructions for running the software -->
 
|{{#vardefine:exe|1}} <!--Present manual instructions for running the software -->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
Line 35: Line 20:
 
GARLI is a program that performs phylogenetic inference using the maximum-likelihood criterion. Several sequence types are supported, including nucleotide, amino acid and codon. Version 2.0 adds support for partitioned models and morphology-like datatypes.  
 
GARLI is a program that performs phylogenetic inference using the maximum-likelihood criterion. Several sequence types are supported, including nucleotide, amino acid and codon. Version 2.0 adds support for partitioned models and morphology-like datatypes.  
 
<!--Modules-->
 
<!--Modules-->
{{#if: {{#var: mod}}|==Execution Environment and Modules==
+
==Required Modules==
{{App_Module|app={{#var:app}}|intel={{#var:intel}}|mpi={{#var:mpi}}}}|}}
+
[[Modules|modules documentation]]
Available modules:
+
===Serial===
* garli (serial version).
+
*{{#var:app}}
* load the intel module to enable the OpenMP (multi-threaded) version of Garli.
+
===Parallel (OpenMP)===
* load both the intel and the openmpi modules to enable the MPI version of Garli
+
*intel
 
+
*{{#var:app}}
Examples:
+
===Parallel (MPI)===
 
+
*intel
Multi-threaded:
+
*openmpi
module load intel/2012 garli
+
*{{#var:app}}
MPI:
+
<!--Additional-->
module load intel/2012 openmpi/1.6 garli
+
{{#if: {{#var: exe}}|==Additional Information==
 
+
See [https://molevol.mbl.edu/index.php/Garli_FAQ Garli FAQ]  
{{#if: {{#var: exe}}|==How To Run==
 
See [https://www.nescent.org/wg_garli/FAQ Garli FAQ]  
 
 
While the garli module provides the serial version of Garli there is a garli/2.0-mp module that provides both the multithreaded (OpenMP) and an MPI (OpenMPI) versions of Garli.
 
While the garli module provides the serial version of Garli there is a garli/2.0-mp module that provides both the multithreaded (OpenMP) and an MPI (OpenMPI) versions of Garli.
  
To use the OpenMP version of Garli, you must set the enviroment variables '''OMP_NUM_THREADS''' and '''OMP_THREAD_LIMIT''' to the appropriate values based on the core number request in your submission script. For example if you use #PBS -l nodes=1:ppn=8 in your script, also include export OMP_NUM_THREADS=7; export OMP_THREAD_LIMIT=8 (for a bash script) in the script itself (see the [http://www.google.com/url?sa=t&source=web&cd=2&sqi=2&ved=0CBkQFjAB&url=http%3A%2F%2Fhelix.nih.gov%2FApplications%2Fvelvet_manual.pdf&rct=j&q=velvet%20assembler%20manual&ei=Lr1WToqdIsGG0QGJyamyDA&usg=AFQjCNH2VB2-la3kWazMqdl3ms-xkCocVw user manual] for more information). To decide whether the performance gain with the multithreaded version is worth it for your particular job see the  [https://www.nescent.org/wg_garli/FAQ#Should_I_use_a_multi-threaded_.28openMP.29_version_of_GARLI_if_I.E2.80.99m_using_a_computer_with_multiple_processors.2Fcores.3F Garli FAQ on using the OpenMP version].
+
To use the OpenMP version of Garli, you must set the environment variables '''OMP_NUM_THREADS''' and '''OMP_THREAD_LIMIT''' to the appropriate values based on the core number request in your submission script. For example if you use #SBATCH --cpus-per-task=8 in your script, also include export OMP_NUM_THREADS=7; export OMP_THREAD_LIMIT=8 (for a bash script) in the script itself. To decide whether the performance gain with the multithreaded version is worth it for your particular job see the  [https://molevol.mbl.edu/index.php/Garli_FAQ#Should_I_use_a_multi-threaded_.28openMP.29_version_of_GARLI_if_I.E2.80.99m_using_a_computer_with_multiple_processors.2Fcores.3F Garli FAQ on using the OpenMP version].
  
The MPI version of Garli is discussed in the [https://www.nescent.org/wg_garli/FAQ#What_is_the_parallel_MPI_version_of_GARLI.3F_Should_I_use_it.3F Garli FAQ]. See the FAQ entry help to decide whether it is appropriate to use the MPI version of Garli for your job. If you decide to use the MPI version of Garli, use the <code>mpirun</code> MPI wrapper to run it. For example,
+
The MPI version of Garli is discussed in the [https://molevol.mbl.edu/index.php/Garli_FAQ#What_is_the_parallel_MPI_version_of_GARLI.3F_Should_I_use_it.3F Garli FAQ]. See the FAQ entry help to decide whether it is appropriate to use the MPI version of Garli for your job. If you decide to use the MPI version of Garli, use the <code>mpiexec</code> MPI wrapper to run it. For example,
  mpirun -np 12 Garli-mpi 12
+
  mpiexec Garli-mpi 12
 
|}}
 
|}}
 
{{#if: {{#var: conf}}|==Configuration==
 
{{#if: {{#var: conf}}|==Configuration==
Line 62: Line 45:
 
{{#if: {{#var: pbs}}|==PBS Script Examples==
 
{{#if: {{#var: pbs}}|==PBS Script Examples==
 
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}}
 
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}}
{{#if: {{#var: policy}}|==Usage policy==
+
{{#if: {{#var: policy}}|==Usage Policy==
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
{{#if: {{#var: testing}}|==Performance==
 
{{#if: {{#var: testing}}|==Performance==

Latest revision as of 16:53, 15 August 2022

Description

garli website  

GARLI is a program that performs phylogenetic inference using the maximum-likelihood criterion. Several sequence types are supported, including nucleotide, amino acid and codon. Version 2.0 adds support for partitioned models and morphology-like datatypes.

Required Modules

modules documentation

Serial

  • garli

Parallel (OpenMP)

  • intel
  • garli

Parallel (MPI)

  • intel
  • openmpi
  • garli

Additional Information

See Garli FAQ While the garli module provides the serial version of Garli there is a garli/2.0-mp module that provides both the multithreaded (OpenMP) and an MPI (OpenMPI) versions of Garli.

To use the OpenMP version of Garli, you must set the environment variables OMP_NUM_THREADS and OMP_THREAD_LIMIT to the appropriate values based on the core number request in your submission script. For example if you use #SBATCH --cpus-per-task=8 in your script, also include export OMP_NUM_THREADS=7; export OMP_THREAD_LIMIT=8 (for a bash script) in the script itself. To decide whether the performance gain with the multithreaded version is worth it for your particular job see the Garli FAQ on using the OpenMP version.

The MPI version of Garli is discussed in the Garli FAQ. See the FAQ entry help to decide whether it is appropriate to use the MPI version of Garli for your job. If you decide to use the MPI version of Garli, use the mpiexec MPI wrapper to run it. For example,

mpiexec Garli-mpi 12