From 085f85f81460a6995f6a4e058bd834d4c666017d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Gajdu=C5=A1ek?= <gajdusek.pavel@gmail.com> Date: Wed, 13 Sep 2017 14:26:24 +0200 Subject: [PATCH] mdlint --- README.md | 4 +- .../anselm/software/debuggers/valgrind.md | 46 +++++++++---------- .../software/machine-learning/tensorflow.md | 26 +++++------ .../salomon/software/debuggers/valgrind.md | 46 +++++++++---------- .../software/machine-learning/tensorflow.md | 22 ++++----- docs.it4i/snippets/modules_matrix_search.md | 2 +- docs.it4i/software/easybuild.md | 8 ++-- docs.it4i/software/singularity.md | 2 + docs.it4i/software/spack.md | 6 +-- 9 files changed, 82 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 78d4938ab..7ca5d57a1 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ Mellanox ### Formulas are made with: -* https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/ -* https://www.mathjax.org/ +* [https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/](https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/) +* [https://www.mathjax.org/](https://www.mathjax.org/) You can add formula to page like this: diff --git a/docs.it4i/anselm/software/debuggers/valgrind.md b/docs.it4i/anselm/software/debuggers/valgrind.md index 0e381e945..f6c3f6aaf 100644 --- a/docs.it4i/anselm/software/debuggers/valgrind.md +++ b/docs.it4i/anselm/software/debuggers/valgrind.md @@ -31,19 +31,19 @@ Compile the application which you want to debug as usual. It is advisable to add For example, lets look at this C code, which has two problems : ```cpp - #include <stdlib.h> - - void f(void) - { - int* x = malloc(10 * sizeof(int)); - x[10] = 0; // problem 1: heap block overrun - } // problem 2: memory leak -- x not freed - - int main(void) - { - f(); - return 0; - } +#include <stdlib.h> + +void f(void) +{ + int* x = malloc(10 * sizeof(int)); + x[10] = 0; // problem 1: heap block overrun +} // problem 2: memory leak -- x not freed + +int main(void) +{ + f(); + return 0; +} ``` Now, compile it with Intel compiler : @@ -161,19 +161,19 @@ so it is better to use the MPI-enabled valgrind from module. The MPI version req Lets look at this MPI example : ```cpp - #include <stdlib.h> - #include <mpi.h> +#include <stdlib.h> +#include <mpi.h> - int main(int argc, char *argv[]) - { - int *data = malloc(sizeof(int)*99); +int main(int argc, char *argv[]) +{ + int *data = malloc(sizeof(int)*99); - MPI_Init(&argc, &argv); - MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD); - MPI_Finalize(); + MPI_Init(&argc, &argv); + MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD); + MPI_Finalize(); - return 0; - } + return 0; +} ``` There are two errors - use of uninitialized memory and invalid length of the buffer. Lets debug it with valgrind : diff --git a/docs.it4i/anselm/software/machine-learning/tensorflow.md b/docs.it4i/anselm/software/machine-learning/tensorflow.md index a495c8982..d35b92fec 100644 --- a/docs.it4i/anselm/software/machine-learning/tensorflow.md +++ b/docs.it4i/anselm/software/machine-learning/tensorflow.md @@ -6,9 +6,9 @@ TensorFlow is an open-source software library for machine intelligence. Anselm provides three different TensorFlow modules: - * Tensorflow/1.1.0 - * Tensorflow/1.1.0-CUDA-7.5.18-Python-3.6.1 - * Tensorflow/1.1.0-CUDA-8.0.44-Python-3.6.1 +* Tensorflow/1.1.0 +* Tensorflow/1.1.0-CUDA-7.5.18-Python-3.6.1 +* Tensorflow/1.1.0-CUDA-8.0.44-Python-3.6.1 ### Tensorflow/1.1.0 (CPU only) @@ -20,8 +20,8 @@ $ ml Tensorflow/1.1.0 This module was built with: - * GCC/4.9.3 - * Python/3.6.1 +* GCC/4.9.3 +* Python/3.6.1 ### Tensorflow/1.1.0-CUDA-7.5.18-Python-3.6.1 (GPU enabled) @@ -33,10 +33,10 @@ $ ml Tensorflow/1.1.0-CUDA-7.5.18-Python-3.6.1 This module was built with: - * GCC/4.9.3 - * Python/3.6.1 - * CUDA/7.5.18 - * cuDNN/5.1-CUDA-7.5.18 +* GCC/4.9.3 +* Python/3.6.1 +* CUDA/7.5.18 +* cuDNN/5.1-CUDA-7.5.18 ### Tensorflow/1.1.0-CUDA-8.0.44-Python-3.6.1 (GPU enabled) @@ -48,10 +48,10 @@ $ ml Tensorflow/1.1.0-CUDA-8.0.44-Python-3.6.1 This module was built with: - * GCC/4.9.3 - * Python/3.6.1 - * CUDA/8.0.44 - * cuDNN/5.1-CUDA-8.0.44 +* GCC/4.9.3 +* Python/3.6.1 +* CUDA/8.0.44 +* cuDNN/5.1-CUDA-8.0.44 ## TensorFlow application example diff --git a/docs.it4i/salomon/software/debuggers/valgrind.md b/docs.it4i/salomon/software/debuggers/valgrind.md index 188f98502..6a897e39f 100644 --- a/docs.it4i/salomon/software/debuggers/valgrind.md +++ b/docs.it4i/salomon/software/debuggers/valgrind.md @@ -30,19 +30,19 @@ Compile the application which you want to debug as usual. It is advisable to add For example, lets look at this C code, which has two problems: ```cpp - #include <stdlib.h> - - void f(void) - { - int* x = malloc(10 * sizeof(int)); - x[10] = 0; // problem 1: heap block overrun - } // problem 2: memory leak -- x not freed - - int main(void) - { - f(); - return 0; - } +#include <stdlib.h> + +void f(void) +{ + int* x = malloc(10 * sizeof(int)); + x[10] = 0; // problem 1: heap block overrun +} // problem 2: memory leak -- x not freed + +int main(void) +{ + f(); + return 0; +} ``` Now, compile it with Intel compiler: @@ -164,19 +164,19 @@ which must be included in the LD_PRELOAD environment variable. Lets look at this MPI example: ```cpp - #include <stdlib.h> - #include <mpi.h> +#include <stdlib.h> +#include <mpi.h> - int main(int argc, char *argv[]) - { - int *data = malloc(sizeof(int)*99); +int main(int argc, char *argv[]) +{ + int *data = malloc(sizeof(int)*99); - MPI_Init(&argc, &argv); - MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD); - MPI_Finalize(); + MPI_Init(&argc, &argv); + MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD); + MPI_Finalize(); - return 0; - } + return 0; +} ``` There are two errors - use of uninitialized memory and invalid length of the buffer. Lets debug it with valgrind : diff --git a/docs.it4i/salomon/software/machine-learning/tensorflow.md b/docs.it4i/salomon/software/machine-learning/tensorflow.md index c2f004b13..cad52480f 100644 --- a/docs.it4i/salomon/software/machine-learning/tensorflow.md +++ b/docs.it4i/salomon/software/machine-learning/tensorflow.md @@ -6,9 +6,9 @@ TensorFlow is an open-source software library for machine intelligence. Salomon provides three different TensorFlow modules: - * Tensorflow/1.1.0 - * Tensorflow/1.2.0-GCC-7.1.0-2.28 - * Tensorflow/1.2.0-intel-2017.05-mkl +* Tensorflow/1.1.0 +* Tensorflow/1.2.0-GCC-7.1.0-2.28 +* Tensorflow/1.2.0-intel-2017.05-mkl ### Tensorflow/1.1.0 (not recommended) @@ -21,8 +21,8 @@ $ ml Tensorflow/1.1.0 This module was built with: - * GCC/4.9.3 - * Python/3.6.1 +* GCC/4.9.3 +* Python/3.6.1 ### Tensorflow/1.2.0-GCC-7.1.0-2.28 (default, recommended) @@ -35,9 +35,9 @@ $ ml Tensorflow/1.2.0-GCC-7.1.0-2.28 This module was built with: - * GCC/7.1.0-2.28 - * Python/3.6.1 - * protobuf/3.2.0-GCC-7.1.0-2.28-Python-3.6.1 +* GCC/7.1.0-2.28 +* Python/3.6.1 +* protobuf/3.2.0-GCC-7.1.0-2.28-Python-3.6.1 ### Tensorflow/1.2.0-intel-2017.05-mkl @@ -50,9 +50,9 @@ $ ml Tensorflow/1.2.0-intel-2017.05-mkl This module was built with: - * icc/2017.4.196-GCC-7.1.0-2.28 - * Python/3.6.1 - * protobuf/3.2.0-GCC-7.1.0-2.28-Python-3.6.1 +* icc/2017.4.196-GCC-7.1.0-2.28 +* Python/3.6.1 +* protobuf/3.2.0-GCC-7.1.0-2.28-Python-3.6.1 ## TensorFlow application example diff --git a/docs.it4i/snippets/modules_matrix_search.md b/docs.it4i/snippets/modules_matrix_search.md index b936364e1..4d91e6caf 100644 --- a/docs.it4i/snippets/modules_matrix_search.md +++ b/docs.it4i/snippets/modules_matrix_search.md @@ -36,6 +36,6 @@ $("#searchInput").keyup(function () { "color": "black" }); }).css({ - "color": "#C0C0C0" + "color": "#C0C0C0" }); </script> diff --git a/docs.it4i/software/easybuild.md b/docs.it4i/software/easybuild.md index 25efb9121..df4ddd4cf 100644 --- a/docs.it4i/software/easybuild.md +++ b/docs.it4i/software/easybuild.md @@ -12,8 +12,8 @@ All builds and installations are performed at user level, so you don't need the EasyBuild relies on two main concepts - * Toolchains - * EasyConfig file (our easyconfigs is [here](https://code.it4i.cz/sccs/easyconfigs-it4i)) +* Toolchains +* EasyConfig file (our easyconfigs is [here](https://code.it4i.cz/sccs/easyconfigs-it4i)) Detailed documentations is available [here](http://easybuild.readthedocs.io). @@ -21,8 +21,8 @@ Detailed documentations is available [here](http://easybuild.readthedocs.io). A toolchain corresponds to a compiler and a set of libraries which are commonly used to build a software. The two main toolchains frequently used on the IT4Innovations clusters are the **foss** and **intel**. - * **foss** is based on the GCC compiler and on open-source libraries (OpenMPI, OpenBLAS, etc.). - * **intel** is based on the Intel compiler and on Intel libraries (Intel MPI, Intel Math Kernel Library, etc.). +* **foss** is based on the GCC compiler and on open-source libraries (OpenMPI, OpenBLAS, etc.). +* **intel** is based on the Intel compiler and on Intel libraries (Intel MPI, Intel Math Kernel Library, etc.). Additional details are available on [here](https://github.com/hpcugent/easybuild/wiki/Compiler-toolchains). diff --git a/docs.it4i/software/singularity.md b/docs.it4i/software/singularity.md index 026c42059..ce285e19b 100644 --- a/docs.it4i/software/singularity.md +++ b/docs.it4i/software/singularity.md @@ -1,3 +1,5 @@ +# Singularity Container + [Singularity](http://singularity.lbl.gov/) enables users to have full control of their environment. A non-privileged user can "swap out" the operating system on the host for one they control. So if the host system is running RHEL6 but your application runs in Ubuntu/RHEL7, you can create an Ubuntu/RHEL7 image, install your applications into that image, copy the image to another host, and run your application on that host in it’s native Ubuntu/RHEL7 environment. Singularity also allows you to leverage the resources of whatever host you are on. This includes HPC interconnects, resource managers, file systems, GPUs and/or accelerators, etc. Singularity does this by enabling several key facets: diff --git a/docs.it4i/software/spack.md b/docs.it4i/software/spack.md index 9ad379812..284283f7c 100644 --- a/docs.it4i/software/spack.md +++ b/docs.it4i/software/spack.md @@ -241,7 +241,7 @@ $ spack edit git !!! note To change source link (ftp:// to http://) use `spack create URL -f` to regenerates rules. -**Example** +#### **Example** ```console $ spack install git @@ -290,7 +290,7 @@ autoconf@2.69 cmake@3.7.1 expat@2.2.0 git@2.11.0 libsigsegv@2.10 m4 bzip2@1.0.6 curl@7.50.3 gettext@0.19.8.1 libiconv@1.14 libxml2@2.9.4 ncurses@6.0 pcre@8.41 pkg-config@0.29.1 xz@5.2.2 ``` -**Spack colorizes output** +Spack colorizes output. ```console $ spack find | less -R @@ -317,7 +317,7 @@ $ spack load git source ~/.local/easybuild/software/Spack/0.10.0/share/spack/setup-env.csh ``` -**First usage** +### First usage ```console $ . ~/.local/easybuild/software/Spack/0.10.0/share/spack/setup-env.sh -- GitLab