Difference between revisions of "LEDA 2016"
(Created page with "== Introduction == LEDA (Library of Efficient Data types and Algorithms) contains container data types like list, array, map, dictionary, priority queue, stack, queue, set, ...") |
|||
Line 26: | Line 26: | ||
#!/bin/bash | #!/bin/bash | ||
# | #SBATCH --partition=carl.p | ||
#SBATCH --ntasks=1 | #SBATCH --ntasks=1 | ||
#SBATCH --mem=2G | #SBATCH --mem=2G | ||
Line 36: | Line 36: | ||
echo 50000 | ./Euler_demo | echo 50000 | ./Euler_demo | ||
The job script runs the <tt>Euler_demo</tt> program once the requested resources can be allocated. | The job script runs the <tt>Euler_demo</tt> program once the requested resources can be allocated. After the job is completed the output can be found in a file <tt>EulerDemo.<jobid>.out</tt>. | ||
== Documentation == | |||
Documentation for LEDA in general can be found in the [http://www.algorithmic-solutions.com/leda/index.htm LEDA book]. |
Latest revision as of 13:43, 6 March 2017
Introduction
LEDA (Library of Efficient Data types and Algorithms) contains container data types like list, array, map, dictionary, priority queue, stack, queue, set, dynamic tree, etc, and basic data types such as searching and sorting algorithms, as well as numerically exact geometric algorithms, e.g. convex hull, delaunay triangulations, line segment intersection algorithms, boolean operations on polygons, Minkowski sum, and many more.
Using LEDA
To use LEDA load the module with
module load leda/6.3
which will also load the Gnu compilers (module GCC/5.4.0-2.26). You may change the compiler version by loading a different version (available versions can be found with module spider GCC.
Compiling Code
After you have loaded the module you can compile code using LEDA. A typical compile command could be (with a code copied from the LEDA demo directory):
cp $LEDAROOT/demo/numbers/Euler_demo.cpp . g++ -o Euler_demo Euler_demo.cpp -I$LEDAROOT/incl -L$LEDAROOT -lleda -lm -lX11
The variable $LEDAROOT is provided with the module, the linked libraries may differ for your application (the example is probably a minimal list of libraries needed).
Running Jobs with LEDA Codes
Since there many people working with the HPC cluster, its important that everyone has an equal chance to do so. Therefore, every job should be processed by SLURM.
For this reason, you have to create a jobscript for your tasks.
Example:
#!/bin/bash #SBATCH --partition=carl.p #SBATCH --ntasks=1 #SBATCH --mem=2G #SBATCH --time=0-2:00 #SBATCH --job-name EulerDemo #SBATCH --output=EulerDemo.%j.out module load leda/6.3 echo 50000 | ./Euler_demo
The job script runs the Euler_demo program once the requested resources can be allocated. After the job is completed the output can be found in a file EulerDemo.<jobid>.out.
Documentation
Documentation for LEDA in general can be found in the LEDA book.