From b834a65c057cad6c7467ae28c087a6c3d31dae2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= <lukas.krupcik@vsb.cz> Date: Wed, 3 Aug 2016 11:40:39 +0200 Subject: [PATCH] version 0.4 --- README.md | 11 +- .../outgoing-connections.md | 24 +- .../shell-and-data-access.md | 24 +- .../accessing-the-cluster/vpn-access.md | 26 +- .../compute-nodes.md | 109 ++++++- .../environment-and-modules.md | 14 +- .../hardware-overview.md | 22 +- .../introduction.md | 16 +- .../anselm-cluster-documentation/network.md | 18 +- .../anselm-cluster-documentation/prace.md | 42 ++- .../remote-visualization.md | 35 ++- .../capacity-computing.md | 8 + .../introduction.md | 14 +- .../job-priority.md | 10 + .../job-submission-and-execution.md | 38 ++- .../resources-allocation-policy.md | 26 +- .../software/ansys.md | 12 +- .../software/ansys/ansys-cfx.md | 10 +- .../software/ansys/ansys-fluent.md | 18 +- .../software/ansys/ansys-ls-dyna.md | 12 +- .../software/ansys/ansys-mechanical-apdl.md | 10 +- .../software/ansys/ls-dyna.md | 8 + .../software/chemistry/molpro.md | 16 +- .../software/chemistry/nwchem.md | 14 + .../software/compilers.md | 16 +- .../software/comsol/comsol-multiphysics.md | 46 +-- .../software/debuggers.md | 10 + .../software/debuggers/allinea-ddt.md | 16 +- .../debuggers/allinea-performance-reports.md | 16 + .../software/debuggers/cube.md | 14 + .../intel-performance-counter-monitor.md | 14 +- .../debuggers/intel-vtune-amplifier.md | 18 +- .../software/debuggers/papi.md | 20 +- .../software/debuggers/scalasca.md | 10 + .../software/debuggers/score-p.md | 13 +- .../software/debuggers/summary.md | 12 + .../software/debuggers/total-view.md | 26 +- .../software/debuggers/valgrind.md | 22 +- .../software/debuggers/vampir.md | 10 + .../software/gpi2.md | 12 + .../software/intel-suite.md | 10 + .../software/intel-suite/intel-compilers.md | 10 + .../software/intel-suite/intel-debugger.md | 14 +- ...intel-integrated-performance-primitives.md | 10 + .../software/intel-suite/intel-mkl.md | 12 +- .../intel-parallel-studio-introduction.md | 10 + .../software/intel-suite/intel-tbb.md | 10 + .../software/intel-xeon-phi.md | 30 +- .../software/isv_licenses.md | 18 +- .../software/java.md | 14 + .../software/kvirtualization.md | 50 ++-- .../software/mpi-1/Running_OpenMPI.md | 10 + .../software/mpi-1/mpi.md | 18 +- .../software/mpi-1/mpi4py-mpi-for-python.md | 14 + .../software/mpi-1/running-mpich2.md | 12 +- .../numerical-languages/copy_of_matlab.md | 18 +- .../numerical-languages/introduction.md | 16 +- .../software/numerical-languages/matlab.md | 16 +- .../software/numerical-languages/octave.md | 10 + .../software/numerical-languages/r.md | 23 +- .../software/numerical-libraries/fftw.md | 16 + .../software/numerical-libraries/gsl.md | 15 + .../software/numerical-libraries/hdf5.md | 30 +- .../intel-numerical-libraries.md | 12 + .../magma-for-intel-xeon-phi.md | 16 + .../software/numerical-libraries/petsc.md | 18 +- .../software/numerical-libraries/trilinos.md | 14 +- .../software/nvidia-cuda.md | 16 +- .../diagnostic-component-team.md | 31 +- .../software/omics-master-1/overview.md | 211 +++++++------ .../priorization-component-bierapp.md | 23 +- .../software/openfoam.md | 58 +++- .../software/operating-system.md | 14 + .../software/paraview.md | 14 + .../storage-1/cesnet-data-storage.md | 26 +- .../storage-1/storage.md | 54 ++-- .../cygwin-and-x11-forwarding.md | 18 +- .../graphical-user-interface.md | 14 +- .../graphical-user-interface/vnc.md | 28 +- .../graphical-user-interface/vpnuiV.png | Bin 49733 -> 0 bytes .../x-window-system.md | 12 +- .../accessing-the-clusters/introduction.md | 22 +- .../introduction.md | 18 +- .../shell-access-and-data-transfer/pageant.md | 14 +- .../shell-access-and-data-transfer/putty.md | 26 +- .../puttygen.md | 26 +- .../ssh-keys.md | 18 +- .../vpn-connection-fail-in-win-8.1.md | 16 +- .../applying-for-resources.md | 16 +- .../introduction.md | 13 +- .../certificates-faq.md | 29 +- .../obtaining-login-credentials.md | 42 ++- converted/docs.it4i.cz/index.md | 14 +- .../salomon/accessing-the-cluster.md | 24 +- .../outgoing-connections.md | 20 +- .../accessing-the-cluster/vpn-access.md | 18 +- .../salomon/environment-and-modules.md | 14 +- .../hardware-overview-1/hardware-overview.md | 15 +- converted/docs.it4i.cz/salomon/index.md | 21 +- .../docs.it4i.cz/salomon/introduction.md | 15 +- .../network-1/7d-enhanced-hypercube.md | 14 +- .../network-1/ib-single-plane-topology.md | 15 +- .../docs.it4i.cz/salomon/network-1/network.md | 15 +- converted/docs.it4i.cz/salomon/prace.md | 47 +-- .../capacity-computing.md | 8 + .../introduction.md | 16 +- .../job-priority.md | 15 +- .../job-submission-and-execution.md | 44 ++- .../resources-allocation-policy.md | 30 +- .../salomon/software/ansys/ansys-cfx.md | 11 +- .../salomon/software/ansys/ansys-fluent.md | 20 +- .../salomon/software/ansys/ansys-ls-dyna.md | 13 +- .../software/ansys/ansys-mechanical-apdl.md | 11 +- ...ys-products-mechanical-fluent-cfx-mapdl.md | 9 + .../salomon/software/ansys/ansys.md | 8 + .../salomon/software/ansys/licensing.md | 12 + .../ansys/setting-license-preferences.md | 17 +- .../salomon/software/ansys/workbench.md | 9 + .../salomon/software/chemistry/molpro.md | 14 +- .../salomon/software/chemistry/nwchem.md | 12 + .../salomon/software/chemistry/phono3py.md | 16 + .../salomon/software/compilers.md | 14 +- .../software/comsol/comsol-multiphysics.md | 47 +-- .../licensing-and-available-versions.md | 14 +- .../salomon/software/debuggers.md | 10 +- .../salomon/software/debuggers/aislinn.md | 22 +- .../salomon/software/debuggers/allinea-ddt.md | 24 +- .../debuggers/allinea-performance-reports.md | 15 + .../debuggers/intel-vtune-amplifier.md | 17 +- .../salomon/software/debuggers/report.png | Bin 0 -> 66893 bytes .../salomon/software/debuggers/summary.md | 10 +- .../salomon/software/debuggers/total-view.md | 27 +- .../salomon/software/debuggers/valgrind.md | 18 +- .../salomon/software/debuggers/vampir.md | 10 +- .../software/intel-suite/intel-advisor.md | 8 + .../software/intel-suite/intel-compilers.md | 8 + .../software/intel-suite/intel-debugger.md | 18 +- .../software/intel-suite/intel-inspector.md | 8 + ...intel-integrated-performance-primitives.md | 8 + .../salomon/software/intel-suite/intel-mkl.md | 10 +- .../intel-parallel-studio-introduction.md | 10 +- .../salomon/software/intel-suite/intel-tbb.md | 8 + .../intel-trace-analyzer-and-collector.md | 10 +- .../salomon/software/intel-xeon-phi.md | 34 ++- .../docs.it4i.cz/salomon/software/java.md | 12 + .../salomon/software/mpi-1/Running_OpenMPI.md | 8 + .../salomon/software/mpi-1/mpi.md | 16 +- .../software/mpi-1/mpi4py-mpi-for-python.md | 12 + .../numerical-languages/introduction.md | 14 +- .../software/numerical-languages/matlab.md | 16 +- .../software/numerical-languages/octave.md | 8 + .../salomon/software/numerical-languages/r.md | 30 +- .../salomon/software/operating-system.md | 12 + .../salomon/storage/cesnet-data-storage.md | 26 +- .../docs.it4i.cz/salomon/storage/storage.md | 48 ++- html_md.sh | 218 +++++--------- source/exceptions_filter_auto | 18 -- source/{list_folder.txt => list_folder} | 0 source/list_image_mv | 98 ++++++ source/list_image_mv.txt | 9 +- source/{list_md_mv.txt => list_md_mv} | 0 source/list_rm | 100 +++++++ source/list_rm.txt | 38 --- source/repairIMG | 108 +++++++ source/replace | 148 +++++++++ source/replace.txt | 280 ------------------ 166 files changed, 3031 insertions(+), 1052 deletions(-) delete mode 100644 converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vpnuiV.png create mode 100644 converted/docs.it4i.cz/salomon/software/debuggers/report.png delete mode 100644 source/exceptions_filter_auto rename source/{list_folder.txt => list_folder} (100%) create mode 100644 source/list_image_mv rename source/{list_md_mv.txt => list_md_mv} (100%) create mode 100644 source/list_rm delete mode 100644 source/list_rm.txt create mode 100644 source/repairIMG create mode 100644 source/replace delete mode 100644 source/replace.txt diff --git a/README.md b/README.md index 5842d66f..9cd2312d 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Převod html dokumentace do md formátu (version 0.36) - BETA +Převod html dokumentace do md formátu (version 0.4) - BETA =========================================================== Výsledkem projektu by měl být skript pro stažení a převod stávající dokumentace na docs.it4i.cz do md formátu @@ -18,11 +18,12 @@ Pro svou práci si naklonujete Gitem repozitář do svého pracovního adresář > * interní a externí odkazy > * formátování tabulek > * formátovámí textu v některých místech +> * doba převodu ~24min >**Změny v nové verzi** ->* oprava odkazu na obrázky ->* vylepšené filtrování ->* přidání testovacího parametru t1 pro kontrolu změn, v následující verzi bude sloučen... +> * oprava odkazu na obrázky a vylepšené filtrování +> * přehled o počtu souboru a stavu převodu +> * optimalizace, začlenění testovacích funkcí do hlavní větve programu ### Funkce skriptu @@ -42,4 +43,4 @@ Testování ```bash html_md.sh -t -``` \ No newline at end of file +``` diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md index 342fc28f..77868ae9 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md @@ -5,6 +5,14 @@ Outgoing connections + + + + + + + + Connection restrictions ----------------------- @@ -44,7 +52,7 @@ local $ ssh -R 6000:remote.host.com:1234 anselm.it4i.cz ``` In this example, we establish port forwarding between port 6000 on -Anselm and port 1234 on the remote.host.com. By ing +Anselm and port 1234 on the remote.host.com. By accessing localhost:6000 on Anselm, an application will see response of remote.host.com:1234. The traffic will run via users local workstation. @@ -55,7 +63,7 @@ Remote radio button. Insert 6000 to Source port textbox. Insert remote.host.com:1234. Click Add button, then Open. Port forwarding may be established directly to the remote host. However, -this requires that user has ssh to remote.host.com +this requires that user has ssh access to remote.host.com ``` $ ssh -L 6000:localhost:1234 remote.host.com @@ -66,7 +74,7 @@ Note: Port number 6000 is chosen as an example only. Pick any free port. ### Port forwarding from compute nodes Remote port forwarding from compute nodes allows applications running on -the compute nodes to hosts outside Anselm Cluster. +the compute nodes to access hosts outside Anselm Cluster. First, establish the remote port forwarding form the login node, as [described @@ -80,7 +88,7 @@ $ ssh -TN -f -L 6000:localhost:6000 login1 ``` In this example, we assume that port forwarding from login1:6000 to -remote.host.com:1234 has been established beforehand. By ing +remote.host.com:1234 has been established beforehand. By accessing localhost:6000, an application running on a compute node will see response of remote.host.com:1234 @@ -90,7 +98,7 @@ Port forwarding is static, each single port is mapped to a particular port on remote host. Connection to other remote host, requires new forward. -Applications with inbuilt proxy support, experience unlimited to +Applications with inbuilt proxy support, experience unlimited access to remote hosts, via single proxy server. To establish local proxy server on your workstation, install and run @@ -114,6 +122,10 @@ local $ ssh -R 6000:localhost:1080 anselm.it4i.cz ``` Now, configure the applications proxy settings to **localhost:6000**. -Use port forwarding to the [proxy server from compute +Use port forwarding to access the [proxy server from compute nodes](outgoing-connections.html#port-forwarding-from-compute-nodes) as well . + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md index 82f3ae41..8bcf8a55 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md @@ -1,14 +1,22 @@ -Shell and data transfer +Shell access and data transfer ============================== + + + + + + + + Interactive Login ----------------- -The Anselm cluster is ed by SSH protocol via login nodes login1 +The Anselm cluster is accessed by SSH protocol via login nodes login1 and login2 at address anselm.it4i.cz. The login nodes may be addressed specifically, by prepending the login node name to the address. @@ -19,7 +27,7 @@ login1.anselm.it4i.cz 22 ssh login1 login2.anselm.it4i.cz 22 ssh login2 The authentication is by the [private -key](../../../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) +key](../../../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) Please verify SSH fingerprints during the first logon. They are identical on all login nodes: @@ -44,7 +52,7 @@ local $ chmod 600 /path/to/id_rsa ``` On **Windows**, use [PuTTY ssh -client](../../../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/putty/putty.html). +client](../../../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty.html). After logging in, you will see the command prompt: @@ -79,10 +87,10 @@ Address Port anselm.it4i.cz 22 scp, sftp login1.anselm.it4i.cz 22 scp, sftp login2.anselm.it4i.cz 22 scp, sftp - class="discreet">dm1.anselm.it4i.cz class="discreet">22 class="discreet">scp, sftp</span> + class="discreet">dm1.anselm.it4i.cz 22 class="discreet">scp, sftp</span> The authentication is by the [private -key](../../../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) +key](../../../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) Data transfer rates up to **160MB/s** can be achieved with scp or sftp. 1TB may be transferred in 1:50h. @@ -138,3 +146,7 @@ way to mount the Anselm filesystems directly as an external disc. More information about the shared file systems is available [here](../../storage.html). + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md index e245539b..99df6595 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md @@ -5,6 +5,14 @@ VPN Access + + + + + + + + Accessing IT4Innovations internal resources via VPN --------------------------------------------------- @@ -46,9 +54,9 @@ for automatic installation.  -](../executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg "Execution access") - - +access](../executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg "Execution access") +access + After successful installation, VPN connection will be established and you can use available resources from IT4I network. @@ -92,13 +100,13 @@ After a successful login, the client will minimize to the system tray. If everything works, you can see a lock in the Cisco tray icon. -connection](../anyconnecticon.jpg "Successfull connection") + If you right-click on this icon, you will see a context menu in which you can control the VPN connection. - + + When you connect to the VPN for the first time, the client downloads the profile and creates a new item "ANSELM" in the connection list. For @@ -110,7 +118,7 @@ but just select the corresponding item. Then AnyConnect automatically proceeds like in the case of first logon. - + After a successful logon, you can see a green circle with a tick mark on the lock icon. @@ -120,3 +128,7 @@ the lock icon. For disconnecting, right-click on the AnyConnect client icon in the system tray and select **VPN Disconnect**. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md b/converted/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md index 46675a07..ae39e5e7 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md @@ -5,6 +5,14 @@ Compute Nodes + + + + + + + + Nodes Configuration ------------------- @@ -192,7 +200,7 @@ nodes.**** -** + **Figure Anselm bullx B510 servers**** @@ -207,17 +215,37 @@ Fat compute nodes 2 cn[208-209] 512GB 16 @ 2.4GHz qfat, + + + + Processor Architecture ---------------------- + + + + Anselm is equipped with Intel Sandy Bridge processors Intel Xeon E5-2665 (nodes without accelerator and fat nodes) and Intel Xeon E5-2470 (nodes with accelerator). Processors support Advanced Vector Extensions (AVX) 256-bit instruction set. + + + + ### Intel Sandy Bridge E5-2665 Processor + + + + + + + + - eight-core - speed: 2.4 GHz, up to 3.1 GHz using Turbo Boost Technology - peak performance: 19.2 Gflop/s per @@ -232,7 +260,23 @@ with accelerator). Processors support Advanced Vector Extensions (AVX) - memory bandwidth at the level of the processor: 51.2 GB/s + + + + + + + + ### Intel Sandy Bridge E5-2470 Processor + + + + + + + + - eight-core - speed: 2.3 GHz, up to 3.1 GHz using Turbo Boost Technology - peak performance: 18.4 Gflop/s per @@ -262,8 +306,20 @@ $ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16:cpu_freq=24 -I ``` + + + + In this example, we allocate 4 nodes, 16 cores at 2.4GHhz per node. + + + + + + + + Intel Turbo Boost Technology is used by default, you can disable it for all nodes of job by using resource attribute cpu_turbo_boost. @@ -274,7 +330,19 @@ all nodes of job by using resource attribute cpu_turbo_boost. Memory Architecture ------------------- + + + + ### Compute Node Without Accelerator + + + + + + + + - 2 sockets - Memory Controllers are integrated into processors. @@ -288,7 +356,23 @@ Memory Architecture - Populated memory: 8x 8GB DDR3 DIMM 1600Mhz + + + + + + + + ### Compute Node With GPU or MIC Accelerator + + + + + + + + - 2 sockets - Memory Controllers are integrated into processors. @@ -302,7 +386,23 @@ Memory Architecture - Populated memory: 6x 16GB DDR3 DIMM 1600Mhz + + + + + + + + ### Fat Compute Node + + + + + + + + - 2 sockets - Memory Controllers are integrated into processors. @@ -318,3 +418,10 @@ Memory Architecture + + + + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md b/converted/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md index b4a02b88..c8ee979a 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md @@ -5,6 +5,14 @@ Environment and Modules + + + + + + + + ### Environment Customization After logging in, you may want to configure the environment. Write your @@ -34,7 +42,7 @@ Do not run commands outputing to standard output (echo, module list, etc) in .bashrc for non-interactive SSH sessions. It breaks fundamental functionality (scp, PBS) of your account! Take care for SSH session interactivity for such commands as id="result_box" -class="short_text"> class="hps alt-edited">stated + class="hps alt-edited">stated in the previous example. ### Application Modules @@ -113,3 +121,7 @@ This command expands your searched paths to modules. You can also add this command to the .bashrc file to expand paths permanently. After this command, you can use same commands to list/add/remove modules as is described above. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md b/converted/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md index 39af24ff..e47a9f9f 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md @@ -5,12 +5,20 @@ Hardware Overview + + + + + + + + The Anselm cluster consists of 209 computational nodes named cn[1-209] of which 180 are regular compute nodes, 23 GPU Kepler K20 accelerated nodes, 4 MIC Xeon Phi 5110 accelerated nodes and 2 fat nodes. Each node is a class="WYSIWYG_LINK">powerful x86-64 computer, equipped with 16 cores (two eight-core Intel Sandy Bridge processors), -at least 64GB RAM, and local hard drive. The user to the Anselm +at least 64GB RAM, and local hard drive. The user access to the Anselm cluster is provided by two login nodes login[1,2]. The nodes are interlinked by high speed InfiniBand and Ethernet networks. All nodes share 320TB /home disk storage to store the user files. The 146TB shared @@ -19,7 +27,7 @@ share 320TB /home disk storage to store the user files. The 146TB shared The Fat nodes are equipped with large amount (512GB) of memory. Virtualization infrastructure provides resources to run long term servers and services in virtual mode. Fat nodes and virtual servers may - 45 TB of dedicated block storage. Accelerated nodes, fat nodes, +access 45 TB of dedicated block storage. Accelerated nodes, fat nodes, and virtualization infrastructure are available [upon request](https://support.it4i.cz/rt) made by a PI. @@ -348,9 +356,9 @@ disk storage available on all compute nodes /lscratch. [More about class="WYSIWYG_LINK">Storage](storage.html). -The user to the Anselm cluster is provided by two login nodes -login1, login2, and data mover node dm1. [More about ing -cluster.](ing-the-cluster.html) +The user access to the Anselm cluster is provided by two login nodes +login1, login2, and data mover node dm1. [More about accessing +cluster.](accessing-the-cluster.html) The parameters are summarized in the following tables: @@ -398,3 +406,7 @@ Fat compute node 2x Intel Sandy Bridge E5-2665, 2.4GHz 512GB - nodes](compute-nodes.html), [Storage](storage.html), and [Network](network.html). + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/introduction.md b/converted/docs.it4i.cz/anselm-cluster-documentation/introduction.md index 39979bff..8c5f98f7 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/introduction.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/introduction.md @@ -5,6 +5,14 @@ Introduction + + + + + + + + Welcome to Anselm supercomputer cluster. The Anselm cluster consists of 209 compute nodes, totaling 3344 compute cores with 15TB RAM and giving over 94 Tflop/s theoretical peak performance. Each node is a @@ -23,7 +31,7 @@ class="WYSIWYG_LINK">Linux family.](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg) We have installed a wide range of [software](software.1.html) packages targeted at -different scientific domains. These packages are ible via the +different scientific domains. These packages are accessible via the [modules environment](environment-and-modules.html). User data shared file-system (HOME, 320TB) and job data shared @@ -37,4 +45,8 @@ Read more on how to [apply for resources](../get-started-with-it4innovations/applying-for-resources.html), [obtain login credentials,](../get-started-with-it4innovations/obtaining-login-credentials.html) -and [ the cluster](accessing-the-cluster.html). +and [access the cluster](accessing-the-cluster.html). + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/network.md b/converted/docs.it4i.cz/anselm-cluster-documentation/network.md index 673a16d7..375b9fd4 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/network.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/network.md @@ -5,6 +5,14 @@ Network + + + + + + + + All compute and login nodes of Anselm are interconnected by [Infiniband](http://en.wikipedia.org/wiki/InfiniBand) QDR network and by Gigabit @@ -20,7 +28,7 @@ high-bandwidth, low-latency QDR network (IB 4x QDR, 40 Gbps). The network topology is a fully non-blocking fat-tree. -The compute nodes may be ed via the Infiniband network using ib0 +The compute nodes may be accessed via the Infiniband network using ib0 network interface, in address range 10.2.1.1-209. The MPI may be used to establish native Infiniband connection among the nodes. @@ -34,7 +42,7 @@ other nodes concurrently. Ethernet Network ---------------- -The compute nodes may be ed via the regular Gigabit Ethernet +The compute nodes may be accessed via the regular Gigabit Ethernet network interface eth0, in address range 10.1.1.1-209, or by using aliases cn1-cn209. The network provides **114MB/s** transfer rates via the TCP connection. @@ -55,5 +63,9 @@ $ ssh 10.2.1.110 $ ssh 10.1.1.108 ``` -In this example, we the node cn110 by Infiniband network via the +In this example, we access the node cn110 by Infiniband network via the ib0 interface, then from cn110 to cn108 by Ethernet network. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/prace.md b/converted/docs.it4i.cz/anselm-cluster-documentation/prace.md index 22b199c7..ba5c31d0 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/prace.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/prace.md @@ -5,6 +5,14 @@ PRACE User Support + + + + + + + + Intro ----- @@ -14,12 +22,12 @@ general documentation applies to them as well. This section shows the main differences for quicker orientation, but often uses references to the original documentation. PRACE users who don't undergo the full procedure (including signing the IT4I AuP on top of the PRACE AuP) will -not have a password and thus to some services intended for +not have a password and thus access to some services intended for regular users. This can lower their comfort, but otherwise they should be able to use the TIER-1 system as intended. Please see the [Obtaining Login Credentials section](../get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.html), -if the same level of is required. +if the same level of access is required. All general [PRACE User Documentation](http://www.prace-ri.eu/user-documentation/) @@ -35,7 +43,7 @@ Helpdesk](http://www.prace-ri.eu/helpdesk-guide264/). Information about the local services are provided in the [introduction of general user documentation](introduction.html). Please keep in mind, that standard PRACE accounts don't have a password -to the web interface of the local (IT4Innovations) request +to access the web interface of the local (IT4Innovations) request tracker and thus a new ticket should be created by sending an e-mail to support[at]it4i.cz. @@ -59,7 +67,7 @@ Accessing the cluster ### Access with GSI-SSH -For all PRACE users the method for interactive (login) and data +For all PRACE users the method for interactive access (login) and data transfer based on grid services from Globus Toolkit (GSI SSH and GridFTP) is supported. @@ -67,14 +75,14 @@ The user will need a valid certificate and to be present in the PRACE LDAP (please contact your HOME SITE or the primary investigator of your project for LDAP account creation). -Most of the information needed by PRACE users ing the Anselm +Most of the information needed by PRACE users accessing the Anselm TIER-1 system can be found here: - [General user's FAQ](http://www.prace-ri.eu/Users-General-FAQs) - [Certificates FAQ](http://www.prace-ri.eu/Certificates-FAQ) -- [Interactive using +- [Interactive access using GSISSH](http://www.prace-ri.eu/Interactive-Access-Using-gsissh) - [Data transfer with GridFTP](http://www.prace-ri.eu/Data-Transfer-with-GridFTP-Details) @@ -95,9 +103,9 @@ valid 12 hours), use: -To Anselm cluster, two login nodes running GSI SSH service are +To access Anselm cluster, two login nodes running GSI SSH service are available. The service is available from public Internet as well as from -the internal PRACE network (ible only from other PRACE partners). +the internal PRACE network (accessible only from other PRACE partners). Access from PRACE network:** @@ -162,12 +170,12 @@ gsiscp can be used: If the user needs to run X11 based graphical application and does not have a X11 server, the applications can be run using VNC service. If the -user is using regular SSH based , please see the [section in +user is using regular SSH based access, please see the [section in general documentation](https://docs.it4i.cz/anselm-cluster-documentation/resolveuid/11e53ad0d2fd4c5187537f4baeedff33). -If the user uses GSI SSH based , then the procedure is similar to -the SSH based ([look +If the user uses GSI SSH based access, then the procedure is similar to +the SSH based access ([look here](https://docs.it4i.cz/anselm-cluster-documentation/resolveuid/11e53ad0d2fd4c5187537f4baeedff33)), only the port forwarding must be done using GSI SSH: @@ -176,7 +184,7 @@ only the port forwarding must be done using GSI SSH: ### Access with SSH After successful obtainment of login credentials for the local -IT4Innovations account, the PRACE users can the cluster as +IT4Innovations account, the PRACE users can access the cluster as regular users using SSH. For more information please see the [section in general documentation](https://docs.it4i.cz/anselm-cluster-documentation/resolveuid/5d3d6f3d873a42e584cbf4365c4e251b). @@ -192,7 +200,7 @@ documentation](https://docs.it4i.cz/anselm-cluster-documentation/resolveuid/5d3d Apart from the standard mechanisms, for PRACE users to transfer data to/from Anselm cluster, a GridFTP server running Globus Toolkit GridFTP service is available. The service is available from public Internet as -well as from the internal PRACE network (ible only from other +well as from the internal PRACE network (accessible only from other PRACE partners). There's one control server and three backend servers for striping and/or @@ -268,8 +276,8 @@ Usage of the cluster -------------------- There are some limitations for PRACE user when using the cluster. By -default PRACE users aren't allowed to special queues in the PBS -Pro to have high priority or exclusive to some special equipment +default PRACE users aren't allowed to access special queues in the PBS +Pro to have high priority or exclusive access to some special equipment like accelerated nodes and high memory (fat) nodes. There may be also restrictions obtaining a working license for the commercial software installed on the cluster, mostly because of the license agreement or @@ -373,3 +381,7 @@ increase. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md b/converted/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md index 8cd08824..41c9e40e 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md @@ -1,12 +1,20 @@ Remote visualization service ============================ + + + + + + + + Introduction ------------ The goal of this service is to provide the users a GPU accelerated use of OpenGL applications, especially for pre- and post- processing work, -where not only the GPU performance is needed but also fast to the +where not only the GPU performance is needed but also fast access to the shared file systems of the cluster and a reasonable amount of RAM. The service is based on integration of open source tools VirtualGL and @@ -32,9 +40,9 @@ InfiniBand QDR Schematic overview ------------------ - + - + How to use the service ---------------------- @@ -120,7 +128,7 @@ $ ssh login2.anselm.it4i.cz -L 5901:localhost:5901 *If you use Windows and Putty, please refer to port forwarding setup in the documentation:* -[https://docs.it4i.cz/anselm-cluster-documentation/ing-the-cluster/x-window-and-vnc#section-12](accessing-the-cluster/x-window-and-vnc.html#section-12) +[https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc#section-12](accessing-the-cluster/x-window-and-vnc.html#section-12) #### 7. If you don't have Turbo VNC installed on your workstation. {#7-if-you-don-t-have-turbo-vnc-installed-on-your-workstation} @@ -138,7 +146,7 @@ $ vncviewer localhost:5901 *If you use Windows version of TurboVNC Viewer, just run the Viewer and use address **localhost:5901**.* -#### 9. Proceed to the chapter "Access the visualization node." {#9-proceed-to-the-chapter--the-visualization-node} +#### 9. Proceed to the chapter "Access the visualization node." {#9-proceed-to-the-chapter-access-the-visualization-node} *Now you should have working TurboVNC session connected to your workstation.* @@ -155,7 +163,7 @@ $ vncserver -kill :1 Access the visualization node ----------------------------- -To the node use a dedicated PBS Professional scheduler queue +To access the node use a dedicated PBS Professional scheduler queue qviz**. The queue has following properties: <table> @@ -196,7 +204,7 @@ default/max</th> </tbody> </table> -Currently when ing the node, each user gets 4 cores of a CPU +Currently when accessing the node, each user gets 4 cores of a CPU allocated, thus approximately 16 GB of RAM and 1/4 of the GPU capacity. *If more GPU power or RAM is required, it is recommended to allocate one whole node per user, so that all 16 cores, whole RAM and whole GPU is @@ -204,7 +212,7 @@ exclusive. This is currently also the maximum allowed allocation per one user. One hour of work is allocated by default, the user may ask for 2 hours maximum.* -To the visualization node, follow these steps: +To access the visualization node, follow these steps: #### 1. In your VNC session, open a terminal and allocate a node using PBSPro qsub command. {#1-in-your-vnc-session-open-a-terminal-and-allocate-a-node-using-pbspro-qsub-command} @@ -281,22 +289,25 @@ Tips and Tricks If you want to increase the responsibility of the visualization, please adjust your TurboVNC client settings in this way: - + To have an idea how the settings are affecting the resulting picture quality three levels of "JPEG image quality" are demonstrated: 1. JPEG image quality = 30 - + 2. JPEG image quality = 15 - + 3. JPEG image quality = 10 - + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md index 5ccce37c..1c23802d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md @@ -5,6 +5,14 @@ Capacity computing + + + + + + + + Introduction ------------ diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md index 4ba64d17..f914ccf6 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md @@ -5,6 +5,14 @@ Resource Allocation and Job Execution + + + + + + + + To run a [job](../introduction.html), [computational resources](../introduction.html) for this particular job must be allocated. This is done via the PBS Pro job workload manager @@ -22,8 +30,8 @@ The resources are allocated to the job in a fairshare fashion, subject to constraints set by the queue and resources available to the Project. [The Fairshare](job-priority.html) at Anselm ensures that individual users may consume approximately equal amount of -resources per week. The resources are ible via several queues for -queueing the jobs. The queues provide prioritized and exclusive +resources per week. The resources are accessible via several queues for +queueing the jobs. The queues provide prioritized and exclusive access to the computational resources. Following queues are available to Anselm users: @@ -72,3 +80,5 @@ Read more on [Capacity computing](capacity-computing.html) page. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md index e5a5d60e..f51d9e4c 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md @@ -1,6 +1,14 @@ Job scheduling ============== + + + + + + + + Job execution priority ---------------------- @@ -104,3 +112,5 @@ execution times and better resource usage. Jobs with suitable (small) walltime could be backfilled - and overtake job(s) with higher priority. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md index 41d61d31..f80fb145 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md @@ -5,6 +5,14 @@ Job submission and execution + + + + + + + + Job Submission -------------- @@ -149,11 +157,19 @@ switch can communicate most efficiently. Sharing the same switch prevents hops in the network and provides for unbiased, most efficient network communication. + + + + Nodes sharing the same switch may be selected via the PBS resource attribute ibswitch. Values of this attribute are iswXX, where XX is the switch number. The node-switch mapping can be seen at [Hardware Overview](../hardware-overview.html) section. + + + + We recommend allocating compute nodes of a single switch when best possible computational network performance is required to run the job efficiently: @@ -176,9 +192,21 @@ Advanced job handling Intel Turbo Boost Technology is on by default. We strongly recommend keeping the default. + + + + If necessary (such as in case of benchmarking) you can disable the Turbo for all nodes of the job by using the PBS resource attribute cpu_turbo_boost + + + + + + + + $ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16 -l cpu_turbo_boost=0 -I More about the Intel Turbo Boost in the TurboBoost section @@ -369,11 +397,11 @@ $ pwd In this example, 4 nodes were allocated interactively for 1 hour via the qexp queue. The interactive shell is executed in the home directory. -All nodes within the allocation may be ed via ssh. Unallocated -nodes are not ible to user. +All nodes within the allocation may be accessed via ssh. Unallocated +nodes are not accessible to user. -The allocated nodes are ible via ssh from login nodes. The nodes -may each other via ssh as well. +The allocated nodes are accessible via ssh from login nodes. The nodes +may access each other via ssh as well. Calculations on allocated nodes may be executed remotely via the MPI, ssh, pdsh or clush. You may find out which nodes belong to the @@ -542,3 +570,5 @@ computing](capacity-computing.html) section. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md index 881fa314..532ef20f 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md @@ -5,6 +5,14 @@ Resources Allocation Policy + + + + + + + + Resources Allocation Policy --------------------------- @@ -13,8 +21,8 @@ to constraints set by the queue and resources available to the Project. The Fairshare at Anselm ensures that individual users may consume approximately equal amount of resources per week. Detailed information in the [Job scheduling](job-priority.html) section. The -resources are ible via several queues for queueing the jobs. The -queues provide prioritized and exclusive to the computational +resources are accessible via several queues for queueing the jobs. The +queues provide prioritized and exclusive access to the computational resources. Following table provides the queue partitioning overview: @@ -135,7 +143,7 @@ select the proper nodes during the PSB job submission. - **qprod**, the Production queue****: This queue is intended for normal production runs. It is required that active project with nonzero remaining resources is specified to enter the qprod. All - nodes may be ed via the qprod queue, except the reserved ones. + nodes may be accessed via the qprod queue, except the reserved ones. >*>178 nodes without accelerator are included.* Full nodes, 16 cores per node are allocated. The queue runs with medium priority and no special @@ -144,14 +152,14 @@ select the proper nodes during the PSB job submission. - **qlong**, the Long queue****: This queue is intended for long production runs. It is required that active project with nonzero remaining resources is specified to enter the qlong. Only 60 nodes - without acceleration may be ed via the qlong queue. Full + without acceleration may be accessed via the qlong queue. Full nodes, 16 cores per node are allocated. The queue runs with medium priority and no special authorization is required to use it.> *The maximum runtime in qlong is 144 hours (three times of the standard qprod time - 3 * 48 h).* - **qnvidia, qmic, qfat**, the Dedicated queues****: The queue qnvidia - is dedicated to the Nvidia accelerated nodes, the qmic to - MIC nodes and qfat the Fat nodes. It is required that active + is dedicated to access the Nvidia accelerated nodes, the qmic to + access MIC nodes and qfat the Fat nodes. It is required that active project with nonzero remaining resources is specified to enter these queues. 23 nvidia, 4 mic and 2 fat nodes are included. Full nodes, 16 cores per node are allocated. The queues run with> @@ -168,7 +176,7 @@ select the proper nodes during the PSB job submission. after exhaustion of computational resources.). It is required that active project is specified to enter the queue, however no remaining resources are required. Consumed resources will be accounted to - the Project. Only 178 nodes without accelerator may be ed from + the Project. Only 178 nodes without accelerator may be accessed from this queue. Full nodes, 16 cores per node are allocated. The queue runs with very low priority and no special authorization is required to use it. The maximum runtime in qfree is 12 hours. @@ -193,7 +201,7 @@ Anselm users may check current queue configuration at Check the status of jobs, queues and compute nodes at <https://extranet.it4i.cz/anselm/> - + Display the queue status on Anselm: @@ -297,3 +305,5 @@ Password: + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md index e1c2bba1..1e398688 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md @@ -1,6 +1,14 @@ Overview of ANSYS Products ========================== + + + + + + + + [SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS Channel partner](http://www.ansys.com/)*** for Czech Republic provided all ANSYS licenses for ANSELM cluster and supports of @@ -14,7 +22,7 @@ are distinguished by "**Academic...**" word in the name of license or by two letter preposition "**aa_**" in the license feature name. Change of license is realized on command line respectively directly in user's pbs file (see individual products). [ id="result_box" -class="short_text"> More about + More about licensing here](ansys/licensing.html) @@ -32,3 +40,5 @@ solution to the Anselm directly from the client's Workbench project (see ANSYS RSM service). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md index 6e40eaa7..816d1fa6 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md @@ -1,6 +1,14 @@ ANSYS CFX ========= + + + + + + + + [ANSYS CFX](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+CFX) software is a high-performance, general purpose fluid dynamics program @@ -50,7 +58,7 @@ for host in `cat $PBS_NODEFILE` do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md index e725ae6a..95062db4 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md @@ -1,6 +1,14 @@ ANSYS Fluent ============ + + + + + + + + [ANSYS Fluent](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+Fluent) software contains the broad physical modeling capabilities needed to @@ -148,6 +156,14 @@ execute the job across multiple processors. + + + + + + + + >To run ANSYS Fluent in batch mode with user's config file you can utilize/modify the following script and execute it via the qsub command. @@ -180,7 +196,7 @@ command. cpus=‘expr $num_nodes * $NCPUS‘ #Default arguments for mpp jobs, these should be changed to suit your #needs. - fluent_args="-t$ $fluent_args -cnf=$PBS_NODEFILE" + fluent_args="-t${cpus} $fluent_args -cnf=$PBS_NODEFILE" ;; *) #SMP case diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md index 0369b68d..e8b84ab2 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md @@ -1,9 +1,17 @@ ANSYS LS-DYNA ============= + + + + + + + + [ANSYS LS-DYNA](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/Explicit+Dynamics/ANSYS+LS-DYNA) -software provides convenient and easy-to-use to the +software provides convenient and easy-to-use access to the technology-rich, time-tested explicit solver without the need to contend with the complex input requirements of this sophisticated program. Introduced in 1996, ANSYS LS-DYNA capabilities have helped customers in @@ -59,7 +67,7 @@ for host in `cat $PBS_NODEFILE` do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md index 37287cff..84f086b2 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md @@ -1,6 +1,14 @@ ANSYS MAPDL =========== + + + + + + + + >**[ANSYS Multiphysics](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/ANSYS+Multiphysics)** software offers a comprehensive product solution for both multiphysics @@ -45,7 +53,7 @@ for host in `cat $PBS_NODEFILE` do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md index 3591982a..66362a0d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md @@ -1,6 +1,14 @@ LS-DYNA ======= + + + + + + + + [LS-DYNA](http://www.lstc.com/) is a multi-purpose, explicit and implicit finite element program used to analyze the nonlinear dynamic response of structures. Its fully automated contact diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md index ade13a15..b526aaea 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md @@ -1,8 +1,20 @@ Molpro ====== + + + + Molpro is a complete system of ab initio programs for molecular electronic structure calculations. + + + + + + + + About Molpro ------------ @@ -14,7 +26,7 @@ License ------- Molpro software package is available only to users that have a valid -license. Please contact support to enable to Molpro if you have a +license. Please contact support to enable access to Molpro if you have a valid license appropriate for running on our cluster (eg. >academic research group licence, parallel execution). @@ -89,3 +101,5 @@ these are placed in the fast scratch filesystem. rm -rf /scratch/$USER/$PBS_JOBID + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md index 9ee1499e..c32bc8e5 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md @@ -1,7 +1,19 @@ NWChem ====== + + + + High-Performance Computational Chemistry + + + + + + + + >Introduction ------------------------- @@ -64,3 +76,5 @@ in the input file set the following directives : "direct" mode, eg. "scf direct" + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md index dc8f123e..c088e8fb 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md @@ -1,11 +1,23 @@ Compilers ========= + + + + Available compilers, including GNU, INTEL and UPC compilers + + + + + + + + Currently there are several compilers for different programming languages available on the Anselm cluster: @@ -32,7 +44,7 @@ GNU C/C++ and Fortran Compilers For compatibility reasons there are still available the original (old 4.4.6-4) versions of GNU compilers as part of the OS. These are -ible in the search path by default. +accessible in the search path by default. It is strongly recommended to use the up to date version (4.8.1) which comes with the module gcc: @@ -163,3 +175,5 @@ For information how to work with nVidia CUDA, please read the [nVidia CUDA page](nvidia-cuda.html). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md index 8019d803..0490ce30 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md @@ -5,11 +5,19 @@ COMSOL Multiphysics® + + + + + + + + >>Introduction ------------------------- ->>[COMSOL](http://www.comsol.com)><span> +>>[COMSOL](http://www.comsol.com) is a powerful environment for modelling and solving various engineering and scientific problems based on partial differential equations. COMSOL is designed to solve coupled or multiphysics phenomena. For many @@ -37,7 +45,7 @@ applications. others](http://www.comsol.com/products) >>COMSOL also allows an ->>><span>interface support for +>>interface support for equation-based modelling of >>partial differential equations. @@ -49,18 +57,18 @@ equations. >>On the Anselm cluster COMSOL is available in the latest stable version. There are two variants of the release: -- >>**Non commercial**><span> or so +- >>**Non commercial** or so called >>**EDU variant**>>, which can be used for research and educational purposes. -- >>**Commercial**><span> or so called - >>**COM variant**><span>, +- >>**Commercial** or so called + >>**COM variant**, which can used also for commercial activities. - >>**COM variant**><span> + >>**COM variant** has only subset of features compared to the >>**EDU - variant**>> available. + variant**>> available. <span id="result_box" More about licensing will be posted here @@ -73,7 +81,7 @@ stable version. There are two variants of the release: $ module load comsol ``` ->>By default the ><span>**EDU +>>By default the **EDU variant**>> will be loaded. If user needs other version or variant, load the particular version. To obtain the list of available versions use @@ -121,7 +129,7 @@ module load comsol ntask=$(wc -l $PBS_NODEFILE) -comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log +comsol -nn ${ntask} batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log ``` >>Working directory has to be created before sending the @@ -130,25 +138,25 @@ has to be in working directory or full path to input file has to be specified. The appropriate path to the temp directory of the job has to be set by command option (-tmpdir). -LiveLink™* *for MATLAB^®^ +LiveLink™* *for MATLAB®^ ------------------------- >>COMSOL is the software package for the numerical solution of the partial differential equations. LiveLink for MATLAB allows connection to the -COMSOL>>^><span><span><span><span>**®**</span></span></span></span></span>^ +COMSOL>><span><span><span><span><span>**®**</span></span></span></span></span>^ API (Application Programming Interface) with the benefits of the programming language and computing environment of the MATLAB. >>LiveLink for MATLAB is available in both ->>**EDU**><span> and ->>**COM**><span> ->>**variant**><span> of the +>>**EDU** and +>>**COM** +>>**variant** of the COMSOL release. On Anselm 1 commercial -(>>**COM**><span>) license +(>>**COM**) license and the 5 educational -(>>**EDU**><span>) licenses +(>>**EDU**) licenses of LiveLink for MATLAB (please see the [ISV Licenses](../isv_licenses.html)) are available. Following example shows how to start COMSOL model from MATLAB via @@ -192,7 +200,7 @@ module load comsol/43b-EDU ntask=$(wc -l $PBS_NODEFILE) -comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/$USER & +comsol -nn ${ntask} server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/$USER & cd /apps/engineering/comsol/comsol43b/mli matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/$USER; test_job" ``` @@ -205,3 +213,7 @@ path to input file has to be specified. The Matlab command option (-r ”mphstart”) created a connection with a COMSOL server using the default port number. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.md index 50587938..719aee66 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.md @@ -5,6 +5,14 @@ Debuggers and profilers summary + + + + + + + + Introduction ------------ @@ -90,3 +98,5 @@ Read more at the [Vampir](../../salomon/software/debuggers/vampir.html) page. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md index 6397524f..10f99442 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md @@ -5,6 +5,14 @@ Allinea Forge (DDT,MAP) + + + + + + + + Allinea Forge consist of two tools - debugger DDT and profiler MAP. Allinea DDT, is a commercial debugger primarily for debugging parallel @@ -61,11 +69,11 @@ $ mpif90 -g -O0 -o test_debug test.f Before debugging, you need to compile your code with theses flags: --g** : Generates extra debugging information usable by GDB. -g3 +-g** : Generates extra debugging information usable by GDB. -g3** includes even more debugging information. This option is available for GNU and INTEL C/C++ and Fortran compilers. --O0** : Suppress all optimizations. +-O0** : Suppress all optimizations.** @@ -77,7 +85,7 @@ forwarding enabled. This could mean using the -X in the ssh: $ ssh -X username@anselm.it4i.cz -Other options is to login node using VNC. Please see the detailed +Other options is to access login node using VNC. Please see the detailed information on how to [use graphic user interface on Anselm](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/resolveuid/11e53ad0d2fd4c5187537f4baeedff33) . @@ -130,3 +138,5 @@ Debugging with Allinea DDT, Workshop conducted at LLNL by Allinea on May + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md index 16c14756..77f9ce55 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md @@ -1,11 +1,23 @@ Allinea Performance Reports =========================== + + + + quick application profiling + + + + + + + + Introduction ------------ @@ -75,3 +87,7 @@ and [mympiprog_32p*.html](mympiprog_32p_2014-10-15_16-56.html) were created. We can see that the code is very efficient on MPI and is CPU bounded. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md index d84e0da1..80a5cdfd 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md @@ -1,6 +1,14 @@ CUBE ==== + + + + + + + + Introduction ------------ @@ -22,6 +30,10 @@ dimension is organized by files and routines in your source code etc. + + + +  @@ -70,3 +82,5 @@ performance data will be available. 1.<http://www.scalasca.org/software/cube-4.x/download.html> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md index 7ad500b8..90174f56 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md @@ -1,6 +1,14 @@ Intel Performance Counter Monitor ================================= + + + + + + + + Introduction ------------ @@ -85,7 +93,7 @@ Usage: > pcm-power.x <delay> | ### pcm This command provides an overview of performance counters and memory -usage. >Usage: > pcm.x +usage. >Usage: > <span pcm.x <delay> | <external program> Sample output : @@ -207,7 +215,7 @@ installed on Anselm. API --- -In a similar fashion to PAPI, PCM provides a C++ API to the +In a similar fashion to PAPI, PCM provides a C++ API to access the performance counter from within your application. Refer to the [doxygen documentation](http://intel-pcm-api-documentation.github.io/classPCM.html) for details of the API. @@ -300,3 +308,5 @@ References Documentation + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md index b4569b28..eeffc7a7 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md @@ -5,6 +5,14 @@ Intel VTune Amplifier + + + + + + + + Introduction ------------ @@ -19,7 +27,11 @@ highlight of the features: bandwidth - Power usage analysis - frequency and sleep states. - + + + + + @@ -110,3 +122,7 @@ References 1.><https://www.rcac.purdue.edu/tutorials/phi/PerformanceTuningXeonPhi-Tullos.pdf> Performance Tuning for Intel® Xeon Phi™ Coprocessors + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md index 580197ae..59406fda 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md @@ -5,11 +5,19 @@ PAPI + + + + + + + + Introduction ------------ dir="auto">Performance Application Programming -Interface >(PAPI) is a portable interface to +Interface >(PAPI) is a portable interface to access hardware performance counters (such as instruction counts and cache misses) found in most modern architectures. With the new component framework, PAPI is not limited only to CPU counters, but offers also @@ -102,6 +110,10 @@ PAPI provides two kinds of events: - **Native events **is a set of all events supported by the current hardware. This is a larger set of features than preset. For other components than CPU, only native events are usually available. + + + + To use PAPI in your application, you need to link the appropriate include file. @@ -110,6 +122,10 @@ include file. - f90papi.h for Fortran 90 - fpapi.h for Fortran with preprocessor + + + + The include path is automatically added by papi module to $INCLUDE. @@ -269,3 +285,5 @@ References 3.<http://icl.cs.utk.edu/papi/docs/> API Documentation + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md index 3fff2cf0..697152de 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md @@ -1,6 +1,14 @@ Scalasca ======== + + + + + + + + >Introduction ------------------------- @@ -107,3 +115,5 @@ References 1.<http://www.scalasca.org/> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md index 15482da4..1a8e7cd8 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md @@ -1,6 +1,14 @@ Score-P ======= + + + + + + + + Introduction ------------ @@ -21,7 +29,7 @@ on Anselm : - class="s1">scorep/1.2.3-gcc-openmpi>, for usage with [GNU - Compiler](../compilers.html)> and [OpenMPI](../mpi-1/Running_OpenMPI.html)>,</span> + Compiler](../compilers.html)> and [OpenMPI](../mpi-1/Running_OpenMPI.html){.internal>,</span> - class="s1">scorep/1.2.3-icc-impi>, for usage with [Intel @@ -146,3 +154,6 @@ Again, please refer to the [documentation](https://silc.zih.tu-dresden.de/scorep-current/pdf/scorep.pdf) for a more elaborate description. + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md index b60cde8f..b8bced0e 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md @@ -5,6 +5,14 @@ Debuggers and profilers summary + + + + + + + + Introduction ------------ @@ -85,3 +93,7 @@ Vampir is a GUI trace analyzer for traces in OTF format. Read more at the [Vampir](../../../salomon/software/debuggers/vampir.html) page. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md index e7bb3eb1..80c232cd 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md @@ -1,8 +1,20 @@ Total View ========== + + + + TotalView is a GUI-based source code multi-process, multi-thread debugger. + + + + + + + + License and Limitations for Anselm Users ---------------------------------------- @@ -51,11 +63,11 @@ Compile the code: Before debugging, you need to compile your code with theses flags: --g** : Generates extra debugging information usable by GDB. -g3 +-g** : Generates extra debugging information usable by GDB. -g3** includes even more debugging information. This option is available for GNU and INTEL C/C++ and Fortran compilers. --O0** : Suppress all optimizations. +-O0** : Suppress all optimizations.** Starting a Job with TotalView ----------------------------- @@ -65,7 +77,7 @@ using the -X in the ssh: ssh -X username@anselm.it4i.cz -Other options is to login node using VNC. Please see the detailed +Other options is to access login node using VNC. Please see the detailed information on how to use graphic user interface on Anselm [here](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/resolveuid/11e53ad0d2fd4c5187537f4baeedff33#VNC). @@ -92,8 +104,8 @@ Please note:** To be able to run parallel debugging procedure from the command line without stopping the debugger in the mpiexec source code you have to add the following function to your **~/.tvdrc** file: - proc mpi_auto_run_starter { - set starter_programs + proc mpi_auto_run_starter {loaded_id} { + set starter_programs {mpirun mpiexec orterun} set executable_name [TV::symbol get $loaded_id full_pathname] set file_component [file tail $executable_name] @@ -161,3 +173,7 @@ Documentation documentation](http://www.roguewave.com/support/product-documentation/totalview-family.aspx#totalview) web page is a good resource for learning more about some of the advanced TotalView features. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md index 77fcfe6a..2123bb93 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md @@ -1,7 +1,19 @@ Valgrind ======== + + + + Valgrind is a tool for memory debugging and profiling. + + + + + + + + About Valgrind -------------- @@ -20,8 +32,8 @@ Valgrind run 5-100 times slower. The main tools available in Valgrind are : - **Memcheck**, the original, must used and default tool. Verifies - memory in you program and can detect use of unitialized - memory, out of bounds memory , memory leaks, double free, etc. + memory access in you program and can detect use of unitialized + memory, out of bounds memory access, memory leaks, double free, etc. - **Massif**, a heap profiler. - **Hellgrind** and **DRD** can detect race conditions in multi-threaded applications. @@ -116,7 +128,7 @@ description of command line options. ==12652== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 6 from 6) In the output we can see that Valgrind has detected both errors - the -off-by-one memory at line 5 and a memory leak of 40 bytes. If we +off-by-one memory access at line 5 and a memory leak of 40 bytes. If we want a detailed analysis of the memory leak, we need to run Valgrind with --leak-check=full option : @@ -288,3 +300,7 @@ launched MPI process) We can see that Valgrind has reported use of unitialised memory on the master process (which reads the array to be broadcasted) and use of unaddresable memory on both processes. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md index f073038c..c61edbc8 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md @@ -1,6 +1,14 @@ Vampir ====== + + + + + + + + Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool @@ -32,3 +40,5 @@ References 1.<https://www.vampir.eu> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md index 954fbca2..c4d0de9c 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md @@ -1,11 +1,23 @@ GPI-2 ===== + + + + A library that implements the GASPI specification + + + + + + + + Introduction ------------ diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md index 048a009a..16b07fef 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md @@ -5,6 +5,14 @@ Intel Parallel Studio + + + + + + + + The Anselm cluster provides following elements of the Intel Parallel Studio XE @@ -94,3 +102,5 @@ Read more at the [Intel TBB](intel-suite/intel-tbb.html) page. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md index 92023bac..790c7160 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md @@ -5,6 +5,14 @@ Intel Compilers + + + + + + + + The Intel compilers version 13.1.1 are available, via module intel. The compilers include the icc C and C++ compiler and the ifort fortran 77/90/95 compiler. @@ -67,3 +75,5 @@ doing >this: will result in larger binaries. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md index 1b6fc1c2..5199e190 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md @@ -5,6 +5,14 @@ Intel Debugger + + + + + + + + Debugging serial applications ----------------------------- @@ -23,7 +31,7 @@ The debugger may run in text mode. To debug in text mode, use $ idbc To debug on the compute nodes, module intel must be loaded. -The GUI on compute nodes may be ed using the same way as in [the +The GUI on compute nodes may be accessed using the same way as in [the GUI section](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/resolveuid/11e53ad0d2fd4c5187537f4baeedff33) @@ -40,7 +48,7 @@ Example: In this example, we allocate 1 full compute node, compile program myprog.c with debugging options -O0 -g and run the idb debugger -interactively on the myprog.x executable. The GUI is via X11 port +interactively on the myprog.x executable. The GUI access is via X11 port forwarding provided by the PBS workload manager. Debugging parallel applications @@ -98,3 +106,5 @@ website, <http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/debugger/user_guide/index.htm> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md index 0945105c..14d9e68d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md @@ -5,6 +5,14 @@ Intel IPP + + + + + + + + Intel Integrated Performance Primitives --------------------------------------- @@ -95,3 +103,5 @@ in particular the [IPP Reference manual.](http://software.intel.com/sites/products/documentation/doclib/ipp_sa/71/ipp_manual/index.htm) + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md index 2a84fe48..dfc8761d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md @@ -6,6 +6,14 @@ Intel MKL + + + + + + + + Intel Math Kernel Library ------------------------- @@ -87,7 +95,7 @@ With intel compiler use -mkl option to link default threaded MKL. The MKL library provides number of interfaces. The fundamental once are the LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit integer -type (necessary for indexing large arrays, with more than 2^31^-1 +type (necessary for indexing large arrays, with more than 231^-1 elements), whereas the LP64 libraries index arrays with the 32-bit integer type. @@ -195,3 +203,5 @@ particular the [MKL users guide](https://software.intel.com/en-us/intel-mkl/documentation/linux). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md index d4a7b981..50600509 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md @@ -5,6 +5,14 @@ Intel Parallel Studio + + + + + + + + The Anselm cluster provides following elements of the Intel Parallel Studio XE @@ -91,3 +99,5 @@ manner. Read more at the [Intel TBB](intel-tbb.html) page. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md index c9dde88e..7a4cae0c 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md @@ -5,6 +5,14 @@ Intel TBB + + + + + + + + Intel Threading Building Blocks ------------------------------- @@ -55,3 +63,5 @@ Read more on Intel website, <http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md index 21ac1ca8..1a3933de 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md @@ -1,11 +1,23 @@ Intel Xeon Phi ============== + + + + A guide to Intel Xeon Phi usage + + + + + + + + Intel Xeon Phi can be programmed in several modes. The default mode on Anselm is offload mode, but all modes described in this document are supported. @@ -13,7 +25,7 @@ supported. Intel Utilities for Xeon Phi ---------------------------- -To get to a compute node with Intel Xeon Phi accelerator, use the +To get access to a compute node with Intel Xeon Phi accelerator, use the PBS interactive session $ qsub -I -q qmic -A NONE-0-0 @@ -404,7 +416,7 @@ Phi: ### Execution of the Program in Native Mode on Intel Xeon Phi -The user to the Intel Xeon Phi is through the SSH. Since user +The user access to the Intel Xeon Phi is through the SSH. Since user home directories are mounted using NFS on the accelerator, users do not have to copy binary files or libraries between the host and accelerator. @@ -662,7 +674,7 @@ Similarly to execution of OpenMP programs in native mode, since the environmental module are not supported on MIC, user has to setup paths to Intel MPI libraries and binaries manually. One time setup can be done by creating a "**.profile**" file in user's home directory. This file -sets up the environment on the MIC automatically once user to the +sets up the environment on the MIC automatically once user access to the accelerator through the SSH. $ vim ~/.profile @@ -684,7 +696,7 @@ libraries. library and particular version of an Intel compiler. These versions have to match with loaded modules. -To a MIC accelerator located on a node that user is currently +To access a MIC accelerator located on a node that user is currently connected to, use: $ ssh mic0 @@ -756,7 +768,7 @@ execute: Execution on host - MPI processes distributed over multiple accelerators on multiple nodes** ->To get to multiple nodes with MIC accelerator, user has to +>To get access to multiple nodes with MIC accelerator, user has to use PBS to allocate the resources. To start interactive session, that allocates 2 compute nodes = 2 MIC accelerators run qsub command with following parameters: @@ -777,7 +789,7 @@ immediately. To see the other nodes that have been allocated use: cn205.bullx >This output means that the PBS allocated nodes cn204 and cn205, -which means that user has direct to "**cn204-mic0**" and +which means that user has direct access to "**cn204-mic0**" and "**cn-205-mic0**" accelerators. >Please note: At this point user can connect to any of the @@ -937,11 +949,11 @@ PBS also generates a set of node-files that can be used instead of manually creating a new one every time. Three node-files are genereated: Host only node-file:** - - /lscratch/$/nodefile-cn + - /lscratch/${PBS_JOBID}/nodefile-cn MIC only node-file**: - - /lscratch/$/nodefile-mic + - /lscratch/${PBS_JOBID}/nodefile-mic Host and MIC node-file**: - - /lscratch/$/nodefile-mix + - /lscratch/${PBS_JOBID}/nodefile-mix Please note each host or accelerator is listed only per files. User has to specify how many jobs should be executed per node using "-n" diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md index 667b7c11..75b279db 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md @@ -1,11 +1,23 @@ ISV Licenses ============ + + + + A guide to managing Independent Software Vendor licences + + + + + + + + On Anselm cluster there are also installed commercial software applications, also known as ISV (Independent Software Vendor), which are subjects to licensing. The licenses are limited and their usage may be @@ -24,7 +36,7 @@ non-commercial version. Overview of the licenses usage ------------------------------ -The overview is generated every minute and is ible from web or +The overview is generated every minute and is accessible from web or command line interface. ### Web interface @@ -40,7 +52,7 @@ number of free license features For each license there is a unique text file, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features. The text files are -ible from the Anselm command prompt. +accessible from the Anselm command prompt. Product File with license state Note ------------ ----------------------------------------------------- --------------------- @@ -80,7 +92,7 @@ Each feature of each license is accounted and checked by the scheduler of PBS Pro. If you ask for certain licences, the scheduler won't start the job until the asked licenses are free (available). This prevents to crash batch jobs, just because of id="result_box" -class="short_text"> unavailability of the + unavailability of the needed licenses. The general format of the name is: diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/java.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/java.md index 6bf87d7f..294e7901 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/java.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/java.md @@ -1,11 +1,23 @@ Java ==== + + + + Java on ANSELM + + + + + + + + Java is available on Anselm cluster. Activate java by loading the java module @@ -33,3 +45,5 @@ you require the java interface to MPI, please contact [Anselm support](https://support.it4i.cz/rt/). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/kvirtualization.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/kvirtualization.md index 38885466..9acb9278 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/kvirtualization.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/kvirtualization.md @@ -1,11 +1,23 @@ Virtualization ============== + + + + Running virtual machines on compute nodes + + + + + + + + Introduction ------------ @@ -18,7 +30,7 @@ needs. tools - Application requires specific setup (installation, configuration) of complex software stack -- Application requires privileged to operating system +- Application requires privileged access to operating system - ... and combinations of above cases We offer solution for these cases - **virtualization**. Anselm's @@ -85,7 +97,7 @@ running in their virtual machines. We propose this job workflow: - +Workflow](virtualization-job-workflow "Virtualization Job Workflow") Our recommended solution is that job script creates distinct shared job directory, which makes a central point for data exchange between @@ -223,7 +235,7 @@ for 5 minutes, then shutdown virtual machine. ### Create job script for executing virtual machine Create job script according recommended id="result_box" -class="short_text"> + [Virtual Machine Job Workflow](virtualization.html#virtual-machine-job-workflow). @@ -231,7 +243,7 @@ Example job for Windows virtual machine: #/bin/sh - JOB_DIR=/scratch/$USER/win/$ + JOB_DIR=/scratch/$USER/win/${PBS_JOBID} #Virtual machine settings VM_IMAGE=~/work/img/win.img @@ -239,25 +251,25 @@ Example job for Windows virtual machine: VM_SMP=16 # Prepare job dir - mkdir -p $ && cd $ || exit 1 + mkdir -p ${JOB_DIR} && cd ${JOB_DIR} || exit 1 ln -s ~/work/win . ln -s /scratch/$USER/data . ln -s ~/work/win/script/run/run-appl.bat run.bat # Run virtual machine - export TMPDIR=/lscratch/$ + export TMPDIR=/lscratch/${PBS_JOBID} module add qemu qemu-system-x86_64 -enable-kvm -cpu host - -smp $ - -m $ + -smp ${VM_SMP} + -m ${VM_MEMORY} -vga std -localtime -usb -usbdevice tablet -device virtio-net-pci,netdev=net0 - -netdev user,id=net0,smb=$,hostfwd=tcp::3389-:3389 - -drive file=$,media=disk,if=virtio + -netdev user,id=net0,smb=${JOB_DIR},hostfwd=tcp::3389-:3389 + -drive file=${VM_IMAGE},media=disk,if=virtio -snapshot -nographic @@ -299,9 +311,9 @@ Run virtual machine (simple) $ qemu-system-x86_64 -hda win.img -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -vnc :0 -You can virtual machine by VNC viewer (option -vnc) connecting to +You can access virtual machine by VNC viewer (option -vnc) connecting to IP address of compute node. For VNC you must use [VPN -network](../../ing-the-cluster/vpn-access.html). +network](../../accessing-the-cluster/vpn-access.html). Install virtual machine from iso file @@ -316,10 +328,10 @@ sharing and port forwarding, in snapshot mode $ qemu-system-x86_64 -drive file=win.img,media=disk,if=virtio -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::3389-:3389 -vnc :0 -snapshot -Thanks to port forwarding you can virtual machine via SSH (Linux) +Thanks to port forwarding you can access virtual machine via SSH (Linux) or RDP (Windows) connecting to IP address of compute node (and port 2222 for SSH). You must use [VPN -network](../../ing-the-cluster/vpn-access.html). +network](../../accessing-the-cluster/vpn-access.html). Keep in mind, that if you use virtio devices, you must have virtio drivers installed on your virtual machine. @@ -334,7 +346,7 @@ SMB sharing, port forwarding. In default configuration IP network 10.0.2.0/24 is used, host has IP address 10.0.2.2, DNS server 10.0.2.3, SMB server 10.0.2.4 and virtual machines obtain address from range 10.0.2.15-10.0.2.31. Virtual machines -have to Anselm's network via NAT on compute node (host). +have access to Anselm's network via NAT on compute node (host). Simple network setup @@ -353,9 +365,9 @@ Optimized network setup with sharing and port forwarding ### Advanced networking -Internet ** +Internet access** -Sometime your virtual machine needs to internet (install +Sometime your virtual machine needs access to internet (install software, updates, software activation, etc). We suggest solution using Virtual Distributed Ethernet (VDE) enabled QEMU with SLIRP running on login node tunnelled to compute node. Be aware, this setup has very low @@ -479,7 +491,7 @@ file (and discarded after virtual machine exits). **It is strongly recommended mode for running your jobs.** Set TMPDIR environment variable to local scratch directory for placement temporary files. - $ export TMPDIR=/lscratch/$ + $ export TMPDIR=/lscratch/${PBS_JOBID} $ qemu-system-x86_64 ... -snapshot ### Windows guests @@ -489,3 +501,5 @@ For Windows guests we recommend these options, life will be easier: $ qemu-system-x86_64 ... -localtime -usb -usbdevice tablet + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md index c8ae4858..94f4063b 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md @@ -5,6 +5,14 @@ Running OpenMPI + + + + + + + + OpenMPI program execution ------------------------- @@ -273,3 +281,5 @@ Some options have changed in OpenMPI version 1.8. </table> + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md index c74b65cb..52cd3f2d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md @@ -5,6 +5,14 @@ MPI + + + + + + + + Setting up MPI Environment -------------------------- @@ -150,7 +158,7 @@ scratch /lscratch filesystem. ### Ways to run MPI programs Optimal way to run an MPI program depends on its memory requirements, -memory pattern and communication pattern. +memory access pattern and communication pattern. Consider these ways to run an MPI program: 1. One MPI process per node, 16 threads per process @@ -161,13 +169,13 @@ One MPI** process per node, using 16 threads, is most useful for memory demanding applications, that make good use of processor cache memory and are not memory bound. This is also a preferred way for communication intensive applications as one process per node enjoys full -bandwidth to the network interface. +bandwidth access to the network interface. Two MPI** processes per node, using 8 threads each, bound to processor socket is most useful for memory bandwidth bound applications such as BLAS1 or FFT, with scalable memory demand. However, note that the two -processes will share to the network interface. The 8 threads and -socket binding should ensure maximum memory bandwidth and +processes will share access to the network interface. The 8 threads and +socket binding should ensure maximum memory access bandwidth and minimize communication, migration and numa effect overheads. Important! Bind every OpenMP thread to a core! @@ -199,3 +207,5 @@ more on [how to run Intel MPI on accelerators](../intel-xeon-phi.html). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md index 725ccf16..2eee46e1 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md @@ -1,11 +1,23 @@ MPI4Py (MPI for Python) ======================= + + + + OpenMPI interface to Python + + + + + + + + Introduction ------------ @@ -105,3 +117,5 @@ More examples and documentation can be found on [MPI for Python webpage](https://pythonhosted.org/mpi4py/usrman/index.html). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md index e228281a..c8cd47ec 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md @@ -5,12 +5,20 @@ Running MPICH2 + + + + + + + + MPICH2 program execution ------------------------ The MPICH2 programs use mpd daemon or ssh connection to spawn processes, no PBS support is needed. However the PBS allocation is required to - compute nodes. On Anselm, the **Intel MPI** and **mpich2 1.9** +access compute nodes. On Anselm, the **Intel MPI** and **mpich2 1.9** are MPICH2 based MPI implementations. ### Basic usage @@ -193,3 +201,5 @@ chapter](../intel-xeon-phi.html) provides details on how to run Intel MPI code on Xeon Phi architecture. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md index 05905cd8..79a4d0e6 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md @@ -5,6 +5,14 @@ Matlab + + + + + + + + Introduction ------------ @@ -36,12 +44,12 @@ Matlab on the compute nodes via PBS Pro scheduler. If you require the Matlab GUI, please follow the general informations about [running graphical -applications](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +applications](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part -[here](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)) +[here](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)) is recommended. To run Matlab with GUI, use @@ -97,7 +105,7 @@ Anselm. Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see [this -page](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +page](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). $ xhost + $ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 @@ -109,7 +117,7 @@ The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses. -Once the to compute nodes is granted by PBS, user can load +Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: r1i0n17$ module load MATLAB/2015b-EDU @@ -349,3 +357,5 @@ mode](copy_of_matlab.html#parallel-matlab-batch-job-in-local-mode), + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md index 320a5663..31eb1129 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md @@ -1,11 +1,23 @@ Numerical languages =================== + + + + Interpreted languages for numerical computations and analysis + + + + + + + + Introduction ------------ @@ -15,7 +27,7 @@ primarily intended for numerical computations. Matlab ------ -MATLAB^®^ is a high-level language and interactive environment for +MATLAB®^ is a high-level language and interactive environment for numerical computation, visualization, and programming. $ module load MATLAB/2015b-EDU @@ -48,3 +60,5 @@ computing and graphics. Read more at the [R page](r.html). + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md index ed43615d..386ed44e 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md @@ -5,6 +5,14 @@ Matlab 2013-2014 + + + + + + + + Introduction ------------ @@ -71,7 +79,7 @@ non-interactive PBS sessions. This mode guarantees that the data processing is not performed on login nodes, but all processing is on compute nodes. - +  For the performance reasons Matlab should use system MPI. On Anselm the supported MPI implementation for Matlab is Intel MPI. To switch to @@ -92,7 +100,7 @@ be exactly the same as in the following listing: mpl = strcat(mpich, 'libmpl.so'); opa = strcat(mpich, 'libopa.so'); - extras = ; + extras = {}; System MPI library allows Matlab to communicate through 40Gbps Infiniband QDR interconnect instead of slower 1Gb ethernet network. @@ -124,7 +132,7 @@ The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 32 Distributed Computing Engines licenses. -Once the to compute nodes is granted by PBS, user can load +Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: cn79$ module load matlab/R2013a-EDU @@ -264,3 +272,5 @@ compute nodes number of workers start-up time[s] + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md index 04e38a45..f4843c40 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md @@ -5,6 +5,14 @@ Octave + + + + + + + + Introduction ------------ @@ -150,3 +158,5 @@ other mechanism) will actually run slower than on host CPU. > + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md index c507ac4f..a9edbe52 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md @@ -5,6 +5,14 @@ R + + + + + + + + Introduction ------------ @@ -34,12 +42,12 @@ Modules ------- **The R version 3.0.1 is available on Anselm, along with GUI interface -Rstudio** +Rstudio Application Version module ------------- -------------- --------- R** R 3.0.1 R -Rstudio**** Rstudio 0.97 Rstudio +Rstudio** Rstudio 0.97 Rstudio $ module load R @@ -55,10 +63,10 @@ OMP_NUM_THREADS environment variable. ### Interactive execution -To run R interactively, using Rstudio** GUI, log in with ssh -X parameter +To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 forwarding. Run rstudio: - $ module load Rstudio** + $ module load Rstudio $ rstudio ### Batch execution @@ -391,7 +399,7 @@ The above is the mpi.apply MPI example for calculating the number π. Only the slave processes carry out the calculation. Note the mpi.parSapply(), ** function call. The package parallel -[example](r.html#package-parallel)[above](r.html#package-parallel) +[example](r.html#package-parallel)[above](r.html#package-parallel){.anchor may be trivially adapted (for much better performance) to this structure using the mclapply() in place of mpi.parSapply(). @@ -446,3 +454,8 @@ and general [MPI](../mpi-1.html) sections. + + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md index c35d9412..a5a568ee 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md @@ -1,11 +1,23 @@ FFTW ==== + + + + The discrete Fourier transform in one or more dimensions, MPI parallel + + + + + + + + FFTW is a C subroutine library for computing the discrete Fourier @@ -153,3 +165,7 @@ program](../mpi-1/running-mpich2.html). Read more on FFTW usage on the [FFTW website.](http://www.fftw.org/fftw3_doc/) + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md index 00ea8e87..1e7ef10d 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md @@ -1,12 +1,24 @@ GSL === + + + + The GNU Scientific Library. Provides a wide range of mathematical routines. + + + + + + + + Introduction ------------ @@ -164,3 +176,6 @@ library search path is compiled in, so that no modules are necessary to run the code. + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md index 13b8f367..5048c00c 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md @@ -1,7 +1,19 @@ HDF5 ==== + + + + Hierarchical Data Format library. Serial and MPI parallel version. + + + + + + + + [HDF5 (Hierarchical Data Format)](http://www.hdfgroup.org/HDF5/) is a @@ -154,10 +166,10 @@ Example status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset_data); - /* End to the dataset and release resources used by it. */ + /* End access to the dataset and release resources used by it. */ status = H5Dclose(dataset_id); - /* Terminate to the data space. */ + /* Terminate access to the data space. */ status = H5Sclose(dataspace_id); /* Close the file. */ @@ -184,9 +196,13 @@ For further informations, please see the website: -class="smarterwiki-popup-bubble smarterwiki-popup-bubble-active smarterwiki-popup-bubble-flipped"> + class="smarterwiki-popup-bubble-tip"> -class="smarterwiki-popup-bubble-body"> -class="smarterwiki-popup-bubble-links-container"> -class="smarterwiki-popup-bubble-links"> -btnI=I'm+Feeling+Lucky&btnI=I'm+Feeling+Lucky&q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB+wikipedia "Search Wikipedia"){.smarterwiki-popup-bubble-link}</span> + + + +btnI=I'm+Feeling+Lucky&btnI=I'm+Feeling+Lucky&q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB+wikipedia "Search Wikipedia"){.smarterwiki-popup-bubble</span> + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md index 2304f2fd..3d307a11 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md @@ -1,11 +1,23 @@ Intel numerical libraries ========================= + + + + Intel libraries for high performance in numerical computing + + + + + + + + Intel Math Kernel Library ------------------------- diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md index 7fa0a444..f0113b1a 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md @@ -1,8 +1,20 @@ MAGMA for Intel Xeon Phi ======================== + + + + Next generation dense algebra library for heterogeneous systems with accelerators + + + + + + + + ### Compiling and linking with MAGMA To be able to compile and link code with MAGMA library user has to load @@ -90,3 +102,7 @@ Jack Dongarra et. al, [http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf ](http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf) + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md index ebb0f189..42272de8 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md @@ -1,6 +1,10 @@ PETSc ===== + + + + PETSc is a suite of building blocks for the scalable solution of scientific and engineering applications modelled by partial differential equations. It supports MPI, shared memory, and GPUs through CUDA or @@ -9,6 +13,14 @@ OpenCL, as well as hybrid MPI-shared memory or MPI-GPU parallelism. + + + + + + + + Introduction ------------ @@ -47,7 +59,7 @@ names obey this pattern: module load petsc/3.4.4-icc-impi-mkl-opt where `variant` is replaced by one of -``. The `opt` variant is compiled +`{dbg, opt, threads-dbg, threads-opt}`. The `opt` variant is compiled without debugging information (no `-g` option) and with aggressive compiler optimizations (`-O3 -xAVX`). This variant is suitable for performance measurements and production runs. In all other cases use the @@ -104,3 +116,7 @@ petsc module loaded. - [Trilinos ML](http://trilinos.sandia.gov/packages/ml/) - [SPAI - Sparse Approximate Inverse](https://bitbucket.org/petsc/pkg-spai) + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md index 81b90738..63d71568 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md @@ -1,8 +1,20 @@ Trilinos ======== + + + + Packages for large scale scientific and engineering problems. Provides MPI and hybrid parallelization. + + + + + + + + ### Introduction Trilinos is a collection of software packages for the numerical solution @@ -66,7 +78,7 @@ or include Makefile.export.<package> if you are interested only in a specific Trilinos package. This will -give you to the variables such as Trilinos_CXX_COMPILER, +give you access to the variables such as Trilinos_CXX_COMPILER, Trilinos_INCLUDE_DIRS, Trilinos_LIBRARY_DIRS etc. For the detailed description and example makefile see <http://trilinos.sandia.gov/Export_Makefile.txt>. diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md index 38f69e38..952c9285 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md @@ -1,11 +1,23 @@ nVidia CUDA =========== + + + + A guide to nVidia CUDA programming and GPU usage + + + + + + + + CUDA Programming on Anselm -------------------------- @@ -41,7 +53,7 @@ the example used is deviceQuery) and run "make" to start the compilation $ cd ~/cuda-samples/1_Utilities/deviceQuery $ make -To run the code user can use PBS interactive session to get to a +To run the code user can use PBS interactive session to get access to a node from qnvidia queue (note: use your project name with parameter -A in the qsub command) and execute the binary file @@ -185,7 +197,7 @@ This code can be compiled using following command $ nvcc test.cu -o test_cuda -To run the code use interactive PBS session to get to one of the +To run the code use interactive PBS session to get access to one of the GPU accelerated nodes $ qsub -I -q qnvidia -A OPEN-0-0 diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md index 994fc86a..c6c822b5 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md @@ -6,15 +6,23 @@ Diagnostic component (TEAM) + + + + + + + + ### Access TEAM is available at the following address : <http://omics.it4i.cz/team/> -The address is ible only via -[VPN. ](../../ing-the-cluster/vpn-access.html) +The address is accessible only via +[VPN. ](../../accessing-the-cluster/vpn-access.html) -### Diagnostic component (TEAM) +### Diagnostic component (TEAM) {#diagnostic-component-team} VCF files are scanned by this diagnostic tool for known diagnostic disease-associated variants. When no diagnostic mutation is found, the @@ -33,11 +41,11 @@ diagnostic is produced. TEAM also provides with an interface for the definition of and customization of panels, by means of which, genes and mutations can be added or discarded to adjust panel definitions. - - - - - + @@ -46,10 +54,15 @@ mutations can be added or discarded to adjust panel definitions. *Figure 5. ****Interface of the application. Panels for defining targeted regions of interest can be set up by just drag and drop known disease genes or disease definitions from the lists. Thus, virtual -panels can be +panels can be interactively improved as the knowledge of the disease increases.* * * + + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md index a7b30eed..01bfba86 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md @@ -1,11 +1,23 @@ Overview ======== + + + + The human NGS data processing solution + + + + + + + + Introduction ------------ @@ -20,15 +32,15 @@ mapping and variant calling steps that result in a file containing the set of variants in the sample. From this point, the prioritization component or the diagnostic component can be launched. - - - - - - - - - + *Figure 1.*** *OMICS MASTER solution overview. Data is produced in the external labs and comes to IT4I (represented by the blue dashed line). @@ -37,7 +49,7 @@ annotations for each sequenced patient. These lists files together with primary and secondary (alignment) data files are stored in IT4I sequence DB and uploaded to the discovery (candidate prioritization) or diagnostic component where they can be analyzed directly by the user -that produced +that produced them, depending of the experimental design carried out*. style="text-align: left; "> Typical genomics pipelines are composed by several components that need @@ -85,22 +97,22 @@ These steps are carried out over the original FASTQ file with optimized scripts and includes the following steps: sequence cleansing, estimation of base quality scores, elimination of duplicates and statistics. -Input:** FASTQ file. +Input: FASTQ file. -Output:** FASTQ file plus an HTML file containing statistics on the +Output: FASTQ file plus an HTML file containing statistics on the data. FASTQ format >It represents the nucleotide sequence and its corresponding quality scores. - -*Figure 2.****** FASTQ file.*** + +*Figure 2.**FASTQ file.** #### Mapping -Component:** Hpg-aligner.**** +Component:** Hpg-aligner.** Sequence reads are mapped over the human reference genome. SOLiD reads are not covered by this solution; they should be mapped with specific @@ -113,7 +125,7 @@ most common scenarios). This proposal provides a simple and fast solution that maps almost all the reads, even those containing a high number of mismatches or indels. -Input:** FASTQ file. +Input: FASTQ file. Output:** Aligned file in BAM format.**** @@ -124,7 +136,7 @@ its alignment is represented on a single line. The format can represent unmapped reads, reads that are mapped to unique locations, and reads that are mapped to multiple locations. ->The SAM format ^(1)^> consists of one header +>The SAM format (1)^> consists of one header section and one alignment section. The lines in the header section start with character ‘@’, and lines in the alignment section do not. All lines are TAB delimited. @@ -181,7 +193,7 @@ corresponding information is unavailable. <tr class="even"> <td align="left"><p>7</p></td> <td align="left"><p>MRNM </p></td> -<td align="left"><p>Mate REference NaMe ('=^' if same RNAME)</p></td> +<td align="left"><p>Mate REference NaMe ('=' if same RNAME)</p></td> </tr> <tr class="odd"> <td align="left"><p>8</p></td> @@ -220,21 +232,21 @@ soft clipping, ‘H’ for hard clipping and ‘P’ for padding. These support splicing, clipping, multi-part and padded alignments. Figure 3 shows examples of CIGAR strings for different types of alignments. - - - - - - - - - - - - - - - + * Figure 3.*** *SAM format file. The ‘@SQ’ line in the header section gives the order of reference sequences. Notably, r001 is the name of a @@ -279,7 +291,7 @@ Component:** GATK. Identification of single nucleotide variants and indels on the alignments is performed using the Genome Analysis Toolkit (GATK). GATK -^(2)^ is a software package developed at the Broad Institute to analyze +(2)^ is a software package developed at the Broad Institute to analyze high-throughput sequencing data. The toolkit offers a wide variety of tools, with a primary focus on variant discovery and genotyping as well as strong emphasis on data quality assurance. @@ -290,7 +302,7 @@ Output:** VCF Variant Call Format (VCF)** ->VCF ^(3)^> is a standardized format for storing the +>VCF (3)^> is a standardized format for storing the most prevalent types of sequence variation, including SNPs, indels and larger structural variants, together with rich annotations. The format was developed with the primary intention to represent human genetic @@ -328,26 +340,26 @@ delimited and the number of fields in each data line must match the number of fields in the header line. It is strongly recommended that all annotation tags used are declared in the VCF header section. - - - - - - - - - - - - - - - - - - - - + Figure 4.**> (a) Example of valid VCF. The header lines ##fileformat and #CHROM are mandatory, the rest is optional but @@ -363,11 +375,11 @@ SAMPLE1) and a replacement of two bases by another base (SAMPLE2); the second line shows a SNP and an insertion; the third a SNP; the fourth a large structural variant described by the annotation in the INFO column, the coordinate is that of the base before the variant. (b–f ) Alignments -and VCF - - - - +and VCF representations of different sequence variants: SNP, insertion, +deletion, replacement, and a large deletion. The REF columns shows the +reference bases replaced by the haplotype in the ALT column. The +coordinate refers to the first reference base. (g) Users are advised to +use simplest representation possible and lowest coordinate in cases where the position is ambiguous. ### >Annotating @@ -379,7 +391,7 @@ using the HPG-Variant software, which extracts from CellBase**,** the Knowledge database, all the information relevant on the predicted pathologic effect of the variants. -VARIANT (VARIant Analysis Tool) ^(4)^ reports information on the +VARIANT (VARIant Analysis Tool) (4)^ reports information on the variants found that include consequence type and annotations taken from different databases and repositories (SNPs and variants from dbSNP and 1000 genomes, and disease-related variants from the Genome-Wide @@ -393,58 +405,58 @@ conventional reports beyond the coding regions and expands the knowledge on the contribution of non-coding or synonymous variants to the phenotype studied. -Input:** VCF +Input:** VCF** Output:** The output of this step is the Variant Calling Format (VCF) file, which contains changes with respect to the reference genome with -the corresponding QC and functional annotations. +the corresponding QC and functional annotations.** #### CellBase -CellBase^(5)^ is a relational database integrates biological information +CellBase(5)^ is a relational database integrates biological information from different sources and includes: -Core features:** +**Core features:** We took genome sequences, genes, transcripts, exons, cytobands or cross references (xrefs) identifiers (IDs) >from Ensembl -^(6)^>. Protein information including sequences, xrefs or +(6)^>. Protein information including sequences, xrefs or protein features (natural variants, mutagenesis sites, post-translational modifications, etc.) were imported from UniProt -^(7)^>. +(7)^>. -Regulatory:** +**Regulatory:** -CellBase imports miRNA from miRBase ^(8)^; curated and non-curated miRNA -targets from miRecords ^(9)^, >miRTarBase ^(10)^>, -TargetScan^(11)^> and microRNA.org ^(12)^> and +CellBase imports miRNA from miRBase (8)^; curated and non-curated miRNA +targets from miRecords (9)^, >miRTarBase ^(10)^>, +TargetScan(11)^> and microRNA.org ^(12)^> and CpG islands and conserved regions from the UCSC database -^(13)^>.> </span> +(13)^>.> </span> -Functional annotation** +**Functional annotation** -OBO Foundry ^(14)^ develops many biomedical ontologies that are +OBO Foundry (14)^ develops many biomedical ontologies that are implemented in OBO format. We designed a SQL schema to store these OBO ontologies and >30 ontologies were imported. OBO ontology term -annotations were taken from Ensembl ^(6)^. InterPro ^(15)^ annotations +annotations were taken from Ensembl (6)^. InterPro ^(15)^ annotations were also imported. -Variation** +**Variation** -CellBase includes SNPs from dbSNP ^(16)^; SNP population frequencies -from HapMap ^(17)^, 1000 genomes project ^(18)^ and Ensembl ^(6)^; +CellBase includes SNPs from dbSNP (16)^; SNP population frequencies +from HapMap (17)^, 1000 genomes project ^(18)^ and Ensembl ^(6)^; phenotypically annotated SNPs were imported from NHRI GWAS Catalog -^(19)^,^ ^>HGMD ^(20)^>, Open Access GWAS Database -^(21)^>, UniProt ^(7)^> and OMIM -^(22)^>; mutations from COSMIC ^(23)^> and +(19)^,^ ^>HGMD ^(20)^>, Open Access GWAS Database +(21)^>, UniProt ^(7)^> and OMIM +(22)^>; mutations from COSMIC ^(23)^> and structural variations from Ensembl -^(6)^>.> </span> +(6)^>.> </span> -Systems biology** +**Systems biology** We also import systems biology information like interactome information -from IntAct ^(24)^. Reactome ^(25)^> stores pathway and interaction -information in BioPAX ^(26)^> format. BioPAX data exchange +from IntAct (24)^. Reactome ^(25)^> stores pathway and interaction +information in BioPAX (26)^> format. BioPAX data exchange format >enables the integration of diverse pathway resources. We successfully solved the problem of storing data released in BioPAX format into a SQL relational schema, which allowed us @@ -610,34 +622,38 @@ should use the next command: speed-up mapping high-quality reads, and *Smith-Waterman*> (SW) to increase sensitivity when reads cannot be mapped using BWT. -- >>>[hpg-fastq](http://docs.bioinfo.cipf.es/projects/fastqhpc/wiki), <span> a +- >[hpg-fastq](http://docs.bioinfo.cipf.es/projects/fastqhpc/wiki), > a quality control tool for high throughput sequence data. -- >>><span>[hpg-variant](http://wiki.opencb.org/projects/hpg/doku.php?id=variant:downloads), <span>The +- >>[hpg-variant](http://wiki.opencb.org/projects/hpg/doku.php?id=variant:downloads), <span>The HPG Variant suite is an ambitious project aimed to provide a complete suite of tools to work with genomic variation data, from VCF tools to variant profiling or genomic statistics. It is being implemented using High Performance Computing technologies to provide the best performance possible.</span> -- >>><span>[picard](http://picard.sourceforge.net/), <span>Picard +- >>[picard](http://picard.sourceforge.net/), <span>Picard comprises Java-based command-line utilities that manipulate SAM files, and a Java API (HTSJDK) for creating new programs that read and write SAM files. Both SAM text format and SAM binary (BAM) format are supported.</span> -- >>><span>[samtools](http://samtools.sourceforge.net/samtools-c.shtml), <span>SAM +- >>[samtools](http://samtools.sourceforge.net/samtools-c.shtml), <span>SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format.</span> -- >>>[snpEff](http://snpeff.sourceforge.net/), <span>Genetic +- >><span>[snpEff](http://snpeff.sourceforge.net/), <span>Genetic variant annotation and effect prediction toolbox.</span></span> + + + + This listing show which tools are used in each step of the pipeline : -<!-- --> + - >stage-00: fastqc - >stage-01: hpg_fastq @@ -692,9 +708,9 @@ button the diagnostic process starts.* Once the file has been uploaded, a panel must be chosen from the Panel list. Then, pressing the Run button the diagnostic process starts. TEAM searches first for known diagnostic mutation(s) taken from four -databases: HGMD-public ^(20)^, +databases: HGMD-public (20)^, [HUMSAVAR](http://www.uniprot.org/docs/humsavar), -ClinVar ^(29)^ and COSMIC ^(23)^. +ClinVar (29)^ and COSMIC ^(23)^.  +The address is accessible only +via [VPN. ](../../accessing-the-cluster/vpn-access.html) ### >BiERApp @@ -31,11 +39,11 @@ the context of a large-scale genomic project carried out by the Spanish Network for Research, in Rare Diseases (CIBERER) and the Medical Genome Project. in which more than 800 exomes have been analyzed. - - - - - + *Figure 6***. *Web interface to the prioritization tool.* *This figure* *shows the interface of the web tool for candidate gene @@ -45,3 +53,4 @@ the variants in the corresponding genomic coordinates.* + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md index cc9609e7..81b56414 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md @@ -1,11 +1,23 @@ OpenFOAM ======== + + + + A free, open source CFD software package + + + + + + + + Introduction** ---------------- @@ -29,21 +41,21 @@ For example syntax of available OpenFOAM module is: >< openfoam/2.2.1-icc-openmpi1.6.5-DP > this means openfoam version >2.2.1 compiled by ->ICC compiler with >openmpi1.6.5 in> double +>ICC compiler with >openmpi1.6.5 in<span> double precision. Naming convection of the installed versions is following: > -openfoam/<>VERSION>>-<</span>>COMPILER</span><span>>-<</span><span>openmpiVERSION</span><span>>-<</span><span>PRECISION</span><span>></span> +openfoam/<>VERSION>>-<</span><span>COMPILER</span><span>>-<</span><span>openmpiVERSION</span><span>>-<</span><span>PRECISION</span><span>></span> -- ><>VERSION>> - version of +- ><>VERSION<span>> - version of openfoam - ><>COMPILER> - version of used compiler - ><>openmpiVERSION> - version of used openmpi/impi -- ><>PRECISION> - DP/>SP – +- ><>PRECISION> - DP/<span>SP – double/single precision ###Available OpenFOAM modules** @@ -118,6 +130,10 @@ Running Serial Applications** >Create a Bash script >test.sh + + + + > > @@ -160,8 +176,16 @@ here](../resource-allocation-and-job-execution/job-submission-and-execution.html >Run the second case for example external incompressible turbulent flow - case - motorBike. + + + + >First we must run serial application bockMesh and decomposePar for preparation of parallel computation. + + + + > @@ -206,7 +230,7 @@ preparation of parallel computation. >>This job create simple block mesh and domain decomposition. Check your decomposition, and submit parallel computation: ->>Create a PBS script> +>>Create a PBS script<span> testParallel.pbs:</span> @@ -225,11 +249,11 @@ testParallel.pbs:</span> nproc = 32 - mpirun -hostfile $ -np $nproc snappyHexMesh -overwrite -parallel | tee snappyHexMesh.log + mpirun -hostfile ${PBS_NODEFILE} -np $nproc snappyHexMesh -overwrite -parallel | tee snappyHexMesh.log - mpirun -hostfile $ -np $nproc potentialFoam -noFunctionObject-writep -parallel | tee potentialFoam.log + mpirun -hostfile ${PBS_NODEFILE} -np $nproc potentialFoam -noFunctionObject-writep -parallel | tee potentialFoam.log - mpirun -hostfile $ -np $nproc simpleFoam -parallel | tee simpleFoam.log + mpirun -hostfile ${PBS_NODEFILE} -np $nproc simpleFoam -parallel | tee simpleFoam.log > @@ -260,6 +284,10 @@ testParallel.pbs:</span> $ cd $FOAM_RUN/ >Create directory applications/solvers in user directory + + + + > $ mkdir -p applications/solvers $ cd applications/solvers @@ -276,6 +304,10 @@ testParallel.pbs:</span> $ cd My_icoFoam + + + + >Rename icoFoam.C to My_icoFOAM.C @@ -293,6 +325,10 @@ testParallel.pbs:</span> icoFoam.C EXE = $(FOAM_APPBIN)/icoFoam + + + + >and change to: @@ -318,8 +354,12 @@ testParallel.pbs:</span> Have a fun with OpenFOAM :)** - id="__caret"> id="__caret"> + id="__caret"> + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md index 34467f1d..d20265f4 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md @@ -1,11 +1,23 @@ Operating System ================ + + + + The operating system, deployed on ANSELM + + + + + + + + The operating system on Anselm is Linux - bullx Linux Server release 6.3. @@ -13,3 +25,5 @@ bullx Linux is based on Red Hat Enterprise Linux. bullx Linux is a Linux distribution provided by Bull and dedicated to HPC applications. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md b/converted/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md index 32970cd1..e0888d8f 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md @@ -1,12 +1,24 @@ ParaView ======== + + + + An open-source, multi-platform data analysis and visualization application + + + + + + + + Introduction ------------ @@ -121,3 +133,5 @@ will not take advantage of accelerated nodes on Anselm. Support for GPU acceleration might be added in the future. + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md b/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md index be82b6fa..1f006bd5 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md @@ -5,6 +5,14 @@ CESNET Data Storage + + + + + + + + Introduction ------------ @@ -23,7 +31,7 @@ Republic. User of data storage CESNET (DU) association can become organizations or an individual person who is either in the current employment relationship (employees) or the current study relationship (students) to -a legal entity (organization) that meets the “Principles for to +a legal entity (organization) that meets the “Principles for access to CESNET Large infrastructure (Access Policy)”. User may only use data storage CESNET for data transfer and storage @@ -37,12 +45,12 @@ The service is documented at please contact directly CESNET Storage Department via e-mail [du-support(at)cesnet.cz](mailto:du-support@cesnet.cz). -The procedure to obtain the CESNET is quick and trouble-free. +The procedure to obtain the CESNET access is quick and trouble-free. (source [https://du.cesnet.cz/](https://du.cesnet.cz/wiki/doku.php/en/start "CESNET Data Storage")) -CESNET storage +CESNET storage access --------------------- ### Understanding Cesnet storage @@ -51,7 +59,7 @@ It is very important to understand the Cesnet storage before uploading data. Please read <https://du.cesnet.cz/en/navody/home-migrace-plzen/start> first. -Once registered for CESNET Storage, you may [ the +Once registered for CESNET Storage, you may [access the storage](https://du.cesnet.cz/en/navody/faq/start) in number of ways. We recommend the SSHFS and RSYNC methods. @@ -59,7 +67,7 @@ number of ways. We recommend the SSHFS and RSYNC methods. SSHFS: The storage will be mounted like a local hard drive -The SSHFS provides a very convenient way to the CESNET Storage. +The SSHFS provides a very convenient way to access the CESNET Storage. The storage will be mounted onto a local directory, exposing the vast CESNET Storage as if it was a local removable harddrive. Files can be than copied in and out in a usual fashion. @@ -74,7 +82,7 @@ Mount tier1_home **(only 5120M !)**: $ sshfs username@ssh.du1.cesnet.cz:. cesnet/ -For easy future from Anselm, install your public key +For easy future access from Anselm, install your public key $ cp .ssh/id_rsa.pub cesnet/.ssh/authorized_keys @@ -92,7 +100,7 @@ Once done, please remember to unmount the storage $ fusermount -u cesnet -### Rsync +### Rsync access Rsync provides delta transfer for best performance, can resume interrupted transfers @@ -127,3 +135,7 @@ in the Storage VO $ rsync --progress -av username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafolder . Transfer rates of about 28MB/s can be expected. + + + + diff --git a/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md b/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md index 5fa2b975..8bf8b095 100644 --- a/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md +++ b/converted/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md @@ -5,10 +5,18 @@ Storage + + + + + + + + There are two main shared file systems on Anselm cluster, the [HOME](../storage.html#home) and [SCRATCH](../storage.html#scratch). All login and compute -nodes may same data on shared filesystems. Compute nodes are also +nodes may access same data on shared filesystems. Compute nodes are also equipped with local (non-shared) scratch, ramdisk and tmp filesystems. Archiving @@ -27,7 +35,7 @@ Anselm computer provides two main shared filesystems, the [HOME filesystem](../storage.html#home) and the [SCRATCH filesystem](../storage.html#scratch). Both HOME and SCRATCH filesystems are realized as a parallel Lustre filesystem. Both -shared file systems are ible via the Infiniband network. Extended +shared file systems are accessible via the Infiniband network. Extended ACLs are provided on both Lustre filesystems for the purpose of sharing data with other users using fine-grained control. @@ -42,7 +50,7 @@ round-robin fashion to ensure load balancing. When a client (a compute node from your job) needs to create -or a file, the client queries the metadata server ( +or access a file, the client queries the metadata server ( MDS) and the metadata target ( MDT) for the layout and location of the [file's @@ -81,7 +89,7 @@ significantly impact the I/O performance you experience. Use the lfs getstripe for getting the stripe parameters. Use the lfs setstripe command for setting the stripe parameters to get optimal I/O performance The correct stripe setting depends on your needs and file - patterns. +access patterns. ``` $ lfs getstripe dir|filename @@ -122,7 +130,7 @@ When multiple processes are writing blocks of data to the same file in parallel, the I/O performance for large files will improve when the stripe_count is set to a larger value. The stripe count sets the number of OSTs the file will be written to. By default, the stripe count is set -to 1. While this default setting provides for efficient of +to 1. While this default setting provides for efficient access of metadata (for example to support the ls -l command), large files should use stripe counts of greater than 1. This will increase the aggregate I/O bandwidth by using multiple OSTs in parallel instead of just one. A @@ -134,10 +142,10 @@ of the number of processes performing the write in parallel, so that you achieve load balance among the OSTs. For example, set the stripe count to 16 instead of 15 when you have 64 processes performing the writes. -Using a large stripe size can improve performance when ing very +Using a large stripe size can improve performance when accessing very large files -Large stripe size allows each client to have exclusive to its own +Large stripe size allows each client to have exclusive access to its own part of a file. However, it can be counterproductive in some cases if it does not match your I/O pattern. The choice of stripe size has no effect on a single-stripe file. @@ -249,7 +257,7 @@ prove as insufficient for particular user, please contact lifted upon request. The Scratch filesystem is intended for temporary scratch data generated -during the calculation as well as for high performance to input +during the calculation as well as for high performance access to input and output files. All I/O intensive jobs must use the SCRATCH filesystem as their working directory. @@ -257,7 +265,7 @@ Users are advised to save the necessary data from the SCRATCH filesystem to HOME filesystem after the calculations and clean up the scratch files. -Files on the SCRATCH filesystem that are **not ed for more than 90 +Files on the SCRATCH filesystem that are **not accessed for more than 90 days** will be automatically **deleted**. The SCRATCH filesystem is realized as Lustre parallel filesystem and is @@ -370,7 +378,7 @@ number of named user and named group entries. ACLs on a Lustre file system work exactly like ACLs on any Linux file system. They are manipulated with the standard tools in the standard -manner. Below, we create a directory and allow a specific user . +manner. Below, we create a directory and allow a specific user access. ``` [vop999@login1.anselm ~]$ umask 027 @@ -414,18 +422,18 @@ Local Filesystems Every computational node is equipped with 330GB local scratch disk. -Use local scratch in case you need to large amount of small files +Use local scratch in case you need to access large amount of small files during your calculation. -The local scratch disk is mounted as /lscratch and is ible to +The local scratch disk is mounted as /lscratch and is accessible to user at /lscratch/$PBS_JOBID directory. The local scratch filesystem is intended for temporary scratch data -generated during the calculation as well as for high performance -to input and output files. All I/O intensive jobs that large +generated during the calculation as well as for high performance access +to input and output files. All I/O intensive jobs that access large number of small files within the calculation must use the local scratch filesystem as their working directory. This is required for performance -reasons, as frequent to number of small files may overload the +reasons, as frequent access to number of small files may overload the metadata servers (MDS) of the Lustre filesystem. The local scratch directory /lscratch/$PBS_JOBID will be deleted @@ -448,16 +456,16 @@ none Every computational node is equipped with filesystem realized in memory, so called RAM disk. -Use RAM disk in case you need really fast to your data of limited +Use RAM disk in case you need really fast access to your data of limited size during your calculation. Be very careful, use of RAM disk filesystem is at the expense of operational memory. -The local RAM disk is mounted as /ramdisk and is ible to user +The local RAM disk is mounted as /ramdisk and is accessible to user at /ramdisk/$PBS_JOBID directory. The local RAM disk filesystem is intended for temporary scratch data -generated during the calculation as well as for high performance +generated during the calculation as well as for high performance access to input and output files. Size of RAM disk filesystem is limited. Be very careful, use of RAM disk filesystem is at the expense of operational memory. It is not recommended to allocate large amount of @@ -504,6 +512,14 @@ Mountpoint Usage Protocol /scratch cluster shared jobs' data Lustre 146 TiB 6 GB/s Quota 100TB Compute and login nodes files older 90 days removed /lscratch node local jobs' data local 330 GB 100 MB/s none Compute nodes purged after job ends /ramdisk node local jobs' data local 60, 90, 500 GB 5-50 GB/s none Compute nodes purged after job ends - /tmp local temporary files local 100 MB/s none Compute and login nodes auto purged + /tmp local temporary files local 9.5 GB 100 MB/s none Compute and login nodes auto purged + + + + + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/cygwin-and-x11-forwarding.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/cygwin-and-x11-forwarding.md index b8c46a60..b4b6cb16 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/cygwin-and-x11-forwarding.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/cygwin-and-x11-forwarding.md @@ -1,6 +1,14 @@ Cygwin and X11 forwarding ========================= + + + + + + + + ### If no able to forward X11 using PuTTY to CygwinX ``` @@ -23,17 +31,17 @@ PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connect change it - + to</span> C:*cygwin64binXWin.exe -listen tcp* -  +  -2. Check Putty settings: +2. Check Putty settings: Enable X11 - + forwarding @@ -43,3 +51,5 @@ PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connect + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md index 454ee5cd..6032500e 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md @@ -5,10 +5,18 @@ Graphical User Interface + + + + + + + + X Window System --------------- -The X Window system is a principal way to get GUI to the +The X Window system is a principal way to get GUI access to the clusters. Read more about configuring [**X Window @@ -27,6 +35,8 @@ to remotely control another class="link-external">[computer](http://en.wikipedia.org/wiki/Computer "Computer"). Read more about configuring -[VNC](../../../salomon/ing-the-cluster/graphical-user-interface/vnc.html)**. +**[VNC](../../../salomon/accessing-the-cluster/graphical-user-interface/vnc.html)**. + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md index fa6db552..4309360c 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md @@ -5,6 +5,14 @@ VNC + + + + + + + + The **Virtual Network Computing** (**VNC**) is a graphical [desktop sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing") system that uses the [Remote Frame Buffer protocol @@ -18,7 +26,7 @@ and events from one computer to another, relaying the graphical [screen](http://en.wikipedia.org/wiki/Computer_screen "Computer screen") updates back in the other direction, over a -[network](http://en.wikipedia.org/wiki/Computer_network "Computer network").(http://en.wikipedia.org/wiki/Virtual_Network_Computing#cite_note-1)^ +[network](http://en.wikipedia.org/wiki/Computer_network "Computer network").(http://en.wikipedia.org/wiki/Virtual_Network_Computing#cite_note-1) The recommended clients are [TightVNC](http://www.tightvnc.com) or @@ -40,13 +48,13 @@ Verify: Start vncserver --------------- -To VNC a local vncserver must be started first and also a tunnel +To access VNC a local vncserver must be started first and also a tunnel using SSH port forwarding must be established. [See below](vnc.html#linux-example-of-creating-a-tunnel) for the details on SSH tunnels. In this example we use port 61. You can find ports which are already occupied. Here you can see that -ports "/usr/bin/Xvnc :79" and " +ports " /usr/bin/Xvnc :79" and " /usr/bin/Xvnc :60" are occupied. ``` @@ -78,7 +86,7 @@ X DISPLAY # PROCESS ID :61 18437 ``` -Another command: +Another command: ``` [username@login2 .vnc]$ ps aux | grep Xvnc @@ -86,7 +94,7 @@ Another command: username 10296 0.0 0.0 131772 21076 pts/29 SN 13:01 0:01 /usr/bin/Xvnc :61 -desktop login2:61 (username) -auth /home/jir13/.Xauthority -geometry 1600x900 -depth 16 -rfbwait 30000 -rfbauth /home/username/.vnc/passwd -rfbport 5961 -fp catalogue:/etc/X11/fontpath.d -pn ``` -To the VNC server you have to create a tunnel between the login +To access the VNC server you have to create a tunnel between the login node using TCP **port 5961** and your machine using a free TCP port (for simplicity the very same, in this case). @@ -163,7 +171,7 @@ Fill the Source port and Destination fields. **Do not forget to click the Add button**. -tunnel](https://docs.it4i.cz/get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png/@@images/4c66cd51-c858-473b-98c2-8d901aea7118.png "PuTTY Tunnel")](putty-tunnel.png) + Run the VNC client of your choice, select VNC server 127.0.0.1, port 5961 and connect using VNC password. @@ -199,12 +207,12 @@ You should see after the successful login. Open Screensaver preferences dialog: - + Uncheck both options below the slider: - + ### Kill screensaver if locked screen @@ -239,7 +247,7 @@ GUI applications on compute nodes over VNC ------------------------------------------ The very [same methods as described -above](https://docs.it4i.cz/get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-and-vnc#gui-applications-on-compute-nodes), +above](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-and-vnc#gui-applications-on-compute-nodes), may be used to run the GUI applications on compute nodes. However, for maximum performance**, proceed following these steps: @@ -277,3 +285,5 @@ Example described above:  + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vpnuiV.png b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vpnuiV.png deleted file mode 100644 index 076e2c4f9873d72937ecab0bb542a7690f6a70dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49733 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 b|0Dmx*)#m@%nC~e1_lOCS3j3^P6<r_IXo#* diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md index 1f0b4eba..2ce2407a 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md @@ -5,7 +5,15 @@ X Window System -The X Window system is a principal way to get GUI to the + + + + + + + + +The X Window system is a principal way to get GUI access to the clusters. The **X Window System** (commonly known as **X11**, based on its current major version being 11, or shortened to simply **X**, and sometimes informally **X-Windows**) is a computer software system and @@ -200,3 +208,5 @@ in the local X server Use System->Log Out to close the gnome-session + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/introduction.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/introduction.md index 1bbcf509..baee0ca1 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/introduction.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/introduction.md @@ -1,21 +1,33 @@ Accessing the Clusters ====================== -The IT4Innovations clusters are ed by SSH protocol via login + + + + + + + + +The IT4Innovations clusters are accessed by SSH protocol via login nodes. Read more on [Accessing the Salomon -Cluste](../salomon/ing-the-cluster.html)r or +Cluste](../salomon/accessing-the-cluster.html)r or [Accessing the Anselm -Cluster](../anselm-cluster-documentation/ing-the-cluster.html) +Cluster](../anselm-cluster-documentation/accessing-the-cluster.html) pages. ### PuTTY On **Windows**, use [PuTTY ssh -client](ing-the-clusters/shell-access-and-data-transfer/putty/putty.html). +client](accessing-the-clusters/shell-access-and-data-transfer/putty/putty.html). ### SSH keys Read more about [SSH keys -management](ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html). +management](accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html). + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/introduction.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/introduction.md index cbfc29c5..a5c02508 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/introduction.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/introduction.md @@ -1,13 +1,21 @@ Accessing the Clusters ====================== -The IT4Innovations clusters are ed by SSH protocol via login + + + + + + + + +The IT4Innovations clusters are accessed by SSH protocol via login nodes. Read more on [Accessing the Salomon -Cluste](../../../salomon/ing-the-cluster.html)r or +Cluste](../../../salomon/accessing-the-cluster.html)r or [Accessing the Anselm -Cluster](../../../anselm-cluster-documentation/ing-the-cluster.html) +Cluster](../../../anselm-cluster-documentation/accessing-the-cluster.html) pages. ### PuTTY @@ -18,3 +26,7 @@ client](putty/putty.html). ### SSH keys Read more about [SSH keys management](ssh-keys.html). + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/pageant.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/pageant.md index 6e004088..17885023 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/pageant.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/pageant.md @@ -5,6 +5,14 @@ Pageant SSH agent + + + + + + + + Pageant holds your private key in memory without needing to retype a passphrase on every login. @@ -15,6 +23,10 @@ passphrase on every login. - Now you have your private key in memory without needing to retype a passphrase on every login. - [](PageantV.png) +  + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md index 72e0950e..7431f8cf 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md @@ -5,7 +5,15 @@ PuTTY -PuTTY - before we start SSH connection ssh-connection style="text-align: start; "} + + + + + + + + +PuTTY - before we start SSH connection --------------------------------------------------------------------------------- ### Windows PuTTY Installer @@ -41,7 +49,7 @@ PuTTY - how to connect to the IT4Innovations cluster - Run PuTTY - Enter Host name and Save session fields with [Login - address](../../../../salomon/ing-the-cluster/shell-and-data-access/shell-and-data-access.html) + address](../../../../salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.html) and browse Connection - > SSH -> Auth menu. The *Host Name* input may be in the format **"username@clustername.it4i.cz"** so you don't have to type your @@ -49,7 +57,7 @@ PuTTY - how to connect to the IT4Innovations cluster In this example we will connect to the Salomon cluster using **"salomon.it4i.cz"**. - [](PuTTY_host_Salomon.png) +  @@ -59,16 +67,16 @@ PuTTY - how to connect to the IT4Innovations cluster Browse and select your [private key](../ssh-keys.html) file. - [](PuTTY_keyV.png) +  - Return to Session page and Save selected configuration with *Save* button. - [](PuTTY_save_Salomon.png) +  - Now you can log in using *Open* button. - [](PuTTY_open_Salomon.png) +  - Enter your username if the *Host Name* input is not in the format "username@salomon.it4i.cz". @@ -84,9 +92,13 @@ Another PuTTY Settings - Category -> Windows -> Translation -> Remote character set and select **UTF-8**. -<!-- --> + - Category -> Terminal -> Features and select **Disable application keypad mode** (enable numpad) - Save your configuration on Session page in to Default Settings with *Save* button . + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/puttygen.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/puttygen.md index f6e3ea24..cde0d809 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/puttygen.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/puttygen.md @@ -5,6 +5,14 @@ PuTTY key generator + + + + + + + + PuTTYgen is the PuTTY key generator. You can load in an existing private key and change your passphrase or generate a new public/private key pair. @@ -21,7 +29,7 @@ Make sure to backup the key. - Confirm key passphrase. - Save your private key with *Save private key* button. - [](PuttyKeygeneratorV.png) +  @@ -33,15 +41,15 @@ key into authorized_keys file for authentication with your own private - Start with *Generate* button. - [](PuttyKeygenerator_001V.png) +  - Generate some randomness. - [](PuttyKeygenerator_002V.png) +  - Wait. - [](20150312_143443.png) +  - Enter a *comment* for your key using format 'username@organization.example.com'. @@ -50,18 +58,18 @@ key into authorized_keys file for authentication with your own private Save your new private key `in "*.ppk" `format with *Save private key* button. - [](PuttyKeygenerator_004V.png) +  - Save the public key with *Save public key* button. You can copy public key out of the ‘Public key for pasting into authorized_keys file’ box. - [](PuttyKeygenerator_005V.png) +  - Export private key in OpenSSH format "id_rsa" using Conversion -> Export OpenSSH key - [](PuttyKeygenerator_006V.png) +  - Now you can insert additional public key into authorized_keys file for authentication with your own private >key. @@ -69,3 +77,7 @@ key into authorized_keys file for authentication with your own private proceed to [How to add your own key](../ssh-keys.html). + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md index 1fafc36c..73979840 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md @@ -5,7 +5,15 @@ SSH keys - + + + + + + + + + Key management ------------------------------------------------------------------- After logging in, you can see .ssh/ directory with SSH keys and @@ -52,7 +60,7 @@ the cluster. -<!-- --> + cd /home/username/ chmod 700 .ssh/ @@ -70,8 +78,8 @@ The path to a private key is usually /home/username/.ssh/ Private key file in "id_rsa" or `"*.ppk" `format is used to authenticate with the servers. Private key is present locally -on local side and used for example in SSH agent -. The private key should +on local side and used for example in SSH agent [Pageant (for Windows +users)](putty/PageantV.png). The private key should always be kept in a safe place. An example of private key @@ -113,7 +121,7 @@ verify a digital signature. Public key is present on the remote -side and allows to +side and allows access to the owner of the matching private key. An example of public key diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md index 604bdf27..aa82e6f2 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md @@ -1,7 +1,19 @@ VPN - Connection fail in Win 8.1 ================================ + + + + Failed to initialize connection subsystem Win 8.1 - 02-10-15 MS patch + + + + + + + + AnyConnect users on Windows 8.1 will receive a "Failed to initialize connection subsystem" error after installing the Windows 8.1 02/10/15 security patch. This OS defect introduced with the 02/10/15 patch update @@ -9,7 +21,7 @@ will also impact WIndows 7 users with IE11. Windows Server 2008/2012 are also impacted by this defect, but neither is a supported OS for AnyConnect. -Workaround:** +**Workaround:** - Close the Cisco AnyConnect Window and the taskbar mini-icon - Right click vpnui.exe in the 'Cisco AnyConnect Secure Mobility @@ -25,3 +37,5 @@ Workaround:**  + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md b/converted/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md index 8b592cb5..17af28e4 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md @@ -5,6 +5,14 @@ Applying for Resources + + + + + + + + Computational resources may be allocated by any of the following [Computing resources allocation](http://www.it4i.cz/computing-resources-allocation/?lang=en) @@ -12,7 +20,7 @@ mechanisms. Academic researchers can apply for computational resources via [Open Access -Competitions](http://www.it4i.cz/open--competition/?lang=en&lang=en). +Competitions](http://www.it4i.cz/open-access-competition/?lang=en&lang=en). Anyone is welcomed to apply via the [Directors Discretion.](http://www.it4i.cz/obtaining-computational-resources-through-directors-discretion/?lang=en&lang=en) @@ -21,7 +29,7 @@ Foreign (mostly European) users can obtain computational resources via the [PRACE (DECI) program](http://www.prace-ri.eu/DECI-Projects). -In all cases, IT4Innovations’ mechanisms are aimed at +In all cases, IT4Innovations’ access mechanisms are aimed at distributing computational resources while taking into account the development and application of supercomputing methods and their benefits and usefulness for society. The applicants are expected to submit a @@ -37,3 +45,7 @@ and [Obtaining Login Credentials](obtaining-login-credentials.html) page. + + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/introduction.md b/converted/docs.it4i.cz/get-started-with-it4innovations/introduction.md index faec5ef5..b833142f 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/introduction.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/introduction.md @@ -5,6 +5,14 @@ Documentation + + + + + + + + Welcome to IT4Innovations documentation pages. The IT4Innovations national supercomputing center operates supercomputers [Salomon](../salomon.html) and @@ -15,7 +23,7 @@ industrial community worldwide. The purpose of these pages is to provide a comprehensive documentation on hardware, software and usage of the computers. - class="link-external"> class="WYSIWYG_LINK">How to read the documentation + class="link-external">How to read the documentation -------------------------------------------------------------------------------------------------- 1.Read the list in the left column. Select the subject of interest. @@ -143,3 +151,6 @@ entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website. + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md b/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md index 493abbda..92ab874b 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md @@ -1,12 +1,24 @@ Certificates FAQ ================ + + + + FAQ about certificates in general + + + + + + + + Q: What are certificates? ------------------------- @@ -20,15 +32,15 @@ of use. We mention here: - User (Private) certificates -<!-- --> + - Certificate Authority (CA) certificates -<!-- --> + - Host certificates -<!-- --> + - Service certificates @@ -222,7 +234,7 @@ where $mydomain.crt is the certificate of a trusted signing authority More information on the tool can be found at:<http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html> -Q: How do I use my certificate to the different grid Services? +Q: How do I use my certificate to access the different grid Services? --------------------------------------------------------------------- Most grid services require the use of your certificate; however, the @@ -237,7 +249,7 @@ If the grid service is UNICORE, then you bind your certificate, in either the p12 format or JKS, to UNICORE during the installation of the client on your local machine. For more information, please visit [UNICORE6 in PRACE](http://www.prace-ri.eu/UNICORE6-in-PRACE){.spip_in -.external-link} +.external If the grid service is part of Globus, such as GSI-SSH, GriFTP or GRAM5, then the certificates can be in either p12 or PEM format and must reside @@ -294,7 +306,7 @@ Q: What is the MyProxy service? ------------------------------- [The MyProxy Service](http://grid.ncsa.illinois.edu/myproxy/){.spip_in -.external-link}, can be employed by gsissh-term and Globus tools, and is +.external, can be employed by gsissh-term and Globus tools, and is an online repository that allows users to store long lived proxy certificates remotely, which can then be retrieved for use at a later date. Each proxy is protected by a password provided by the user at the @@ -303,7 +315,7 @@ to carry their private keys and certificates when travelling; nor do users have to install private keys and certificates on possibly insecure computers. -Q: Someone may have copied or had to the private key of my certificate either in a separate file or in the browser. What should I do? +Q: Someone may have copied or had access to the private key of my certificate either in a separate file or in the browser. What should I do? -------------------------------------------------------------------------------------------------------------------------------------------- Please ask the CA that issued your certificate to revoke this certifcate @@ -313,3 +325,6 @@ team](https://support.it4i.cz/rt). + + + diff --git a/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md b/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md index 82b0df2d..5748f4f7 100644 --- a/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md +++ b/converted/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md @@ -5,36 +5,44 @@ Obtaining Login Credentials + + + + + + + + Obtaining Authorization ----------------------- The computational resources of IT4I are allocated by the Allocation Committee to a [Project](../introduction.html), investigated by a Primary Investigator. By allocating the computational -resources, the Allocation Committee is authorizing the PI to and +resources, the Allocation Committee is authorizing the PI to access and use the clusters. The PI may decide to authorize a number of her/his -Collaborators to and use the clusters, to consume the resources +Collaborators to access and use the clusters, to consume the resources allocated to her/his Project. These collaborators will be associated to the Project. The Figure below is depicting the authorization chain: - + You need to either [become the PI](../applying-for-resources.html) or [be named as a collaborator](obtaining-login-credentials.html#authorization-of-collaborator-by-pi) -by a PI in order to and use the clusters. +by a PI in order to access and use the clusters. Head of Supercomputing Services acts as a PI of a project DD-13-5. -Joining this project, you may ** and explore the clusters**, use +Joining this project, you may **access and explore the clusters**, use software, development environment and computers via the qexp and qfree queues. You may use these resources for own education/research, no paperwork is required. All IT4I employees may contact the Head of -Supercomputing Services in order to obtain **free to the +Supercomputing Services in order to obtain **free access to the clusters**. ### Authorization of PI by Allocation Committee @@ -45,7 +53,7 @@ the Allocation Committee decision. ### Authorization by web -This is a preferred way of granting to project resources. +This is a preferred way of granting access to project resources. Please, use this method whenever it's possible. Log in to the [IT4I Extranet @@ -69,7 +77,7 @@ following information: 2.Provide list of people, including himself, who are authorized to use the resources allocated to the project. The list must include full name, e-mail and affiliation. Provide usernames as well, if - collaborator login already exists on the IT4I systems. + collaborator login access already exists on the IT4I systems. 3.Include "Authorization to IT4Innovations" into the subject line. Example (except the subject line which must be in English, you may use @@ -98,7 +106,7 @@ The Login Credentials ------------------------- Once authorized by PI, every person (PI or Collaborator) wishing to - the clusters, should contact the [IT4I +access the clusters, should contact the [IT4I support](https://support.it4i.cz/rt/) (E-mail: [support [at] it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz)) providing following information: @@ -144,7 +152,7 @@ Digital signature allows us to confirm your identity in remote electronic communication and provides an encrypted channel to exchange sensitive information such as login credentials. After receiving your signed e-mail with the requested information, we will send you your -login credentials (user name, key, passphrase and password) to +login credentials (user name, key, passphrase and password) to access the IT4I systems. We accept certificates issued by any widely respected certification @@ -160,8 +168,8 @@ The login credentials include: 2.ssh private key and private key passphrase 3.system password -The clusters are ed by the [private -key](../ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) +The clusters are accessed by the [private +key](../accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) and username. Username and password is used for login to the information systems listed on <http://support.it4i.cz/>. @@ -175,7 +183,7 @@ local $ ssh-keygen -f id_rsa -p ``` On Windows, use [PuTTY Key -Generator](../ing-the-clusters/shell-access-and-data-transfer/putty/puttygen.html). +Generator](../accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen.html). ### Change Password @@ -270,3 +278,7 @@ pending removal:. The messages will inform about the projected removal date and will challenge the user to migrate her/his data + + + + diff --git a/converted/docs.it4i.cz/index.md b/converted/docs.it4i.cz/index.md index 42a6d692..682b5b57 100644 --- a/converted/docs.it4i.cz/index.md +++ b/converted/docs.it4i.cz/index.md @@ -5,6 +5,14 @@ Documentation + + + + + + + + Welcome to IT4Innovations documentation pages. The IT4Innovations national supercomputing center operates supercomputers [Salomon](salomon.html) and @@ -15,7 +23,7 @@ industrial community worldwide. The purpose of these pages is to provide a comprehensive documentation on hardware, software and usage of the computers. - class="link-external"> class="WYSIWYG_LINK">How to read the documentation + class="link-external">How to read the documentation -------------------------------------------------------------------------------------------------- 1.Read the list in the left column. Select the subject of interest. @@ -143,3 +151,7 @@ them by visiting http://support.it4i.cz/rt, creating a new ticket, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website. + + + + diff --git a/converted/docs.it4i.cz/salomon/accessing-the-cluster.md b/converted/docs.it4i.cz/salomon/accessing-the-cluster.md index ecd7e8a6..b7ad64be 100644 --- a/converted/docs.it4i.cz/salomon/accessing-the-cluster.md +++ b/converted/docs.it4i.cz/salomon/accessing-the-cluster.md @@ -1,14 +1,22 @@ -Shell and data transfer +Shell access and data transfer ============================== + + + + + + + + Interactive Login ----------------- -The Salomon cluster is ed by SSH protocol via login nodes login1, +The Salomon cluster is accessed by SSH protocol via login nodes login1, login2, login3 and login4 at address salomon.it4i.cz. The login nodes may be addressed specifically, by prepending the login node name to the address. @@ -26,7 +34,7 @@ login3.salomon.it4i.cz 22 ssh login3 login4.salomon.it4i.cz 22 ssh login4 The authentication is by the [private -key](../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) +key](../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) Please verify SSH fingerprints during the first logon. They are identical on all login nodes: @@ -51,7 +59,7 @@ local $ chmod 600 /path/to/id_rsa ``` On **Windows**, use [PuTTY ssh -client](../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/putty/putty.html). +client](../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty.html). After logging in, you will see the command prompt: @@ -91,11 +99,11 @@ Address Port Protocol salomon.it4i.cz 22 scp, sftp login1.salomon.it4i.cz 22 scp, sftp login2.salomon.it4i.cz 22 scp, sftp - class="discreet">login3.salomon.it4i.cz 22 class="discreet">scp, sftp + class="discreet">login3.salomon.it4i.cz 22 scp, sftp login4.salomon.it4i.cz 22 scp, sftp The authentication is by the [private -key](../get-started-with-it4innovations/ing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) +key](../get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.html) HTML commented section #2 (ssh transfer performance data need to be verified) @@ -143,3 +151,7 @@ way to mount the Salomon filesystems directly as an external disc. More information about the shared file systems is available [here](storage/storage.html). + + + + diff --git a/converted/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md b/converted/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md index 8d1d5110..4e538c6b 100644 --- a/converted/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md +++ b/converted/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md @@ -5,6 +5,14 @@ Outgoing connections + + + + + + + + Connection restrictions ----------------------- @@ -44,7 +52,7 @@ local $ ssh -R 6000:remote.host.com:1234 salomon.it4i.cz ``` In this example, we establish port forwarding between port 6000 on -Salomon and port 1234 on the remote.host.com. By ing +Salomon and port 1234 on the remote.host.com. By accessing localhost:6000 on Salomon, an application will see response of remote.host.com:1234. The traffic will run via users local workstation. @@ -55,7 +63,7 @@ Remote radio button. Insert 6000 to Source port textbox. Insert remote.host.com:1234. Click Add button, then Open. Port forwarding may be established directly to the remote host. However, -this requires that user has ssh to remote.host.com +this requires that user has ssh access to remote.host.com ``` $ ssh -L 6000:localhost:1234 remote.host.com @@ -66,7 +74,7 @@ Note: Port number 6000 is chosen as an example only. Pick any free port. ### Port forwarding from compute nodes Remote port forwarding from compute nodes allows applications running on -the compute nodes to hosts outside Salomon Cluster. +the compute nodes to access hosts outside Salomon Cluster. First, establish the remote port forwarding form the login node, as [described @@ -80,7 +88,7 @@ $ ssh -TN -f -L 6000:localhost:6000 login1 ``` In this example, we assume that port forwarding from login1:6000 to -remote.host.com:1234 has been established beforehand. By ing +remote.host.com:1234 has been established beforehand. By accessing localhost:6000, an application running on a compute node will see response of remote.host.com:1234 @@ -90,7 +98,7 @@ Port forwarding is static, each single port is mapped to a particular port on remote host. Connection to other remote host, requires new forward. -Applications with inbuilt proxy support, experience unlimited to +Applications with inbuilt proxy support, experience unlimited access to remote hosts, via single proxy server. To establish local proxy server on your workstation, install and run @@ -114,7 +122,7 @@ local $ ssh -R 6000:localhost:1080 salomon.it4i.cz ``` Now, configure the applications proxy settings to **localhost:6000**. -Use port forwarding to the [proxy server from compute +Use port forwarding to access the [proxy server from compute nodes](outgoing-connections.html#port-forwarding-from-compute-nodes) as well . diff --git a/converted/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md b/converted/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md index b12c1d76..3a0b5b8d 100644 --- a/converted/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md +++ b/converted/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md @@ -5,6 +5,14 @@ VPN Access + + + + + + + + Accessing IT4Innovations internal resources via VPN --------------------------------------------------- @@ -40,7 +48,7 @@ for automatic installation.  - +Install](https://docs.it4i.cz/salomon/vpn_web_install_2.png/@@images/c2baba93-824b-418d-b548-a73af8030320.png "VPN Install")](../vpn_web_install_2.png)  After successful installation, VPN connection will be established and @@ -92,7 +100,7 @@ If everything works, you can see a lock in the Cisco tray icon. If you right-click on this icon, you will see a context menu in which you can control the VPN connection. - +[  When you connect to the VPN for the first time, the client downloads the @@ -101,18 +109,18 @@ For subsequent connections, it is not necessary to re-enter the URL address, but just select the corresponding item. Contacting - + Then AnyConnect automatically proceeds like in the case of first logon. - + After a successful logon, you can see a green circle with a tick mark on the lock icon. Succesfull - + For disconnecting, right-click on the AnyConnect client icon in the system tray and select **VPN Disconnect**. diff --git a/converted/docs.it4i.cz/salomon/environment-and-modules.md b/converted/docs.it4i.cz/salomon/environment-and-modules.md index b8323d2f..525d2a9d 100644 --- a/converted/docs.it4i.cz/salomon/environment-and-modules.md +++ b/converted/docs.it4i.cz/salomon/environment-and-modules.md @@ -5,6 +5,14 @@ Environment and Modules + + + + + + + + ### Environment Customization After logging in, you may want to configure the environment. Write your @@ -34,7 +42,7 @@ Do not run commands outputing to standard output (echo, module list, etc) in .bashrc for non-interactive SSH sessions. It breaks fundamental functionality (scp, PBS) of your account! Take care for SSH session interactivity for such commands as id="result_box" -class="short_text"> class="hps alt-edited">stated + class="hps alt-edited">stated in the previous example. ### Application Modules @@ -131,7 +139,7 @@ The EasyBuild framework prepares the build environment for the different toolchain components, by loading their respective modules and defining environment variables to specify compiler commands (e.g., via `$F90`), compiler and linker options (e.g., -via `$CFLAGS` and `$LDFLAGS`), +via `$CFLAGS` and `$LDFLAGS`{.docutils .literal}), the list of library names to supply to the linker (via `$LIBS`{.docutils .literal}), etc. This enables making easyblocks largely toolchain-agnostic since they can simply rely on these @@ -162,3 +170,5 @@ goolf BLACS, FFTW, GCC, OpenBLAS, OpenMPI, ScaLAPACK iccifort icc, ifort + + diff --git a/converted/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md b/converted/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md index 9f246a4c..58e4577f 100644 --- a/converted/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md +++ b/converted/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md @@ -5,6 +5,14 @@ Hardware Overview + + + + + + + + Introduction ------------ @@ -15,7 +23,7 @@ with 24 cores (two twelve-core Intel Xeon processors) and 128GB RAM. The nodes are interlinked by high speed InfiniBand and Ethernet networks. All nodes share 0.5PB /home NFS disk storage to store the user files. Users may use a DDN Lustre shared storage with capacity of 1.69 PB which -is available for the scratch project data. The user to the +is available for the scratch project data. The user access to the Salomon cluster is provided by four login nodes. [More about schematic representation of the Salomon cluster compute @@ -23,7 +31,7 @@ nodes IB topology](../network-1/ib-single-plane-topology.html). - + The parameters are summarized in the following tables: @@ -121,3 +129,6 @@ available:  + + + diff --git a/converted/docs.it4i.cz/salomon/index.md b/converted/docs.it4i.cz/salomon/index.md index 90a83ecd..1d945a17 100644 --- a/converted/docs.it4i.cz/salomon/index.md +++ b/converted/docs.it4i.cz/salomon/index.md @@ -1,6 +1,14 @@ Introduction ============ + + + + + + + + Welcome to Salomon supercomputer cluster. The Salomon cluster consists of 1008 compute nodes, totaling 24192 compute cores with 129TB RAM and giving over 2 Pflop/s theoretical peak performance. Each node is a @@ -19,15 +27,18 @@ the class="WYSIWYG_LINK">RedHat [ class="WYSIWYG_LINK">Linux family.](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg) -**Water-cooled Compute Nodes With MIC Accelerator** - +Water-cooled Compute Nodes With MIC Accelerator** +[](salomon) - + **Tape Library T950B** - + + + + + - diff --git a/converted/docs.it4i.cz/salomon/introduction.md b/converted/docs.it4i.cz/salomon/introduction.md index 90a83ecd..820bd868 100644 --- a/converted/docs.it4i.cz/salomon/introduction.md +++ b/converted/docs.it4i.cz/salomon/introduction.md @@ -1,6 +1,14 @@ Introduction ============ + + + + + + + + Welcome to Salomon supercomputer cluster. The Salomon cluster consists of 1008 compute nodes, totaling 24192 compute cores with 129TB RAM and giving over 2 Pflop/s theoretical peak performance. Each node is a @@ -19,9 +27,9 @@ the class="WYSIWYG_LINK">RedHat [ class="WYSIWYG_LINK">Linux family.](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg) -**Water-cooled Compute Nodes With MIC Accelerator** - +Water-cooled Compute Nodes With MIC Accelerator** +  @@ -31,3 +39,6 @@ family.](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_T  + + + diff --git a/converted/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md b/converted/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md index 9487e731..f676804e 100644 --- a/converted/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md +++ b/converted/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md @@ -1,6 +1,14 @@ 7D Enhanced Hypercube ===================== + + + + + + + + [More about Job submission - Placement by IB switch / Hypercube dimension.](../resource-allocation-and-job-execution/job-submission-and-execution.html) @@ -20,7 +28,7 @@ Hypercube dimension topology represents hypercube dimension 0](ib-single-plane-topology.html). -### 7D Enhanced Hypercube +### 7D Enhanced Hypercube {#d-enhanced-hypercube}  @@ -33,8 +41,8 @@ compute nodes MIC accelerated 432 cns577 - cns1008 r21u01n577 - r ### IB Topology - - + [](Salomon_IB_topology.png) diff --git a/converted/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md b/converted/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md index 7e585bd3..25f628f3 100644 --- a/converted/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md +++ b/converted/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md @@ -5,6 +5,14 @@ IB single-plane topology + + + + + + + + A complete M-Cell assembly consists of four compute racks. Each rack contains 4x physical IRUs - Independent rack units. Using one dual socket node per one blade slot leads to 8 logical IRUs. Each rack @@ -24,7 +32,7 @@ with connections as follows: Each colour in each physical IRU represents one dual-switch ASIC switch. -[](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20ICEX%20Mcell.pdf) + @@ -42,10 +50,11 @@ Topology](Salomon_IB_topology.png): - Racks 27, 28, 29, 30, 31, 32 are equivalent to one Mcell rack. - Racks 33, 34, 35, 36, 37, 38 are equivalent to one Mcell rack. -[](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf) + + + diff --git a/converted/docs.it4i.cz/salomon/network-1/network.md b/converted/docs.it4i.cz/salomon/network-1/network.md index 235fb38c..56d876fc 100644 --- a/converted/docs.it4i.cz/salomon/network-1/network.md +++ b/converted/docs.it4i.cz/salomon/network-1/network.md @@ -5,6 +5,14 @@ Network + + + + + + + + All compute and login nodes of Salomon are interconnected by 7D Enhanced hypercube [Infiniband](http://en.wikipedia.org/wiki/InfiniBand) @@ -27,11 +35,11 @@ Read more about schematic representation of the Salomon cluster [IB single-plain topology](ib-single-plane-topology.html) ([hypercube dimension](7d-enhanced-hypercube.html) 0).[>](IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf/view.html){.state-missing-value +.contenttype-file} - -The compute nodes may be ed via the Infiniband network using ib0 +The compute nodes may be accessed via the Infiniband network using ib0 network interface, in address range 10.17.0.0 (mask 255.255.224.0). The MPI may be used to establish native Infiniband connection among the nodes. @@ -54,7 +62,7 @@ Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time r4i1n0/0*24+r4i1n1/0*24+r4i1n2/0*24+r4i1n3/0*24 ``` -In this example, we the node r4i1n0 by Infiniband network via the +In this example, we access the node r4i1n0 by Infiniband network via the ib0 interface. ``` @@ -79,3 +87,4 @@ inet 10.17.35.19.... + diff --git a/converted/docs.it4i.cz/salomon/prace.md b/converted/docs.it4i.cz/salomon/prace.md index d2f8a2ad..2f165559 100644 --- a/converted/docs.it4i.cz/salomon/prace.md +++ b/converted/docs.it4i.cz/salomon/prace.md @@ -5,6 +5,14 @@ PRACE User Support + + + + + + + + Intro ----- @@ -14,12 +22,12 @@ general documentation applies to them as well. This section shows the main differences for quicker orientation, but often uses references to the original documentation. PRACE users who don't undergo the full procedure (including signing the IT4I AuP on top of the PRACE AuP) will -not have a password and thus to some services intended for +not have a password and thus access to some services intended for regular users. This can lower their comfort, but otherwise they should be able to use the TIER-1 system as intended. Please see the [Obtaining Login Credentials section](../get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.html), -if the same level of is required. +if the same level of access is required. All general [PRACE User Documentation](http://www.prace-ri.eu/user-documentation/) @@ -35,7 +43,7 @@ Helpdesk](http://www.prace-ri.eu/helpdesk-guide264/). Information about the local services are provided in the [introduction of general user documentation](introduction.html). Please keep in mind, that standard PRACE accounts don't have a password -to the web interface of the local (IT4Innovations) request +to access the web interface of the local (IT4Innovations) request tracker and thus a new ticket should be created by sending an e-mail to support[at]it4i.cz. @@ -59,7 +67,7 @@ Accessing the cluster ### Access with GSI-SSH -For all PRACE users the method for interactive (login) and data +For all PRACE users the method for interactive access (login) and data transfer based on grid services from Globus Toolkit (GSI SSH and GridFTP) is supported. @@ -67,14 +75,14 @@ The user will need a valid certificate and to be present in the PRACE LDAP (please contact your HOME SITE or the primary investigator of your project for LDAP account creation). -Most of the information needed by PRACE users ing the Salomon +Most of the information needed by PRACE users accessing the Salomon TIER-1 system can be found here: - [General user's FAQ](http://www.prace-ri.eu/Users-General-FAQs) - [Certificates FAQ](http://www.prace-ri.eu/Certificates-FAQ) -- [Interactive using +- [Interactive access using GSISSH](http://www.prace-ri.eu/Interactive-Access-Using-gsissh) - [Data transfer with GridFTP](http://www.prace-ri.eu/Data-Transfer-with-GridFTP-Details) @@ -95,9 +103,9 @@ valid 12 hours), use: -To Salomon cluster, two login nodes running GSI SSH service are +To access Salomon cluster, two login nodes running GSI SSH service are available. The service is available from public Internet as well as from -the internal PRACE network (ible only from other PRACE partners). +the internal PRACE network (accessible only from other PRACE partners). Access from PRACE network:** @@ -166,13 +174,13 @@ gsiscp can be used: If the user needs to run X11 based graphical application and does not have a X11 server, the applications can be run using VNC service. If the -user is using regular SSH based , please see the [section in +user is using regular SSH based access, please see the [section in general -documentation](../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +documentation](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). -If the user uses GSI SSH based , then the procedure is similar to -the SSH based ([look -here](../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)), +If the user uses GSI SSH based access, then the procedure is similar to +the SSH based access ([look +here](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)), only the port forwarding must be done using GSI SSH: $ gsissh -p 2222 salomon.it4i.cz -L 5961:localhost:5961 @@ -180,10 +188,10 @@ only the port forwarding must be done using GSI SSH: ### Access with SSH After successful obtainment of login credentials for the local -IT4Innovations account, the PRACE users can the cluster as +IT4Innovations account, the PRACE users can access the cluster as regular users using SSH. For more information please see the [section in general -documentation](ing-the-cluster/shell-and-data-access/shell-and-data-access.html). +documentation](accessing-the-cluster/shell-and-data-access/shell-and-data-access.html). File transfers ------------------ @@ -191,12 +199,12 @@ File transfers PRACE users can use the same transfer mechanisms as regular users (if they've undergone the full registration procedure). For information about this, please see [the section in the general -documentation](ing-the-cluster/shell-and-data-access/shell-and-data-access.html). +documentation](accessing-the-cluster/shell-and-data-access/shell-and-data-access.html). Apart from the standard mechanisms, for PRACE users to transfer data to/from Salomon cluster, a GridFTP server running Globus Toolkit GridFTP service is available. The service is available from public Internet as -well as from the internal PRACE network (ible only from other +well as from the internal PRACE network (accessible only from other PRACE partners). There's one control server and three backend servers for striping and/or @@ -280,8 +288,8 @@ Usage of the cluster -------------------- There are some limitations for PRACE user when using the cluster. By -default PRACE users aren't allowed to special queues in the PBS -Pro to have high priority or exclusive to some special equipment +default PRACE users aren't allowed to access special queues in the PBS +Pro to have high priority or exclusive access to some special equipment like accelerated nodes and high memory (fat) nodes. There may be also restrictions obtaining a working license for the commercial software installed on the cluster, mostly because of the license agreement or @@ -387,3 +395,4 @@ increase. + diff --git a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md index 924cfbef..3b559fa7 100644 --- a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md +++ b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md @@ -5,6 +5,14 @@ Capacity computing + + + + + + + + Introduction ------------ diff --git a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md index 08c8e415..79011dfa 100644 --- a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md +++ b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md @@ -5,6 +5,14 @@ Resource Allocation and Job Execution + + + + + + + + To run a [job](job-submission-and-execution.html), [computational resources](resources-allocation-policy.html) for this @@ -23,8 +31,8 @@ The resources are allocated to the job in a fairshare fashion, subject to constraints set by the queue and resources available to the Project. [The Fairshare](job-priority.html) at Salomon ensures that individual users may consume approximately equal amount of -resources per week. The resources are ible via several queues for -queueing the jobs. The queues provide prioritized and exclusive +resources per week. The resources are accessible via several queues for +queueing the jobs. The queues provide prioritized and exclusive access to the computational resources. Following queues are available to Anselm users: @@ -32,7 +40,7 @@ users: - **qprod**, the Production queue**** - **qlong**, the Long queue - **qmpp**, the Massively parallel queue -- **qfat**, the queue to SMP UV2000 machine +- **qfat**, the queue to access SMP UV2000 machine - **qfree,** the Free resource utilization queue Check the queue status at <https://extranet.it4i.cz/rsweb/salomon/> @@ -60,3 +68,5 @@ HTML commented section #1 (removed Capacity computing section, this will be optimized for Salomon) + + diff --git a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md index 0a0caaec..ed77a237 100644 --- a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md +++ b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md @@ -1,6 +1,14 @@ Job scheduling ============== + + + + + + + + Job execution priority ---------------------- @@ -39,7 +47,7 @@ Fairshare priority is used for ranking jobs with equal queue priority. Fairshare priority is calculated as - + where MAX_FAIRSHARE has value 1E6, usage~Project~ is cumulated usage by all members of selected project, @@ -75,7 +83,7 @@ job. Job execution priority (job sort formula) is calculated as: - + ### Job backfilling @@ -109,3 +117,6 @@ walltime could be backfilled - and overtake job(s) with higher priority. Job [placement can be controlled by flags during submission](job-submission-and-execution.html#job_placement). + + + diff --git a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md index d0af553e..fc8dc93f 100644 --- a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md +++ b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md @@ -5,6 +5,14 @@ Job submission and execution + + + + + + + + Job Submission -------------- @@ -90,7 +98,7 @@ approach through attributes "accelerator", "naccelerators" and "accelerator_model" is used. The "accelerator_model" can be omitted, since on Salomon only one type of accelerator type/model is available. -The absence of specialized queue for ing the nodes with cards +The absence of specialized queue for accessing the nodes with cards means, that the Phi cards can be utilized in any queue, including qexp for testing/experiments, qlong for longer jobs, qfree after the project resources have been spent, etc. The Phi cards are thus also available to @@ -226,8 +234,16 @@ efficient network communication. + + + + There are at most 9 nodes sharing the same Infiniband switch. + + + + Infiniband switch list: @@ -257,6 +273,10 @@ set node r37u32n970 resources_available.switch = r36sw3 set node r37u33n971 resources_available.switch = r36sw3 set node r37u34n972 resources_available.switch = r36sw3 ``` + + + + Nodes sharing the same switch may be selected via the PBS resource attribute switch. @@ -274,13 +294,25 @@ $ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24:switch=r4i1s0sw1 ./myjob In this example, we request all the 9 nodes sharing the r4i1s0sw1 switch for 24 hours. + + + + ``` $ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24 -l place=group=switch ./myjob ``` + + + + In this example, we request 9 nodes placed on the same switch using node grouping placement for 24 hours. + + + + HTML commented section #1 (turbo boost is to be implemented) Job Management @@ -447,11 +479,11 @@ $ pwd In this example, 4 nodes were allocated interactively for 1 hour via the qexp queue. The interactive shell is executed in the home directory. -All nodes within the allocation may be ed via ssh. Unallocated -nodes are not ible to user. +All nodes within the allocation may be accessed via ssh. Unallocated +nodes are not accessible to user. -The allocated nodes are ible via ssh from login nodes. The nodes -may each other via ssh as well. +The allocated nodes are accessible via ssh from login nodes. The nodes +may access each other via ssh as well. Calculations on allocated nodes may be executed remotely via the MPI, ssh, pdsh or clush. You may find out which nodes belong to the @@ -614,3 +646,5 @@ may use threads. HTML commented section #3 (Capacity computing need to be reworked) + + diff --git a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md index 0281059a..685681fd 100644 --- a/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md +++ b/converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md @@ -5,6 +5,14 @@ Resources Allocation Policy + + + + + + + + Resources Allocation Policy --------------------------- @@ -13,8 +21,8 @@ to constraints set by the queue and resources available to the Project. The Fairshare at Anselm ensures that individual users may consume approximately equal amount of resources per week. Detailed information in the [Job scheduling](job-priority.html) section. The -resources are ible via several queues for queueing the jobs. The -queues provide prioritized and exclusive to the computational +resources are accessible via several queues for queueing the jobs. The +queues provide prioritized and exclusive access to the computational resources. Following table provides the queue partitioning overview: @@ -148,14 +156,14 @@ is allowed after request for this queue. - **qprod**, the Production queue****: This queue is intended for normal production runs. It is required that active project with nonzero remaining resources is specified to enter the qprod. All - nodes may be ed via the qprod queue, however only 86 per job. + nodes may be accessed via the qprod queue, however only 86 per job. ** Full nodes, 24 cores per node are allocated. The queue runs with medium priority and no special authorization is required to use it. The maximum runtime in qprod is 48 hours. - **qlong**, the Long queue****: This queue is intended for long production runs. It is required that active project with nonzero remaining resources is specified to enter the qlong. Only 336 nodes - without acceleration may be ed via the qlong queue. Full + without acceleration may be accessed via the qlong queue. Full nodes, 24 cores per node are allocated. The queue runs with medium priority and no special authorization is required to use it.> *The maximum runtime in qlong is 144 hours (three times of the @@ -163,7 +171,7 @@ is allowed after request for this queue. - >****qmpp**, the massively parallel queue. This queue is intended for massively parallel runs. It is required that active project with nonzero remaining resources is specified to enter - the qmpp. All nodes may be ed via the qmpp queue. ** Full + the qmpp. All nodes may be accessed via the qmpp queue. ** Full nodes, 24 cores per node are allocated. The queue runs with medium priority and no special authorization is required to use it. The maximum runtime in qmpp is 4 hours. An PI> *needs explicitly* @@ -172,7 +180,7 @@ is allowed after request for this queue. her/his Project. - >****qfat**, the UV2000 queue. This queue is dedicated - to the fat SGI UV2000 SMP machine. The machine (uv1) has 112 + to access the fat SGI UV2000 SMP machine. The machine (uv1) has 112 Intel IvyBridge cores at 3.3GHz and 3.25TB RAM. An PI> *needs explicitly* ask [support](https://support.it4i.cz/rt/) for @@ -185,13 +193,13 @@ is allowed after request for this queue. after exhaustion of computational resources.). It is required that active project is specified to enter the queue, however no remaining resources are required. Consumed resources will be accounted to - the Project. Only 178 nodes without accelerator may be ed from + the Project. Only 178 nodes without accelerator may be accessed from this queue. Full nodes, 24 cores per node are allocated. The queue runs with very low priority and no special authorization is required to use it. The maximum runtime in qfree is 12 hours. - **qviz**, the Visualization queue****: Intended for pre-/post-processing using OpenGL accelerated graphics. Currently - when ing the node, each user gets 4 cores of a CPU allocated, + when accessing the node, each user gets 4 cores of a CPU allocated, thus approximately 73 GB of RAM and 1/7 of the GPU capacity (default "chunk"). *If more GPU power or RAM is required, it is recommended to allocate more chunks (with 4 cores each) up to one @@ -202,7 +210,7 @@ is allowed after request for this queue. -To node with Xeon Phi co-processor user needs to specify that in +To access node with Xeon Phi co-processor user needs to specify that in [job submission select statement](job-submission-and-execution.html). @@ -228,7 +236,7 @@ Check the status of jobs, queues and compute nodes at - + @@ -335,3 +343,5 @@ Password: + + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md index e6d4672e..7710a024 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md @@ -1,6 +1,14 @@ ANSYS CFX ========= + + + + + + + + [ANSYS CFX](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+CFX) software is a high-performance, general purpose fluid dynamics program @@ -48,7 +56,7 @@ cfx.pbs script and execute it via the qsub command. do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done @@ -87,3 +95,4 @@ preferences](setting-license-preferences.html) instead. + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md index 8006674a..7c1cb2e4 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md @@ -1,6 +1,14 @@ ANSYS Fluent ============ + + + + + + + + [ANSYS Fluent](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+Fluent) software contains the broad physical modeling capabilities needed to @@ -144,6 +152,14 @@ execute the job across multiple processors. + + + + + + + + >To run ANSYS Fluent in batch mode with user's config file you can utilize/modify the following script and execute it via the qsub command. @@ -176,7 +192,7 @@ command. cpus=‘expr $num_nodes * $NCPUS‘ #Default arguments for mpp jobs, these should be changed to suit your #needs. - fluent_args="-t$ $fluent_args -cnf=$PBS_NODEFILE" + fluent_args="-t${cpus} $fluent_args -cnf=$PBS_NODEFILE" ;; *) #SMP case @@ -215,3 +231,5 @@ run](setting-license-preferences.html). + + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md index 9ff80553..a1189274 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md @@ -1,9 +1,17 @@ ANSYS LS-DYNA ============= + + + + + + + + [ANSYS LS-DYNA](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/Explicit+Dynamics/ANSYS+LS-DYNA) -software provides convenient and easy-to-use to the +software provides convenient and easy-to-use access to the technology-rich, time-tested explicit solver without the need to contend with the complex input requirements of this sophisticated program. Introduced in 1996, ANSYS LS-DYNA capabilities have helped customers in @@ -52,7 +60,7 @@ default ansysdyna.pbs script and execute it via the qsub command. do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done @@ -87,3 +95,4 @@ will fail. + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md index 7aac5b95..0c3c6d9b 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md @@ -1,6 +1,14 @@ ANSYS MAPDL =========== + + + + + + + + >**[ANSYS Multiphysics](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/ANSYS+Multiphysics)** software offers a comprehensive product solution for both multiphysics @@ -43,7 +51,7 @@ default mapdl.pbs script and execute it via the qsub command. do if [ "$hl" = "" ] then hl="$host:$procs_per_host" - else hl="$:$host:$procs_per_host" + else hl="${hl}:$host:$procs_per_host" fi done @@ -80,3 +88,4 @@ AUTODYN)> + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md index 4e3c1f73..97420ddb 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md @@ -1,6 +1,14 @@ Overview of ANSYS Products ========================== + + + + + + + + [SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS Channel partner](http://www.ansys.com/)*** for Czech Republic provided all ANSYS licenses for all clusters and supports of @@ -31,3 +39,4 @@ solution to the clusters directly from the client's Workbench project + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/ansys.md b/converted/docs.it4i.cz/salomon/software/ansys/ansys.md index 6101ad91..82ff875b 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/ansys.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/ansys.md @@ -1,6 +1,14 @@ Overview of ANSYS Products ========================== + + + + + + + + [SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS Channel partner](http://www.ansys.com/)*** for Czech Republic provided all ANSYS licenses for all clusters and supports of diff --git a/converted/docs.it4i.cz/salomon/software/ansys/licensing.md b/converted/docs.it4i.cz/salomon/software/ansys/licensing.md index 5d09c5ae..55a0acbe 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/licensing.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/licensing.md @@ -1,6 +1,14 @@ Licensing and Available Versions ================================ + + + + + + + + ANSYS licence can be used by: ----------------------------- @@ -42,3 +50,7 @@ Please [see this page to set license preferences](setting-license-preferences.html). + + + + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md b/converted/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md index b3c44f8f..e12e3b69 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md @@ -1,6 +1,14 @@ Setting license preferences =========================== + + + + + + + + Some ANSYS tools allow you to explicitly specify usage of academic or commercial licenses in the command line (eg. ansys161 -p aa_r to select Academic Research @@ -17,11 +25,11 @@ Launch the ANSLIC_ADMIN utility in a graphical environment: ANSLIC_ADMIN Utility will be run - + - + - + @@ -30,7 +38,8 @@ the bottom of the list. - + + diff --git a/converted/docs.it4i.cz/salomon/software/ansys/workbench.md b/converted/docs.it4i.cz/salomon/software/ansys/workbench.md index 11091bd1..34ce793b 100644 --- a/converted/docs.it4i.cz/salomon/software/ansys/workbench.md +++ b/converted/docs.it4i.cz/salomon/software/ansys/workbench.md @@ -1,6 +1,14 @@ Workbench ========= + + + + + + + + Workbench Batch Mode -------------------- @@ -74,3 +82,4 @@ uploading a project from your local computer. + diff --git a/converted/docs.it4i.cz/salomon/software/chemistry/molpro.md b/converted/docs.it4i.cz/salomon/software/chemistry/molpro.md index 77cf1643..80e64cdb 100644 --- a/converted/docs.it4i.cz/salomon/software/chemistry/molpro.md +++ b/converted/docs.it4i.cz/salomon/software/chemistry/molpro.md @@ -1,8 +1,20 @@ Molpro ====== + + + + Molpro is a complete system of ab initio programs for molecular electronic structure calculations. + + + + + + + + About Molpro ------------ @@ -14,7 +26,7 @@ License ------- Molpro software package is available only to users that have a valid -license. Please contact support to enable to Molpro if you have a +license. Please contact support to enable access to Molpro if you have a valid license appropriate for running on our cluster (eg. >academic research group licence, parallel execution). diff --git a/converted/docs.it4i.cz/salomon/software/chemistry/nwchem.md b/converted/docs.it4i.cz/salomon/software/chemistry/nwchem.md index 18d279ce..cda2a674 100644 --- a/converted/docs.it4i.cz/salomon/software/chemistry/nwchem.md +++ b/converted/docs.it4i.cz/salomon/software/chemistry/nwchem.md @@ -1,7 +1,19 @@ NWChem ====== + + + + High-Performance Computational Chemistry + + + + + + + + >Introduction ------------------------- diff --git a/converted/docs.it4i.cz/salomon/software/chemistry/phono3py.md b/converted/docs.it4i.cz/salomon/software/chemistry/phono3py.md index 4aeb4257..a508b612 100644 --- a/converted/docs.it4i.cz/salomon/software/chemistry/phono3py.md +++ b/converted/docs.it4i.cz/salomon/software/chemistry/phono3py.md @@ -4,6 +4,18 @@ Phono3py + + + + + + + + + + + + Introduction ------------- @@ -203,3 +215,7 @@ grouping single conductivity per grid calculations using ``` $ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --br --read_gamma ``` + + + + diff --git a/converted/docs.it4i.cz/salomon/software/compilers.md b/converted/docs.it4i.cz/salomon/software/compilers.md index 5dca15f3..0967a0ff 100644 --- a/converted/docs.it4i.cz/salomon/software/compilers.md +++ b/converted/docs.it4i.cz/salomon/software/compilers.md @@ -1,11 +1,23 @@ Compilers ========= + + + + Available compilers, including GNU, INTEL and UPC compilers + + + + + + + + There are several compilers for different programming languages available on the cluster: @@ -63,7 +75,7 @@ GNU For compatibility reasons there are still available the original (old 4.4.7-11) versions of GNU compilers as part of the OS. These are -ible in the search path by default. +accessible in the search path by default. It is strongly recommended to use the up to date version which comes with the module GCC: diff --git a/converted/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md b/converted/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md index a4446f41..a2f4edd3 100644 --- a/converted/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md +++ b/converted/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md @@ -5,11 +5,19 @@ COMSOL Multiphysics® + + + + + + + + >>Introduction ------------------------- ->>[COMSOL](http://www.comsol.com)><span> +>>[COMSOL](http://www.comsol.com) is a powerful environment for modelling and solving various engineering and scientific problems based on partial differential equations. COMSOL is designed to solve coupled or multiphysics phenomena. For many @@ -37,7 +45,7 @@ applications. others](http://www.comsol.com/products) >>COMSOL also allows an ->>><span>interface support for +>>interface support for equation-based modelling of >>partial differential equations. @@ -49,18 +57,18 @@ equations. >>On the clusters COMSOL is available in the latest stable version. There are two variants of the release: -- >>**Non commercial**><span> or so +- >>**Non commercial** or so called >>**EDU variant**>>, which can be used for research and educational purposes. -- >>**Commercial**><span> or so called - >>**COM variant**><span>, +- >>**Commercial** or so called + >>**COM variant**, which can used also for commercial activities. - >>**COM variant**><span> + >>**COM variant** has only subset of features compared to the >>**EDU - variant**>> available. + variant**>> available. <span id="result_box" More about licensing will be posted here @@ -73,7 +81,7 @@ version. There are two variants of the release: $ module load COMSOL/51-EDU ``` ->>By default the ><span>**EDU +>>By default the **EDU variant**>> will be loaded. If user needs other version or variant, load the particular version. To obtain the list of available versions use @@ -86,7 +94,7 @@ $ module avail COMSOL it is recommend to use COMSOL on the compute nodes via PBS Pro scheduler. In order run the COMSOL Desktop GUI on Windows is recommended to use the [Virtual Network Computing -(VNC)](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +(VNC)](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). ``` $ xhost + @@ -121,7 +129,7 @@ module load COMSOL ntask=$(wc -l $PBS_NODEFILE) -comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log +comsol -nn ${ntask} batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log ``` >>Working directory has to be created before sending the @@ -130,25 +138,25 @@ has to be in working directory or full path to input file has to be specified. The appropriate path to the temp directory of the job has to be set by command option (-tmpdir). -LiveLink™* *for MATLAB^®^ +LiveLink™* *for MATLAB®^ ------------------------- >>COMSOL is the software package for the numerical solution of the partial differential equations. LiveLink for MATLAB allows connection to the -COMSOL>>^><span><span><span><span>**®**</span></span></span></span></span>^ +COMSOL>><span><span><span><span><span>**®**</span></span></span></span></span>^ API (Application Programming Interface) with the benefits of the programming language and computing environment of the MATLAB. >>LiveLink for MATLAB is available in both ->>**EDU**><span> and ->>**COM**><span> ->>**variant**><span> of the +>>**EDU** and +>>**COM** +>>**variant** of the COMSOL release. On the clusters 1 commercial -(>>**COM**><span>) license +(>>**COM**) license and the 5 educational -(>>**EDU**><span>) licenses +(>>**EDU**) licenses of LiveLink for MATLAB (please see the [ISV Licenses](../isv_licenses.html)) are available. Following example shows how to start COMSOL model from MATLAB via @@ -192,7 +200,7 @@ module load COMSOL/51-EDU ntask=$(wc -l $PBS_NODEFILE) -comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/work/user/$USER/work & +comsol -nn ${ntask} server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/work/user/$USER/work & cd /apps/cae/COMSOL/51/mli matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/work/user/$USER/work; test_job" ``` @@ -206,3 +214,6 @@ path to input file has to be specified. The Matlab command option (-r port number. + + + diff --git a/converted/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md b/converted/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md index 4cd91829..22be0cc0 100644 --- a/converted/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md +++ b/converted/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md @@ -1,6 +1,14 @@ Licensing and Available Versions ================================ + + + + + + + + Comsol licence can be used by: ------------------------------ @@ -27,7 +35,7 @@ Comsol COM Network Licence The licence intended to be used for science and research, publications, students’ projects, commercial research with no commercial use -restrictions. id="result_box"> E +restrictions. id="result_box"> E<span nables the solution of at least one job by one user in one @@ -37,3 +45,7 @@ Available Versions ------------------ - ver. 51 + + + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers.md b/converted/docs.it4i.cz/salomon/software/debuggers.md index 49d0dfc9..b2430cc6 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers.md @@ -5,6 +5,14 @@ Debuggers and profilers summary + + + + + + + + Introduction ------------ @@ -22,7 +30,7 @@ The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use [X -display](../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +display](../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) for running the GUI. $ module load intel diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/aislinn.md b/converted/docs.it4i.cz/salomon/software/debuggers/aislinn.md index 451b73a0..339c5ebb 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/aislinn.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/aislinn.md @@ -1,11 +1,19 @@ Aislinn ======= + + + + + + + + - Aislinn is a dynamic verifier for MPI programs. For a fixed input it covers all possible runs with respect to nondeterminism introduced by MPI. It allows to detect bugs (for sure) that occurs very rare in normal runs. -- Aislinn detects problems like invalid memory es, deadlocks, +- Aislinn detects problems like invalid memory accesses, deadlocks, misuse of MPI, and resource leaks. - Aislinn is open-source software; you can use it without any licensing limitations. @@ -17,6 +25,10 @@ Note Aislinn is software developed at IT4Innovations and some parts are still considered experimental. If you have any questions or experienced any problems, please contact the author: <stanislav.bohm@vsb.cz>. + + + + ### Usage Let us have the following program that contains a bug that is not @@ -112,6 +124,10 @@ It shows us: > - The last part shows MPI calls for each process that occurs in the > invalid run. The more detailed information about each call can be > obtained by mouse cursor. + + + + ### Limitations Since the verification is a non-trivial process there are some of @@ -148,3 +164,7 @@ will be removed in the future: reads inputs and writes results, it is ok. + + + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/allinea-ddt.md b/converted/docs.it4i.cz/salomon/software/debuggers/allinea-ddt.md index 4e1b2df7..64b4024a 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/allinea-ddt.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/allinea-ddt.md @@ -5,6 +5,14 @@ Allinea Forge (DDT,MAP) + + + + + + + + Allinea Forge consist of two tools - debugger DDT and profiler MAP. Allinea DDT, is a commercial debugger primarily for debugging parallel @@ -59,11 +67,11 @@ $ mpif90 -g -O0 -o test_debug test.f Before debugging, you need to compile your code with theses flags: --g** : Generates extra debugging information usable by GDB. -g3 +-g** : Generates extra debugging information usable by GDB. -g3** includes even more debugging information. This option is available for GNU and INTEL C/C++ and Fortran compilers. --O0** : Suppress all optimizations. +-O0** : Suppress all optimizations.** @@ -72,15 +80,15 @@ Direct starting a Job with Forge Be sure to log in with an [ X window forwarding -enabled](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +enabled](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). This could mean using the -X in the ssh: $ ssh -X username@clustername.it4i.cz -Other options is to login node using VNC. Please see the detailed +Other options is to access login node using VNC. Please see the detailed information on [how to use graphic user interface on the -clusters](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +clusters](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) . From the login node an interactive session **with X windows forwarding** @@ -106,7 +114,7 @@ Command line arguments to a program can be entered to the box.  - + To start the debugging directly without the submission window, user can specify the debugging and execution parameters from the command line. @@ -154,7 +162,7 @@ It is recommended to set the following environment values on the offload host: export MYO_WATCHDOG_MONITOR=-1 # To make sure the host process isn't killed when we enter a debugging session - export AMPLXE_COI_DEBUG_SUPPORT=true # To make sure that debugging symbols are ible on the host and the card + export AMPLXE_COI_DEBUG_SUPPORT=true # To make sure that debugging symbols are accessible on the host and the card unset OFFLOAD_MAIN # To make sure allinea DDT can attach to offloaded codes Then use one of the above mentioned methods to launch Forge. (Reverse @@ -223,3 +231,5 @@ Debugging with Allinea DDT, Workshop conducted at LLNL by Allinea on May + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md b/converted/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md index 390af289..e1fffc40 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md @@ -1,11 +1,23 @@ Allinea Performance Reports =========================== + + + + quick application profiling + + + + + + + + Introduction ------------ @@ -75,3 +87,6 @@ and were created. We can see that the code is very efficient on MPI and is CPU bounded. + + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md b/converted/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md index 51dbe438..6a82738a 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md @@ -5,6 +5,14 @@ Intel VTune Amplifier XE + + + + + + + + Introduction ------------ @@ -19,7 +27,11 @@ highlight of the features: bandwidth - Power usage analysis - frequency and sleep states. - + + + + + @@ -139,3 +151,6 @@ References 3.>><https://software.intel.com/en-us/amplifier_help_linux> Linux user guide + + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/report.png b/converted/docs.it4i.cz/salomon/software/debuggers/report.png new file mode 100644 index 0000000000000000000000000000000000000000..d7614f04f06b8fb8b93e83225ad97e4210ea2c14 GIT binary patch literal 66893 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얦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 literal 0 HcmV?d00001 diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/summary.md b/converted/docs.it4i.cz/salomon/software/debuggers/summary.md index d649fa53..b1fe9677 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/summary.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/summary.md @@ -5,6 +5,14 @@ Debuggers and profilers summary + + + + + + + + Introduction ------------ @@ -22,7 +30,7 @@ The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use [X -display](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +display](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) for running the GUI. $ module load intel diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/total-view.md b/converted/docs.it4i.cz/salomon/software/debuggers/total-view.md index db26eae9..9159d2e9 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/total-view.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/total-view.md @@ -1,8 +1,20 @@ Total View ========== + + + + TotalView is a GUI-based source code multi-process, multi-thread debugger. + + + + + + + + License and Limitations for cluster Users ----------------------------------------- @@ -42,11 +54,11 @@ Compile the code: Before debugging, you need to compile your code with theses flags: --g** : Generates extra debugging information usable by GDB. -g3 +-g** : Generates extra debugging information usable by GDB. -g3** includes even more debugging information. This option is available for GNU and INTEL C/C++ and Fortran compilers. --O0** : Suppress all optimizations. +-O0** : Suppress all optimizations.** Starting a Job with TotalView ----------------------------- @@ -56,7 +68,7 @@ using the -X in the ssh: ssh -X username@salomon.it4i.cz -Other options is to login node using VNC. Please see the detailed +Other options is to access login node using VNC. Please see the detailed information on how to use graphic user interface on Anselm [here](https://docs.it4i.cz/salomon/software/debuggers/resolveuid/11e53ad0d2fd4c5187537f4baeedff33#VNC). @@ -83,8 +95,8 @@ Please note:** To be able to run parallel debugging procedure from the command line without stopping the debugger in the mpiexec source code you have to add the following function to your **~/.tvdrc** file: - proc mpi_auto_run_starter { - set starter_programs + proc mpi_auto_run_starter {loaded_id} { + set starter_programs {mpirun mpiexec orterun} set executable_name [TV::symbol get $loaded_id full_pathname] set file_component [file tail $executable_name] @@ -124,7 +136,7 @@ When following dialog appears click on "Yes" At this point the main TotalView GUI window will appear and you can insert the breakpoints and start debugging: - + ### Debugging a parallel code - option 2 @@ -154,3 +166,6 @@ documentation](http://www.roguewave.com/support/product-documentation/totalview- web page is a good resource for learning more about some of the advanced TotalView features. + + + diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/valgrind.md b/converted/docs.it4i.cz/salomon/software/debuggers/valgrind.md index 27c51bce..de33465d 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/valgrind.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/valgrind.md @@ -1,7 +1,19 @@ Valgrind ======== + + + + Valgrind is a tool for memory debugging and profiling. + + + + + + + + About Valgrind -------------- @@ -20,8 +32,8 @@ Valgrind run 5-100 times slower. The main tools available in Valgrind are : - **Memcheck**, the original, must used and default tool. Verifies - memory in you program and can detect use of unitialized - memory, out of bounds memory , memory leaks, double free, etc. + memory access in you program and can detect use of unitialized + memory, out of bounds memory access, memory leaks, double free, etc. - **Massif**, a heap profiler. - **Hellgrind** and **DRD** can detect race conditions in multi-threaded applications. @@ -121,7 +133,7 @@ description of command line options. ==12652== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 6 from 6) In the output we can see that Valgrind has detected both errors - the -off-by-one memory at line 5 and a memory leak of 40 bytes. If we +off-by-one memory access at line 5 and a memory leak of 40 bytes. If we want a detailed analysis of the memory leak, we need to run Valgrind with --leak-check=full option : diff --git a/converted/docs.it4i.cz/salomon/software/debuggers/vampir.md b/converted/docs.it4i.cz/salomon/software/debuggers/vampir.md index 4fb7ad88..a0b44fbd 100644 --- a/converted/docs.it4i.cz/salomon/software/debuggers/vampir.md +++ b/converted/docs.it4i.cz/salomon/software/debuggers/vampir.md @@ -1,13 +1,21 @@ Vampir ====== + + + + + + + + Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as [Score-P](score-p.html)) first to collect the traces. - + ---------------------------------------------------------------------------------------------------------------------------------------------- Installed versions diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md index 12a07b71..a2c1b218 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md @@ -1,6 +1,14 @@ Intel Advisor ============= + + + + + + + + is tool aiming to assist you in vectorization and threading of your code. You can use it to profile your application and identify loops, that could benefit from vectorization and/or threading diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md index 6dd1fa07..5d8661a9 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md @@ -5,6 +5,14 @@ Intel Compilers + + + + + + + + The Intel compilers in multiple versions are available, via module intel. The compilers include the icc C and C++ compiler and the ifort fortran 77/90/95 compiler. diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md index 82f38d17..b1663cee 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md @@ -5,6 +5,14 @@ Intel Debugger + + + + + + + + IDB is no longer available since Intel Parallel Studio 2015 Debugging serial applications @@ -14,7 +22,7 @@ The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use [X -display](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +display](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) for running the GUI. $ module load intel/2014.06 @@ -26,9 +34,9 @@ The debugger may run in text mode. To debug in text mode, use $ idbc To debug on the compute nodes, module intel must be loaded. -The GUI on compute nodes may be ed using the same way as in [the +The GUI on compute nodes may be accessed using the same way as in [the GUI -section](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +section](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) Example: @@ -43,7 +51,7 @@ Example: In this example, we allocate 1 full compute node, compile program myprog.c with debugging options -O0 -g and run the idb debugger -interactively on the myprog.x executable. The GUI is via X11 port +interactively on the myprog.x executable. The GUI access is via X11 port forwarding provided by the PBS workload manager. Debugging parallel applications @@ -56,7 +64,7 @@ programs as well. For debugging small number of MPI ranks, you may execute and debug each rank in separate xterm terminal (do not forget the [X -display](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)). +display](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)). Using Intel MPI, this may be done in following way: $ qsub -q qexp -l select=2:ncpus=24 -X -I diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md index dce70676..17209fd2 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md @@ -1,6 +1,14 @@ Intel Inspector =============== + + + + + + + + Intel Inspector is a dynamic memory and threading error checking tool for C/C++/Fortran applications. It can detect issues such as memory leaks, invalid memory references, uninitalized variables, race diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md index e0b1bf13..d62f7400 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md @@ -5,6 +5,14 @@ Intel IPP + + + + + + + + Intel Integrated Performance Primitives --------------------------------------- diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md index 43cb59ba..23e0781b 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md @@ -6,6 +6,14 @@ Intel MKL + + + + + + + + Intel Math Kernel Library ------------------------- @@ -88,7 +96,7 @@ With intel compiler use -mkl option to link default threaded MKL. Intel MKL library provides number of interfaces. The fundamental once are the LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit integer type (necessary for indexing large arrays, with more than -2^31^-1 elements), whereas the LP64 libraries index arrays with the +231^-1 elements), whereas the LP64 libraries index arrays with the 32-bit integer type. Interface Integer type diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md index 498b7c9d..3a8c44f5 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md @@ -5,6 +5,14 @@ Intel Parallel Studio + + + + + + + + The Salomon cluster provides following elements of the Intel Parallel Studio XE @@ -42,7 +50,7 @@ IDB is no longer available since Parallel Studio 2015. debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use [X -display](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +display](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) for running the GUI. $ module load intel diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md index bdc4e31e..84d45ce7 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md @@ -5,6 +5,14 @@ Intel TBB + + + + + + + + Intel Threading Building Blocks ------------------------------- diff --git a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md index 9f6cb95b..61dc40e4 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md +++ b/converted/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md @@ -1,6 +1,14 @@ Intel Trace Analyzer and Collector ================================== + + + + + + + + Intel Trace Analyzer and Collector (ITAC) is a tool to collect and graphicaly analyze behaviour of MPI applications. It helps you to analyze communication patterns of your application, identify hotspots, @@ -32,7 +40,7 @@ Viewing traces -------------- To view and analyze the trace, open ITAC GUI in a [graphical -environment](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) +environment](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html) : $ module load itac/9.1.2.024 diff --git a/converted/docs.it4i.cz/salomon/software/intel-xeon-phi.md b/converted/docs.it4i.cz/salomon/software/intel-xeon-phi.md index c5684fdb..25b9b052 100644 --- a/converted/docs.it4i.cz/salomon/software/intel-xeon-phi.md +++ b/converted/docs.it4i.cz/salomon/software/intel-xeon-phi.md @@ -1,11 +1,23 @@ Intel Xeon Phi ============== + + + + A guide to Intel Xeon Phi usage + + + + + + + + Intel Xeon Phi accelerator can be programmed in several modes. The default mode on the cluster is offload mode, but all modes described in this document are supported. @@ -13,7 +25,7 @@ this document are supported. Intel Utilities for Xeon Phi ---------------------------- -To get to a compute node with Intel Xeon Phi accelerator, use the +To get access to a compute node with Intel Xeon Phi accelerator, use the PBS interactive session $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0 @@ -510,7 +522,7 @@ Phi: ### Execution of the Program in Native Mode on Intel Xeon Phi -The user to the Intel Xeon Phi is through the SSH. Since user +The user access to the Intel Xeon Phi is through the SSH. Since user home directories are mounted using NFS on the accelerator, users do not have to copy binary files or libraries between the host and accelerator. @@ -799,7 +811,7 @@ Similarly to execution of OpenMP programs in native mode, since the environmental module are not supported on MIC, user has to setup paths to Intel MPI libraries and binaries manually. One time setup can be done by creating a "**.profile**" file in user's home directory. This file -sets up the environment on the MIC automatically once user to the +sets up the environment on the MIC automatically once user access to the accelerator through the SSH. At first get the LD_LIBRARY_PATH for currenty used Intel Compiler and @@ -828,7 +840,7 @@ libraries. library and particular version of an Intel compiler. These versions have to match with loaded modules. -To a MIC accelerator located on a node that user is currently +To access a MIC accelerator located on a node that user is currently connected to, use: $ ssh mic0 @@ -898,7 +910,7 @@ execute: Execution on host - MPI processes distributed over multiple accelerators on multiple nodes** ->To get to multiple nodes with MIC accelerator, user has to +>To get access to multiple nodes with MIC accelerator, user has to use PBS to allocate the resources. To start interactive session, that allocates 2 compute nodes = 2 MIC accelerators run qsub command with following parameters: @@ -919,7 +931,7 @@ immediately. To see the other nodes that have been allocated use: r38u32n1001.bullx >This output means that the PBS allocated nodes r38u31n1000 and -r38u32n1001, which means that user has direct to +r38u32n1001, which means that user has direct access to "**r38u31n1000-mic0**" and "**>r38u32n1001-mic0**" accelerators. @@ -1067,11 +1079,11 @@ PBS also generates a set of node-files that can be used instead of manually creating a new one every time. Three node-files are genereated: Host only node-file:** - - /lscratch/$/nodefile-cn + - /lscratch/${PBS_JOBID}/nodefile-cn MIC only node-file**: - - /lscratch/$/nodefile-mic + - /lscratch/${PBS_JOBID}/nodefile-mic Host and MIC node-file**: - - /lscratch/$/nodefile-mix + - /lscratch/${PBS_JOBID}/nodefile-mix Please note each host or accelerator is listed only per files. User has to specify how many jobs should be executed per node using "-n" @@ -1084,3 +1096,7 @@ For more details about optimization techniques please read Intel document [Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors](http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization "http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization") + + + + diff --git a/converted/docs.it4i.cz/salomon/software/java.md b/converted/docs.it4i.cz/salomon/software/java.md index 2701936e..2ec6c2c8 100644 --- a/converted/docs.it4i.cz/salomon/software/java.md +++ b/converted/docs.it4i.cz/salomon/software/java.md @@ -1,11 +1,23 @@ Java ==== + + + + Java on the cluster + + + + + + + + Java is available on the cluster. Activate java by loading the Java module diff --git a/converted/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md b/converted/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md index 504db7f2..fd29a09a 100644 --- a/converted/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md +++ b/converted/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md @@ -5,6 +5,14 @@ Running OpenMPI + + + + + + + + OpenMPI program execution ------------------------- diff --git a/converted/docs.it4i.cz/salomon/software/mpi-1/mpi.md b/converted/docs.it4i.cz/salomon/software/mpi-1/mpi.md index 990d65d8..51395ae3 100644 --- a/converted/docs.it4i.cz/salomon/software/mpi-1/mpi.md +++ b/converted/docs.it4i.cz/salomon/software/mpi-1/mpi.md @@ -5,6 +5,14 @@ MPI + + + + + + + + Setting up MPI Environment -------------------------- @@ -141,7 +149,7 @@ scratch /lscratch filesystem. ### Ways to run MPI programs Optimal way to run an MPI program depends on its memory requirements, -memory pattern and communication pattern. +memory access pattern and communication pattern. Consider these ways to run an MPI program: 1. One MPI process per node, 24 threads per process @@ -152,13 +160,13 @@ One MPI** process per node, using 24 threads, is most useful for memory demanding applications, that make good use of processor cache memory and are not memory bound. This is also a preferred way for communication intensive applications as one process per node enjoys full -bandwidth to the network interface. +bandwidth access to the network interface. Two MPI** processes per node, using 12 threads each, bound to processor socket is most useful for memory bandwidth bound applications such as BLAS1 or FFT, with scalable memory demand. However, note that -the two processes will share to the network interface. The 12 -threads and socket binding should ensure maximum memory bandwidth +the two processes will share access to the network interface. The 12 +threads and socket binding should ensure maximum memory access bandwidth and minimize communication, migration and numa effect overheads. Important! Bind every OpenMP thread to a core! diff --git a/converted/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md b/converted/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md index fddc6f7d..ce10aacc 100644 --- a/converted/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md +++ b/converted/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md @@ -1,11 +1,23 @@ MPI4Py (MPI for Python) ======================= + + + + OpenMPI interface to Python + + + + + + + + Introduction ------------ diff --git a/converted/docs.it4i.cz/salomon/software/numerical-languages/introduction.md b/converted/docs.it4i.cz/salomon/software/numerical-languages/introduction.md index 5dba41d7..a64bd025 100644 --- a/converted/docs.it4i.cz/salomon/software/numerical-languages/introduction.md +++ b/converted/docs.it4i.cz/salomon/software/numerical-languages/introduction.md @@ -1,11 +1,23 @@ Numerical languages =================== + + + + Interpreted languages for numerical computations and analysis + + + + + + + + Introduction ------------ @@ -15,7 +27,7 @@ primarily intended for numerical computations. Matlab ------ -MATLAB^®^ is a high-level language and interactive environment for +MATLAB®^ is a high-level language and interactive environment for numerical computation, visualization, and programming. $ module load MATLAB diff --git a/converted/docs.it4i.cz/salomon/software/numerical-languages/matlab.md b/converted/docs.it4i.cz/salomon/software/numerical-languages/matlab.md index 282ebca4..5ac2f70f 100644 --- a/converted/docs.it4i.cz/salomon/software/numerical-languages/matlab.md +++ b/converted/docs.it4i.cz/salomon/software/numerical-languages/matlab.md @@ -5,6 +5,14 @@ Matlab + + + + + + + + Introduction ------------ @@ -36,12 +44,12 @@ Matlab on the compute nodes via PBS Pro scheduler. If you require the Matlab GUI, please follow the general informations about [running graphical -applications](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +applications](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part -[here](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)) +[here](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html)) is recommended. To run Matlab with GUI, use @@ -94,7 +102,7 @@ code on just a single node. Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see [this -page](../../../get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). +page](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html). $ xhost + $ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 @@ -106,7 +114,7 @@ The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses. -Once the to compute nodes is granted by PBS, user can load +Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: r1i0n17$ module load MATLAB/2015a-EDU diff --git a/converted/docs.it4i.cz/salomon/software/numerical-languages/octave.md b/converted/docs.it4i.cz/salomon/software/numerical-languages/octave.md index 22465fc8..8f89df5d 100644 --- a/converted/docs.it4i.cz/salomon/software/numerical-languages/octave.md +++ b/converted/docs.it4i.cz/salomon/software/numerical-languages/octave.md @@ -5,6 +5,14 @@ Octave + + + + + + + + GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other diff --git a/converted/docs.it4i.cz/salomon/software/numerical-languages/r.md b/converted/docs.it4i.cz/salomon/software/numerical-languages/r.md index 58bf5bb8..2044e92d 100644 --- a/converted/docs.it4i.cz/salomon/software/numerical-languages/r.md +++ b/converted/docs.it4i.cz/salomon/software/numerical-languages/r.md @@ -5,6 +5,14 @@ R + + + + + + + + Introduction ------------ @@ -34,12 +42,12 @@ Modules ------- **The R version 3.1.1 is available on the cluster, along with GUI -interface Rstudio** +interface Rstudio Application Version module ------------- -------------- --------------------- R** R 3.1.1 R/3.1.1-intel-2015b -Rstudio**** Rstudio 0.97 Rstudio +Rstudio** Rstudio 0.97 Rstudio $ module load R @@ -55,10 +63,10 @@ OMP_NUM_THREADS environment variable. ### Interactive execution -To run R interactively, using Rstudio** GUI, log in with ssh -X parameter +To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 forwarding. Run rstudio: - $ module load Rstudio** + $ module load Rstudio $ rstudio ### Batch execution @@ -397,7 +405,7 @@ The above is the mpi.apply MPI example for calculating the number π. Only the slave processes carry out the calculation. Note the mpi.parSapply(), ** function call. The package parallel -[example](r.html#package-parallel)[above](r.html#package-parallel) +[example](r.html#package-parallel)[above](r.html#package-parallel){.anchor may be trivially adapted (for much better performance) to this structure using the mclapply() in place of mpi.parSapply(). @@ -452,6 +460,10 @@ and general [MPI](../mpi-1.html) sections. + + + + Xeon Phi Offload ---------------- @@ -464,3 +476,11 @@ environment variable before R execution : [Read more about automatic offload](../intel-xeon-phi.html) + + + + + + + + diff --git a/converted/docs.it4i.cz/salomon/software/operating-system.md b/converted/docs.it4i.cz/salomon/software/operating-system.md index 12519fd4..ea183352 100644 --- a/converted/docs.it4i.cz/salomon/software/operating-system.md +++ b/converted/docs.it4i.cz/salomon/software/operating-system.md @@ -1,11 +1,23 @@ Operating System ================ + + + + The operating system, deployed on Salomon cluster + + + + + + + + The operating system on Salomon is Linux - CentOS 6.6. >The CentOS Linux distribution is a stable, predictable, manageable diff --git a/converted/docs.it4i.cz/salomon/storage/cesnet-data-storage.md b/converted/docs.it4i.cz/salomon/storage/cesnet-data-storage.md index be82b6fa..1f006bd5 100644 --- a/converted/docs.it4i.cz/salomon/storage/cesnet-data-storage.md +++ b/converted/docs.it4i.cz/salomon/storage/cesnet-data-storage.md @@ -5,6 +5,14 @@ CESNET Data Storage + + + + + + + + Introduction ------------ @@ -23,7 +31,7 @@ Republic. User of data storage CESNET (DU) association can become organizations or an individual person who is either in the current employment relationship (employees) or the current study relationship (students) to -a legal entity (organization) that meets the “Principles for to +a legal entity (organization) that meets the “Principles for access to CESNET Large infrastructure (Access Policy)”. User may only use data storage CESNET for data transfer and storage @@ -37,12 +45,12 @@ The service is documented at please contact directly CESNET Storage Department via e-mail [du-support(at)cesnet.cz](mailto:du-support@cesnet.cz). -The procedure to obtain the CESNET is quick and trouble-free. +The procedure to obtain the CESNET access is quick and trouble-free. (source [https://du.cesnet.cz/](https://du.cesnet.cz/wiki/doku.php/en/start "CESNET Data Storage")) -CESNET storage +CESNET storage access --------------------- ### Understanding Cesnet storage @@ -51,7 +59,7 @@ It is very important to understand the Cesnet storage before uploading data. Please read <https://du.cesnet.cz/en/navody/home-migrace-plzen/start> first. -Once registered for CESNET Storage, you may [ the +Once registered for CESNET Storage, you may [access the storage](https://du.cesnet.cz/en/navody/faq/start) in number of ways. We recommend the SSHFS and RSYNC methods. @@ -59,7 +67,7 @@ number of ways. We recommend the SSHFS and RSYNC methods. SSHFS: The storage will be mounted like a local hard drive -The SSHFS provides a very convenient way to the CESNET Storage. +The SSHFS provides a very convenient way to access the CESNET Storage. The storage will be mounted onto a local directory, exposing the vast CESNET Storage as if it was a local removable harddrive. Files can be than copied in and out in a usual fashion. @@ -74,7 +82,7 @@ Mount tier1_home **(only 5120M !)**: $ sshfs username@ssh.du1.cesnet.cz:. cesnet/ -For easy future from Anselm, install your public key +For easy future access from Anselm, install your public key $ cp .ssh/id_rsa.pub cesnet/.ssh/authorized_keys @@ -92,7 +100,7 @@ Once done, please remember to unmount the storage $ fusermount -u cesnet -### Rsync +### Rsync access Rsync provides delta transfer for best performance, can resume interrupted transfers @@ -127,3 +135,7 @@ in the Storage VO $ rsync --progress -av username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafolder . Transfer rates of about 28MB/s can be expected. + + + + diff --git a/converted/docs.it4i.cz/salomon/storage/storage.md b/converted/docs.it4i.cz/salomon/storage/storage.md index 8cd9de88..fd56abed 100644 --- a/converted/docs.it4i.cz/salomon/storage/storage.md +++ b/converted/docs.it4i.cz/salomon/storage/storage.md @@ -5,6 +5,14 @@ Storage + + + + + + + + Introduction ------------ @@ -13,7 +21,7 @@ There are two main shared file systems on Salomon cluster, the [ HOME](storage.html#home) and [ SCRATCH](storage.html#shared-filesystems). -All login and compute nodes may same data on shared filesystems. +All login and compute nodes may access same data on shared filesystems. Compute nodes are also equipped with local (non-shared) scratch, ramdisk and tmp filesystems. @@ -48,7 +56,7 @@ SCRATCH filesystem is partitioned to [WORK and TEMP workspaces](storage.html#shared-workspaces). The HOME filesystem is realized as a tiered NFS disk storage. The SCRATCH filesystem is realized as a parallel Lustre filesystem. Both shared file -systems are ible via the Infiniband network. Extended ACLs are +systems are accessible via the Infiniband network. Extended ACLs are provided on both HOME/SCRATCH filesystems for the purpose of sharing data with other users using fine-grained control. @@ -105,7 +113,7 @@ round-robin fashion to ensure load balancing. When a client (a compute node from your job) needs to create -or a file, the client queries the metadata server ( +or access a file, the client queries the metadata server ( MDS) and the metadata target ( MDT) for the layout and location of the [file's @@ -144,7 +152,7 @@ significantly impact the I/O performance you experience. Use the lfs getstripe for getting the stripe parameters. Use the lfs setstripe command for setting the stripe parameters to get optimal I/O performance The correct stripe setting depends on your needs and file - patterns. +access patterns. ``` $ lfs getstripe dir|filename @@ -185,7 +193,7 @@ When multiple processes are writing blocks of data to the same file in parallel, the I/O performance for large files will improve when the stripe_count is set to a larger value. The stripe count sets the number of OSTs the file will be written to. By default, the stripe count is set -to 1. While this default setting provides for efficient of +to 1. While this default setting provides for efficient access of metadata (for example to support the ls -l command), large files should use stripe counts of greater than 1. This will increase the aggregate I/O bandwidth by using multiple OSTs in parallel instead of just one. A @@ -197,10 +205,10 @@ of the number of processes performing the write in parallel, so that you achieve load balance among the OSTs. For example, set the stripe count to 16 instead of 15 when you have 64 processes performing the writes. -Using a large stripe size can improve performance when ing very +Using a large stripe size can improve performance when accessing very large files -Large stripe size allows each client to have exclusive to its own +Large stripe size allows each client to have exclusive access to its own part of a file. However, it can be counterproductive in some cases if it does not match your I/O pattern. The choice of stripe size has no effect on a single-stripe file. @@ -293,7 +301,7 @@ number of named user and named group entries. ACLs on a Lustre file system work exactly like ACLs on any Linux file system. They are manipulated with the standard tools in the standard -manner. Below, we create a directory and allow a specific user . +manner. Below, we create a directory and allow a specific user access. ``` [vop999@login1.salomon ~]$ umask 027 @@ -377,11 +385,11 @@ The WORK workspace resides on SCRATCH filesystem. Users may create subdirectories and files in directories **/scratch/work/user/username** and **/scratch/work/project/projectid. **The /scratch/work/user/username is private to user, much like the home directory. The -/scratch/work/project/projectid is ible to all users involved in +/scratch/work/project/projectid is accessible to all users involved in project projectid. > The WORK workspace is intended to store users project data as well as -for high performance to input and output files. All project data +for high performance access to input and output files. All project data should be removed once the project is finished. The data on the WORK workspace are not backed up. @@ -417,7 +425,7 @@ Lustre ### TEMP The TEMP workspace resides on SCRATCH filesystem. The TEMP workspace -point is /scratch/temp. Users may freely create subdirectories +accesspoint is /scratch/temp. Users may freely create subdirectories and files on the workspace. Accessible capacity is 1.6P, shared among all users on TEMP and WORK. Individual users are restricted by filesystem usage quotas, set to 100TB per user. The purpose of this @@ -428,14 +436,14 @@ insufficient for particular user, please contact lifted upon request. The TEMP workspace is intended for temporary scratch data generated -during the calculation as well as for high performance to input +during the calculation as well as for high performance access to input and output files. All I/O intensive jobs must use the TEMP workspace as their working directory. Users are advised to save the necessary data from the TEMP workspace to HOME or WORK after the calculations and clean up the scratch files. -Files on the TEMP filesystem that are **not ed for more than 90 +Files on the TEMP filesystem that are **not accessed for more than 90 days** will be automatically **deleted**. The TEMP workspace is hosted on SCRATCH filesystem. The SCRATCH is @@ -471,16 +479,16 @@ RAM disk Every computational node is equipped with filesystem realized in memory, so called RAM disk. -Use RAM disk in case you need really fast to your data of limited +Use RAM disk in case you need really fast access to your data of limited size during your calculation. Be very careful, use of RAM disk filesystem is at the expense of operational memory. -The local RAM disk is mounted as /ramdisk and is ible to user +The local RAM disk is mounted as /ramdisk and is accessible to user at /ramdisk/$PBS_JOBID directory. The local RAM disk filesystem is intended for temporary scratch data -generated during the calculation as well as for high performance +generated during the calculation as well as for high performance access to input and output files. Size of RAM disk filesystem is limited. Be very careful, use of RAM disk filesystem is at the expense of operational memory. It is not recommended to allocate large amount of @@ -525,4 +533,12 @@ Mountpoint Usage /ramdisk job temporary data, node local local 120GB 90 GB/s none Compute nodes purged after job ends ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + + + + + + diff --git a/html_md.sh b/html_md.sh index cb24f7b7..b9ee31f4 100755 --- a/html_md.sh +++ b/html_md.sh @@ -2,117 +2,59 @@ ### DOWNLOAD AND CONVERT DOCUMENTATION # autor: kru0052 -# version: 0.36 -# change: repair images bugs and add new filtering html and css elements +# version: 0.4 +# change: repair bugs and optimalizations # bugs: bad formatting tables, bad links for other files, stayed a few html elements, formatting bugs... ### if [ "$1" = "-t" ]; then # testing new function - echo "Testing 1..." - - rm -rf ./converted - - # exists file for move? - if [ -f ./info/list_md.txt ]; - then - mkdir converted; - (while read i; - do - mkdir "./converted/$i"; - done) < ./source/list_folder.txt - - # move md files to new folders - while read a b ; do - cp "$a" "./converted/$b"; - - done < <(paste ./info/list_md.txt ./source/list_md_mv.txt) - # copy jpg and jpeg to new folders - - #cat "${i%.*}TMP.md" > "${i%.*}.md"; - - while read a b ; do cp "$a" "./converted/$b"; done < <(paste ./info/list_image.txt ./source/list_image_mv.txt) - - cp ./docs.it4i.cz/salomon/salomon ./converted/docs.it4i.cz/salomon/salomon - cp ./docs.it4i.cz/salomon/salomon-2 ./converted/docs.it4i.cz/salomon/salomon-2 - cp ./converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/fairshare_formula.png ./converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png - cp ./converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job_sort_formula.png ./converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png - cp ./converted/docs.it4i.cz/salomon/software/debuggers/vtune-amplifier.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier.png - cp ./converted/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20160708v12.33.35.png - - wget https://docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow - mv ./virtualization-job-workflow ./converted/docs.it4i.cz/anselm-cluster-documentation/software/ - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png - mv ./fig6.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig6.png - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png - mv ./fig5.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig5.png - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png - mv ./fig1.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig1.png - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png - mv ./fig2.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig2.png - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png - mv ./fig4.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig4.png - wget https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png - mv ./fig3.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig3.png - - - - else - echo "list_md.txt not exists!!!!!" - fi - - -fi -if [ "$1" = "-t1" ]; then - # testing new function - - echo "Testing 1..." - - - while read a ; do - - echo "$a"; - - sed -e 's/``` /```/' "./converted/$a" | sed -e 's/ //' | sed -e 's/<span class="pln">//' | sed -e 's/<span//' | sed -e 's/class="pln">//' | sed -e 's/<\/span>//' | sed -e 's/^\*\*//' | sed -e 's/\^\[>\[1<span>\]<\/span>\]//' > "./converted/${a%.*}TMP.md"; - - while read x ; do - arg1=`echo "$x" | cut -d"&" -f1 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; - arg2=`echo $x | cut -d"&" -f2 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; - #echo "$arg1"; - #echo ">$arg2"; - - sed -e 's/'"$arg1"'/'"$arg2"'/' "./converted/${a%.*}TMP.md" > "./converted/${a%TMP.*}.TEST.md"; - cat "./converted/${a%TMP.*}.TEST.md" > "./converted/${a%.*}TMP.md"; - done < ./source/replace.txt - cat "./converted/${a%.*}TMP.md" > "./converted/${a%.*}.md"; - rm "./converted/${a%.*}TMP.md"; - rm "./converted/${a%TMP.*}.TEST.md"; - done <./source/list_md_mv.txt - - fi if [ "$1" = "-w" ]; then # download html pages wget -X pbspro-documentation,changelog,whats-new,portal_css,portal_javascripts,++resource++jquery-ui-themes,anselm-cluster-documentation/icon.jpg -R favicon.ico,pdf.png,logo.png,background.png,application.png,search_icon.png,png.png,sh.png,touch_icon.png,anselm-cluster-documentation/icon.jpg,*js,robots.txt,*xml,RSS,download_icon.png,pdf,*zip,*rar,@@*,anselm-cluster-documentation/icon.jpg.1 --mirror --convert-links --adjust-extension --page-requisites --no-parent https://docs.it4i.cz; - wget http://verif.cs.vsb.cz/aislinn/doc/report.png - mv report.png ./converted/salomon/software/debuggers/ + wget --directory-prefix=./docs.it4i.cz/ http://verif.cs.vsb.cz/aislinn/doc/report.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png + wget --directory-prefix=./docs.it4i.cz/ https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png + fi if [ "$1" = "-c" ]; then ### convert html to md # erasing the previous transfer + rm -rf converted; rm -rf info; + # erasing duplicate files and unwanted files + (while read i; + do + if [ -f "$i" ]; + then + echo "$(tput setaf 9)$i deleted"; + rm "$i"; + fi + + done) < ./source/list_rm + + counter=1 + count=$(find . -name "*.html" -type f | wc -l) + find . -name "*.ht*" | while read i; do # first filtering html - echo "$i"; - printf "\t\tfiltering html files...\n"; + echo "$(tput setaf 12)($counter/$count)$(tput setaf 11)$i"; + counter=$((counter+1)) + printf "$(tput setaf 15)\t\tfirst filtering html files...\n"; HEAD=$(grep -n -m1 '<h1' "$i" |cut -f1 -d: | tr --delete '\n') END=$(grep -n -m1 '<!-- <div tal:content=' "$i" |cut -f1 -d: | tr --delete '\n') @@ -126,49 +68,42 @@ if [ "$1" = "-c" ]; then pandoc -f html -t markdown+pipe_tables-grid_tables "${i%.*}TMP.html" -o "${i%.*}.md"; rm "${i%.*}TMP.html"; - # create filter_auto (css, html, ...) - grep -o -P '(?<={).*(?=})' "${i%.*}.md" | sort -u | sed '/{/d' | sed '/\$/d' >> filter_auto; - sort -u filter_auto -o filter_auto; - - # exceptions filter_auto - (while read y; - do - # search and delete according with filter_auto - sed -e 's/'"$y"'//g' filter_auto > filter_autoTMP; - cat filter_autoTMP > filter_auto; - done) < ./source/exceptions_filter_auto - - # text filtering of html, css, ... - printf "\t\tautomatic filter...\n" - (while read y; - do - # search and delete according with filter_auto and erase unwanted elements - sed -e 's/{'"$y"'}//g' "${i%.*}.md" | sed -e 's/\\//g' | sed -e 's/^: //g' | sed -e 's/<\/div>//g' | sed '/^<div/d' | sed -e 's/^Obsah//g' | sed -e 's/{#putty---before-we-start-//g' | sed -e 's/ssh-connection style="text-alignstart; "}//g'| awk -v RS='\n\n\n\n\n' 1 > "${i%.*}TMP.md"; - cat "${i%.*}TMP.md" > "${i%.*}.md"; - done) < filter_auto - + # second filtering html and css elements... + printf "\t\tsecond filtering html and css elements...\n" + sed -e 's/``` /```/' "${i%.*}.md" | sed -e 's/ //' | sed -e 's/<\/div>//g' | sed '/^<div/d' | sed -e 's/<\/span>//' | sed -e 's/^\*\*//' | sed -e 's/\\//g' | sed -e 's/^: //g' | sed -e 's/^Obsah//g' > "${i%.*}TMP.md"; + while read x ; do + arg1=`echo "$x" | cut -d"&" -f1 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; + arg2=`echo "$x" | cut -d"&" -f2 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; + + sed -e 's/'"$arg1"'/'"$arg2"'/' "${i%.*}TMP.md" > "${i%.*}TMP.TEST.md"; + cat "${i%.*}TMP.TEST.md" > "${i%.*}TMP.md"; + done < ./source/replace + + # repair image... + printf "\t\trepair images...\n" + while read x ; do + arg1=`echo "$x" | cut -d"&" -f1 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; + arg2=`echo "$x" | cut -d"&" -f2 | sed 's:[]\[\^\$\.\*\/\"]:\\\\&:g'`; + + sed -e 's/'"$arg1"'/'"$arg2"'/' "${i%.*}TMP.md" > "${i%.*}.md"; + cat "${i%.*}.md" > "${i%.*}TMP.md"; + done < ./source/repairIMG + + cat "${i%.*}TMP.md" > "${i%.*}.md"; + # delete temporary files - rm "${i%.*}TMP.md"; + rm "${i%.*}TMP.md"; + rm "${i%.*}TMP.TEST.md"; done - # delete empty files, duplicate files and unwanted files + # delete empty files find -type f -size -10c | while read i; do rm "$i"; - echo "$i deleted"; + echo "$(tput setaf 9)$i deleted"; done - rm filter_autoTMP - rm filter_auto - (while read i; - do - if [ -f "$i" ]; - then - rm "$i"; - fi - - done) < ./source/list_rm.txt ### create new folder and move converted files # create folder info and view all files and folder @@ -179,20 +114,29 @@ if [ "$1" = "-c" ]; then find ./docs.it4i.cz -name "*.md" -type f> ./info/list_md.txt; find ./docs.it4i.cz -type d | sort > ./info/list_folder.txt - # exists file for move? - if [ -f ./info/list_md.txt ]; - then - mkdir converted; - (while read i; - do - mkdir "./converted/$i"; - done) < ./source/list_folder.txt - - # move md files to new folders - while read a b ; do cp "$a" "./converted/$b"; done < <(paste ./info/list_md.txt ./source/list_md_mv.txt) - # copy jpg and jpeg to new folders - while read a b ; do cp "$a" "./converted/$b"; done < <(paste ./info/list_image.txt ./source/list_image_mv.txt) - else - echo "list_md.txt not exists!!!!!" - fi + rm -rf ./converted + + mkdir converted; + (while read i; + do + mkdir "./converted/$i"; + done) < ./source/list_folder + + # move md files to new folders + while read a b ; do + cp "$a" "./converted/$b"; + done < <(paste ./info/list_md.txt ./source/list_md_mv) + + # copy jpg and jpeg to new folders + while read a b ; do + cp "$a" "./converted/$b"; + done < <(paste ./info/list_image.txt ./source/list_image_mv.txt) + cp ./docs.it4i.cz/salomon/salomon ./converted/docs.it4i.cz/salomon/salomon + cp ./docs.it4i.cz/salomon/salomon-2 ./converted/docs.it4i.cz/salomon/salomon-2 + cp ./converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/fairshare_formula.png ./converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png + cp ./converted/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job_sort_formula.png ./converted/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png + cp ./converted/docs.it4i.cz/salomon/software/debuggers/vtune-amplifier.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier.png + cp ./converted/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png ./converted/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20160708v12.33.35.png + cp ./docs.it4i.cz/virtualization-job-workflow ./converted/docs.it4i.cz/anselm-cluster-documentation/software/ + fi diff --git a/source/exceptions_filter_auto b/source/exceptions_filter_auto deleted file mode 100644 index bbdc8036..00000000 --- a/source/exceptions_filter_auto +++ /dev/null @@ -1,18 +0,0 @@ -00001..00111 -#10-after-you-end-your-visualization-session -#1-connect-to-a-login-node -#1-in-your-vnc-session-open-a-terminal-and-allocate-a-node-using-pbspro-qsub-command -#2-in-your-vnc-session-open-another-terminal-keep-the-one-with-interactive-pbspro-job-open -#2-run-your-own-instance-of-turbovnc-server -#3-load-the-virtualgl-module -#3-remember-which-display-number-your-vnc-server-runs-you-will-need-it-in-the-future-to-stop-the-server -#4-remember-the-exact-login-node-where-your-vnc-server-runs -#4-run-your-desired-opengl-accelerated-application-using-virtualgl-script-vglrun -#5-after-you-end-your-work-with-the-opengl-application -#5-remember-on-which-tcp-port-your-own-vnc-server-is-running -#6-connect-to-the-login-node-where-your-vnc-server-runs-with-ssh-to-tunnel-your-vnc-session -#7-if-you-don-t-have-turbo-vnc-installed-on-your-workstation -#8-run-turbovnc-viewer-from-your-workstation -#9-proceed-to-the-chapter-access-the-visualization-node -PBS_ARRAY_INDEX -IDX diff --git a/source/list_folder.txt b/source/list_folder similarity index 100% rename from source/list_folder.txt rename to source/list_folder diff --git a/source/list_image_mv b/source/list_image_mv new file mode 100644 index 00000000..d7335c8e --- /dev/null +++ b/source/list_image_mv @@ -0,0 +1,98 @@ +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig2.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig5.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig6.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig3.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/TightVNC_login.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/putty-tunnel.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gnome-terminal.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gdmscreensaver.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gnome-compute-nodes-over-vnc.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gdmdisablescreensaver.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/cygwinX11forwarding.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/XWinlistentcp.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygenerator_004V.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/20150312_143443.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PageantV.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygenerator_001V.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuTTY_host_Salomon.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuTTY_keyV.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygenerator_005V.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuTTY_save_Salomon.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygeneratorV.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuTTY_open_Salomon.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygenerator_002V.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/PuttyKeygenerator_006V.png +./docs.it4i.cz/salomon/accessing-the-cluster/copy_of_vpn_web_install_3.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_contacting.png +./docs.it4i.cz/salomon/resource-allocation-and-job-execution/rswebsalomon.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_successfull_connection.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_install_2.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_login_2.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gnome_screen.png +./docs.it4i.cz/salomon/network-1/IBsingleplanetopologyAcceleratednodessmall.png +./docs.it4i.cz/salomon/network-1/IBsingleplanetopologyICEXMcellsmall.png +./docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png +./docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_login.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_login.png +./docs.it4i.cz/salomon/software/debuggers/totalview2.png +./docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160211v14.27.45.png +./docs.it4i.cz/salomon/software/debuggers/ddt1.png +./docs.it4i.cz/salomon/software/debuggers/totalview1.png +./docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png +./docs.it4i.cz/salomon/software/intel-suite/Snmekobrazovky20151204v15.35.12.png +./docs.it4i.cz/salomon/software/ansys/AMsetPar1.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_contacting_https_cluster.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_download.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_download_2.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_contacting_https.png +./docs.it4i.cz/salomon/accessing-the-cluster/vpn_web_install_4.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vncviewer.png +./docs.it4i.cz/salomon/resource-allocation-and-job-execution/job_sort_formula.png +./docs.it4i.cz/salomon/resource-allocation-and-job-execution/fairshare_formula.png +./docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/rsweb.png +./docs.it4i.cz/anselm-cluster-documentation/quality2.png +./docs.it4i.cz/anselm-cluster-documentation/turbovncclientsetting.png +./docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/Authorization_chain.png +./docs.it4i.cz/anselm-cluster-documentation/scheme.png +./docs.it4i.cz/anselm-cluster-documentation/quality3.png +./docs.it4i.cz/anselm-cluster-documentation/legend.png +./docs.it4i.cz/anselm-cluster-documentation/bullxB510.png +./docs.it4i.cz/salomon/software/debuggers/vtune-amplifier.png +./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview2.png +./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20141204v12.56.36.png +./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/ddt1.png +./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png +./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png +./docs.it4i.cz/anselm-cluster-documentation/quality1.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig1.png +./docs.it4i.cz/salomon/software/debuggers/report.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vpnuiV.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig4.png +./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg +./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg +./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg +./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/Anselmprofile.jpg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/anyconnecticon.jpg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/anyconnectcontextmenu.jpg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/logingui.jpg +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_2.jpg +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_4.jpg +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_1.jpg +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_3.jpg +./docs.it4i.cz/anselm-cluster-documentation/firstrun.jpg +./docs.it4i.cz/anselm-cluster-documentation/successfullconnection.jpg +./docs.it4i.cz/salomon/sgi-c1104-gp1.jpeg +./docs.it4i.cz/salomon/salomon-1.jpeg +./docs.it4i.cz/salomon/hardware-overview-1/uv-2000.jpeg +./docs.it4i.cz/salomon/salomon-3.jpeg +./docs.it4i.cz/salomon/salomon-4.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/loginwithprofile.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/instalationfile.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/successfullinstalation.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/java_detection.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/executionaccess.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/downloadfilesuccessfull.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/executionaccess2.jpeg +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/login.jpeg diff --git a/source/list_image_mv.txt b/source/list_image_mv.txt index bb78bf58..24506781 100644 --- a/source/list_image_mv.txt +++ b/source/list_image_mv.txt @@ -1,3 +1,7 @@ +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig2.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig5.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig6.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig3.png ./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/TightVNC_login.png ./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/putty-tunnel.png ./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/gnome-terminal.png @@ -61,7 +65,10 @@ ./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png ./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png ./docs.it4i.cz/anselm-cluster-documentation/quality1.png -./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vpnuiV.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig1.png +./docs.it4i.cz/salomon/software/debuggers/report.png +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-fata-transfer/vpnuiV.png +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/fig4.png ./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg ./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg ./docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg diff --git a/source/list_md_mv.txt b/source/list_md_mv similarity index 100% rename from source/list_md_mv.txt rename to source/list_md_mv diff --git a/source/list_rm b/source/list_rm new file mode 100644 index 00000000..60d141c7 --- /dev/null +++ b/source/list_rm @@ -0,0 +1,100 @@ +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster.html +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1.html +./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc.html +./docs.it4i.cz/anselm-cluster-documentation.html +./docs.it4i.cz/anselm-cluster-documentation/icon.jpg +./docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution.html +./docs.it4i.cz/anselm-cluster-documentation/software.1.html +./docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing.html +./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/chemistry.html +./docs.it4i.cz/anselm-cluster-documentation/software/comsol.html +./docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.html +./docs.it4i.cz/anselm-cluster-documentation/software/mpi-1.html +./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.1.html +./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.html +./docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_view_fullscreen.html +./docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/view.html +./docs.it4i.cz/anselm-cluster-documentation/software/virtualization.html +./docs.it4i.cz/anselm-cluster-documentation/storage-1.html +./docs.it4i.cz/anselm-cluster-documentation/storage.html +./docs.it4i.cz/anselm.html +./docs.it4i.cz/changelog.html +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface.html +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding.html +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.html +./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.1.html +./docs.it4i.cz/get-started-with-it4innovations/changelog.html +./docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials.html +./docs.it4i.cz/links.html +./docs.it4i.cz/pbspro-documentation.html +./docs.it4i.cz/robots.txt +./docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface.html +./docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc.html +./docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.html +./docs.it4i.cz/salomon/compute-nodes.html +./docs.it4i.cz/salomon/hardware-overview-1.1.html +./docs.it4i.cz/salomon.html +./docs.it4i.cz/salomon/list_of_modules.html +./docs.it4i.cz/salomon/network-1.html +./docs.it4i.cz/salomon/network-1/IB single-plane topology - Accelerated nodes.pdf/view.html +./docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/view.html +./docs.it4i.cz/salomon/network-1/ib-single-plane-topology/schematic-representation-of-the-salomon-cluster-ib-single-plain-topology-hypercube-dimension-0.html +./docs.it4i.cz/salomon/resource-allocation-and-job-execution.html +./docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/view.html +./docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/view.html +./docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/view.html +./docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/view.html +./docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/view.html +./docs.it4i.cz/salomon/software/chemistry.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view.html +./docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view.html +./docs.it4i.cz/salomon/software/comsol.html +./docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.html +./docs.it4i.cz/salomon/software/debuggers/score-p.html +./docs.it4i.cz/salomon/software.html +./docs.it4i.cz/salomon/software/intel-suite.html +./docs.it4i.cz/salomon/software/isv_licenses.html +./docs.it4i.cz/salomon/software/mpi-1.html +./docs.it4i.cz/salomon/software/numerical-languages.1.html +./docs.it4i.cz/salomon/software/numerical-languages.html +./docs.it4i.cz/salomon/storage.html +./docs.it4i.cz/sitemap.html +./docs.it4i.cz/whats-new.html +./docs.it4i.cz/salomon/index.html diff --git a/source/list_rm.txt b/source/list_rm.txt deleted file mode 100644 index fe72b792..00000000 --- a/source/list_rm.txt +++ /dev/null @@ -1,38 +0,0 @@ -./docs.it4i.cz/links.md -./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding.md -./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.md -./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface.md -./docs.it4i.cz/salomon/resource-allocation-and-job-execution.md -./docs.it4i.cz/salomon/list_of_modules.md -./docs.it4i.cz/salomon/network-1/ib-single-plane-topology/schematic-representation-of-the-salomon-cluster-ib-single-plain-topology-hypercube-dimension-0.md -./docs.it4i.cz/salomon/storage.md -./docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc.md -./docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md -./docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface.md -./docs.it4i.cz/salomon/software/comsol.md -./docs.it4i.cz/salomon/software/mpi-1.md -./docs.it4i.cz/salomon/software/intel-suite.md -./docs.it4i.cz/salomon/software/numerical-languages.1.md -./docs.it4i.cz/salomon/hardware-overview-1.1.md -./docs.it4i.cz/salomon/compute-nodes.md -./docs.it4i.cz/salomon/network-1.md -./docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution.md -./docs.it4i.cz/anselm-cluster-documentation/storage.md -./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc.md -./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1.md -./docs.it4i.cz/anselm-cluster-documentation/software/comsol.md -./docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2.md -./docs.it4i.cz/anselm-cluster-documentation/software/virtualization.md -./docs.it4i.cz/anselm-cluster-documentation/software/mpi-1.md -./docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md -./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.1.md -./docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster.md -./docs.it4i.cz/anselm-cluster-documentation/storage-1.md -./docs.it4i.cz/salomon.md -./docs.it4i.cz/anselm-cluster-documentation.md -./docs.it4i.cz/anselm.md -./docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.1.md -./docs.it4i.cz/robots.txt -./docs.it4i.cz/anselm-cluster-documentation/icon.jpg -./docs.it4i.cz/salomon/software/numerical-languages.md -./docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.md diff --git a/source/repairIMG b/source/repairIMG new file mode 100644 index 00000000..f3705ba1 --- /dev/null +++ b/source/repairIMG @@ -0,0 +1,108 @@ +& +& + +2](../executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg "Execution access 2")& +& +& +& +& +& +& +& +& +& +& +& +**&& +& +& + &increases.](fig5.png.1 "fig5.png") +out.](fig1.png "Fig 1")&out.](fig1.png "Fig 1") +& +operation.](images/fig3.png "fig3.png")&operation.](fig3.png "fig3.png")& +where the position is ambiguous.](images/fig4.png)&where the position is ambiguous.](fig4.png) +genomic coordinates.](images/fig6.png.1 "fig6.png")&genomic coordinates.](fig6.png.1 "fig6.png") + [](cygwin-and-x11-forwarding.html)& +[](putty-tunnel.png)& +& +[****](TightVNC_login.png)& +[](https://docs.it4i.cz/get-started-with-it4innovations/gnome_screen.jpg)& +[](gdmdisablescreensaver.png)& +[](../../../../salomon/gnome_screen.jpg.1)& +[](gnome-terminal.png)& +[](gnome-compute-nodes-over-vnc.png)& + [](PageantV.png)& + [](PuTTY_host_Salomon.png)& + [](PuTTY_keyV.png)& + [](PuTTY_save_Salomon.png)& + [](PuTTY_open_Salomon.png)& + [](PuttyKeygeneratorV.png)& + [](PuttyKeygenerator_001V.png)& + [](PuttyKeygenerator_002V.png)& + [](20150312_143443.png)& + [](PuttyKeygenerator_004V.png)& + [](PuttyKeygenerator_005V.png)& + [](PuttyKeygenerator_006V.png)& +[](../vpn_web_login.png)& +Install](https://docs.it4i.cz/salomon/vpn_web_login_2.png/@@images/be923364-0175-4099-a363-79229b88e252.png "VPN Install")](../vpn_web_login_2.png)& +Install](https://docs.it4i.cz/salomon/vpn_web_install_2.png/@@images/c2baba93-824b-418d-b548-a73af8030320.png "VPN Install")](../vpn_web_install_2.png)[ +Install](https://docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png/@@images/9c34e8ad-64b1-4e1d-af3a-13c7a18fbca4.png "VPN Install")](../copy_of_vpn_web_install_3.png)& +Install](https://docs.it4i.cz/salomon/vpn_web_install_4.png/@@images/4cc26b3b-399d-413b-9a6c-82ec47899585.png "VPN Install")](../vpn_web_install_4.png)& +Install](https://docs.it4i.cz/salomon/vpn_web_download.png/@@images/06a88cce-5f51-42d3-8f0a-f615a245beef.png "VPN Install")](../vpn_web_download.png)& +Install](https://docs.it4i.cz/salomon/vpn_web_download_2.png/@@images/3358d2ce-fe4d-447b-9e6c-b82285f9796e.png "VPN Install")](../vpn_web_download_2.png)& +& +[](../vpn_contacting_https_cluster.png)& +Cluster](https://docs.it4i.cz/salomon/vpn_contacting_https.png/@@images/ff365499-d07c-4baf-abb8-ce3e15559210.png "VPN Contacting Cluster")](../vpn_contacting_https.png)& +[](../../anselm-cluster-documentation/anyconnecticon.jpg)& +[](../../anselm-cluster-documentation/anyconnectcontextmenu.jpg)& +[](../vpn_contacting.png)& +login](https://docs.it4i.cz/salomon/vpn_login.png/@@images/5102f29d-93cf-4cfd-8f55-c99c18f196ea.png "VPN login")](../vpn_login.png)& +Connection](https://docs.it4i.cz/salomon/vpn_successfull_connection.png/@@images/45537053-a47f-48b2-aacd-3b519d6770e6.png "VPN Succesfull Connection")](../vpn_successfull_connection.png)& +[](../salomon-2)&& +& +[](salomon)& +& +& +& +[](7D_Enhanced_hypercube.png)& +[](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20ICEX%20Mcell.pdf)& +[](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf)& +[](Fluent_Licence_1.jpg)& +[](Fluent_Licence_2.jpg)& +[](Fluent_Licence_3.jpg)& +[](Fluent_Licence_4.jpg)& +& +& +[{.image-inline width="451"& +height="513"}](ddt1.png)& +& +[](vtune-amplifier)& +[](totalview1.png)& +[](totalview2.png)& +& +& diff --git a/source/replace b/source/replace new file mode 100644 index 00000000..b1c30cd9 --- /dev/null +++ b/source/replace @@ -0,0 +1,148 @@ + []()& + **[]()&** +- - & +.[]()&. +### []()[]()&### +### []()&### +### **&### +style="text-align: left; float: none; ">& +class="anchor-link">& +class="Apple-converted-space">& +class="discreet visualHighlight">& +class="emphasis">& +class="glossaryItem">& +class="highlightedSearchTerm">& +class="highlightedSearchTerm">SSH</span><span>&highlightedSearchTerm +class="hps">& +class="hps">& +class="hps">More</span> <span class="hps">& +class="hps trans-target-highlight">& +class="internal-link">& +class="internal-link"><span id="result_box" class="short_text"><span& +class="monospace">& +class="monospace">LAPACKE</span> module, which includes Intel's LAPACKE&LAPACKE modelu, which includes Intel's LAPACKE +class="n">& +### class="n">&### +class="n">& +class="pre">& +class="pun">node_group_key& +class="short_text"><span& +class="smarterwiki-popup-bubble-body"><span& +class="smarterwiki-popup-bubble-links-container"><span& +class="smarterwiki-popup-bubble-links-row">[{.smarterwiki-popup-bubble-link-favicon}](http://maps.google.com/maps?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google Maps"){.smarterwiki-popup-bubble-link}[{.smarterwiki-popup-bubble-link-favicon}](http://www.google.com/search?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google"){.smarterwiki-popup-bubble-link}[](http://www.google.com/search?hl=com&btnI=I'm+Feeling+Lucky&q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB+wikipedia "Search Wikipedia"){.smarterwiki-popup-bubble-link}</span></span></span></span></span>& +class="smarterwiki-popup-bubble-links"><span& +class="smarterwiki-popup-bubble smarterwiki-popup-bubble-active smarterwiki-popup-bubble-flipped"><span&& +class="smarterwiki-popup-bubble-tip"></span><span +</div>& +<div>& +<div class="itemizedlist">& +<div id="d4841e18">& +<div id="d4841e21">& +<div id="d4841e24">& +<div id="d4841e27">& +<div id="d4841e30">& +<div id="d4841e34">& +<div id="d4841e37">& +{.external& +### Gnome on Windows**&### Gnome on Windows +### Notes **&### Notes +</span>& +<span& +[<span class="anchor-link">& +<span class="discreet">& +<span class="discreet"></span>& +<span class="glossaryItem">& +<span class="hps">& +<span class="hps alt-edited">& +<span class="listitem">& +<span class="n">& +<span class="s1">& +<span class="WYSIWYG_LINK">& +<span dir="auto">& +<span id="__caret">& +<span id="__caret"><span id="__caret"></span></span>& +(<span id="result_box">& +<span id="result_box" class="short_text"><span class="hps">& +<span id="result_box"><span class="hps">& +</span></span>& +</span> <span& +<span><span>& +</span> <span class="hps">& +</span> <span class="hps">who have a valid</span> <span& +<span><span class="monospace">& +<span><span>Introduction&###Introduction +</span></span><span><span>& +</span></span></span></span><span><span>& +</span></span><span><span><span><span>& +.<span style="text-align: left; "> </span>& +<span style="text-align: start; ">& +{.state-missing-value + style="text-align: left; float: none; ">& + style="text-align: left; float: none; ">& + style="text-align: left; float: none; ">change it&change it to + style="text-align: left; float: none; ">Check Putty settings:& + style="text-align: left; float: none; ">Enable X11&Enable X11 + style="text-align: left; float: none; "> & +style="text-align: start; ">& +style="text-align: start; float: none; ">& +**Summary&**Summary** +Tape Library T950B**&**Tape Library T950B** +.text}.& +.text}& + ****The R version 3.0.1 is available on Anselm, along with GUI interface&**The R version 3.0.1 is available on Anselm, along with GUI interface +ssh-connection style="text-alignstart; "}& +<div& +</div>& +{.anchor-link}& +{.code-basic style="text-align: start; "}& +{.code .highlight .white .shell}& +{.docutils .literal}& +{.email-link}& +{.external-link}& +{.fragment}& +{.image-inline}& +{.image-inline width="451" height="513"}& +{.internal-link}& +{.literal-block}& +{.mw-redirect}& +{#parent-fieldname-title}& +{#parent-fieldname-title .documentFirstHeading}& +{.prettyprint}& +{.prettyprint .lang-cpp}& +{.prettyprint .lang-sh}& +{.prettyprint .lang-sh .prettyprinted}& +{#putty---before-we-start-ssh-connection style="text-align: start; "}& +{#resources-allocation-policy}& +{#schematic-overview}& +{.screen}& +{#setup-and-start-your-own-turbovnc-server}& +{style="text-align: left; "}& +ssh-connection style="text-alignstart; "}& +{#putty---before-we-start-& +<span class="pln">& +class="pln">& +id="parent-fieldname-text-5739e5d4b93b40a6b3d987bd4047d4e0">& +id="content-core">& +id="viewlet-above-content-body">& +id="viewlet-below-content-title">& +^[>[1<span>]]& +^& +-link}& +<span& +Input:** FASTQ file.&Input: FASTQ file. +Output:** FASTQ file plus an HTML file containing statistics on the&Output: FASTQ file plus an HTML file containing statistics on the +*Figure 2.****** FASTQ file.***&*Figure 2.**FASTQ file.** +Component:** Hpg-aligner.****&Component:** Hpg-aligner.** +Input:** VCF&Input:** VCF** +the corresponding QC and functional annotations.&the corresponding QC and functional annotations.** +Core features:**&**Core features:** +Regulatory:**&**Regulatory:** +Functional annotation**&**Functional annotation** +Variation**&**Variation** +Systems biology**&**Systems biology** +[VNC](../../../salomon/accessing-the-cluster/graphical-user-interface/vnc.html)**.&**[VNC](../../../salomon/accessing-the-cluster/graphical-user-interface/vnc.html)**. +<!-- -->& + id="Key_management" class="mw-headline">& +Workaround:**&**Workaround:** +-g** : Generates extra debugging information usable by GDB. -g3&-g** : Generates extra debugging information usable by GDB. -g3** +-O0** : Suppress all optimizations.&-O0** : Suppress all optimizations.** diff --git a/source/replace.txt b/source/replace.txt deleted file mode 100644 index 5eaf20e3..00000000 --- a/source/replace.txt +++ /dev/null @@ -1,280 +0,0 @@ - []()& - **[]()&** -- - & -.[]()&. -### []()[]()&### -### []()&### -### **&### -1. style="text-align: left; float: none; ">Locate and modify&1. Locate and modify -2000](../uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg "UV 2000")& -2](../executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg "Execution access 2")& -2); its mate is mapped to 37 on the reverse strand (32). Read r002 has& -2. style="text-align: left; float: none; ">&2. Check Putty settings: -[](7D_Enhanced_hypercube.png)& -access& -access](../executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg "Execution access") -According to FLAG 163 (=1+2+32+128), the read mapped to position 7 is& -& -Analyzer](Snmekobrazovky20151204v15.35.12.png/@@images/fb3b3ac2-a88f-4e55-a25e-23f1da2200cb.png "Intel Trace Analyzer")& -and comes to IT4I (represented by the blue dashed line). The data& -Anselm](../../anselm-cluster-documentation/Authorization_chain.png "Authorization chain")& -& -& -& -are mandatory, the rest is optional but strongly recommended. Each line& -class="anchor-link">& -class="Apple-converted-space">& -class="discreet visualHighlight">& -class="emphasis">& -class="glossaryItem">& -class="highlightedSearchTerm">& -class="highlightedSearchTerm">SSH</span><span>&highlightedSearchTerm - class="hps">& -class="hps">& - class="hps">More</span> <span class="hps">& -class="hps trans-target-highlight">& -class="internal-link">& - class="internal-link"><span id="result_box" class="short_text"><span& -class="monospace">& -class="monospace">LAPACKE</span> module, which includes Intel's LAPACKE&LAPACKE modelu, which includes Intel's LAPACKE - class="n">& -### class="n">&### -class="n">& - class="pre">& -class="pun">node_group_key& -class="short_text"><span& -class="smarterwiki-popup-bubble-body"><span& -class="smarterwiki-popup-bubble-links-container"><span& -class="smarterwiki-popup-bubble-links-row">[{.smarterwiki-popup-bubble-link-favicon}](http://maps.google.com/maps?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google Maps"){.smarterwiki-popup-bubble-link}[{.smarterwiki-popup-bubble-link-favicon}](http://www.google.com/search?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google"){.smarterwiki-popup-bubble-link}[](http://www.google.com/search?hl=com&btnI=I'm+Feeling+Lucky&q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB+wikipedia "Search Wikipedia"){.smarterwiki-popup-bubble-link}</span></span></span></span></span>& -class="smarterwiki-popup-bubble-links"><span& -class="smarterwiki-popup-bubble smarterwiki-popup-bubble-active smarterwiki-popup-bubble-flipped"><span&& -class="smarterwiki-popup-bubble-tip"></span><span -Cluster](https://docs.it4i.cz/salomon/vpn_contacting_https_cluster.png/@@images/22b15d8c-5d5f-4c5c-8973-fbc4e9a32128.png "VPN Contacting Cluster")](../vpn_contacting_https_cluster.png)& -Cluster](https://docs.it4i.cz/salomon/vpn_contacting_https.png/@@images/ff365499-d07c-4baf-abb8-ce3e15559210.png "VPN Contacting Cluster")](../vpn_contacting_https.png)& -Cluster](https://docs.it4i.cz/salomon/vpn_contacting.png/@@images/9ccabccf-581a-476a-8c24-ce9842c3e657.png "VPN Contacting Cluster")](../vpn_contacting.png)&& -column and referenced from the genotype fields as 1-based indexes to& -component where they can be analysed directly by the user that produced& -connection](https://docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg/@@images/ebdd0e41-e839-497e-ab33-45162d00b03b.jpeg "Successfull connection")](../../anselm-cluster-documentation/anyconnecticon.jpg)& -Connection](https://docs.it4i.cz/salomon/vpn_successfull_connection.png/@@images/45537053-a47f-48b2-aacd-3b519d6770e6.png "VPN Succesfull Connection")](../vpn_successfull_connection.png)&& -Connect](Snmekobrazovky20160211v14.27.45.png/@@images/3550e4ae-2eab-4571-8387-11a112dd6ca8.png "Allinea Reverse Connect")& -contains a P (padding) operation which correctly aligns the inserted& -.contenttype-file}& -[](cygwin-and-x11-forwarding.html)& -data, the separator indicates whether the data are phased (|) or& -[{.image-inline width="451"& -[& -[& -file](../instalationfile.jpg/@@images/202d14e9-e2e1-450b-a584-e78c018d6b6a.jpeg "Installation file")& -filters available. The tool includes a genomic viewer (Genome Maps 30)& -& -[](Fluent_Licence_1.jpg)& -[](Fluent_Licence_2.jpg)& -[](Fluent_Licence_3.jpg)& -[](Fluent_Licence_4.jpg)& -for each sequenced patient. These lists files together with primary and& - forwarding style="text-align: left; float: none; ">& -genomic coordinates.](images/fig6.png.1 "fig6.png")& -genomic position or region. All alternate alleles are listed in the ALT& -[](gnome-compute-nodes-over-vnc.png)& -### Gnome on Windows**&### Gnome on Windows -[](gnome-terminal.png)& -height="513"}](ddt1.png)& -[****](TightVNC_login.png)& - [](PuTTY_host_Salomon.png)& - [](PuTTY_open_Salomon.png)& - [](PuTTY_save_Salomon.png)& -[](totalview1.png)& -& -& - id="Key_management" class="mw-headline">Key management& -increases.](images/fig5.png.1 "fig5.png")& -insertion; the third a SNP; the fourth a large structural variant& -instalation](../successfullinstalation.jpg/@@images/c6d69ffe-da75-4cb6-972a-0cf4c686b6e1.jpeg "Successfull instalation")& -](../copy_of_vpn_web_install_3.png)& -Install](https://docs.it4i.cz/salomon/vpn_web_download_2.png/@@images/3358d2ce-fe4d-447b-9e6c-b82285f9796e.png "VPN Install")](../vpn_web_download_2.png)& -Install](https://docs.it4i.cz/salomon/vpn_web_download.png/@@images/06a88cce-5f51-42d3-8f0a-f615a245beef.png "VPN Install")](../vpn_web_download.png)& -Install](https://docs.it4i.cz/salomon/vpn_web_install_2.png/@@images/c2baba93-824b-418d-b548-a73af8030320.png "VPN Install")](../vpn_web_install_2.png)[ -Install](https://docs.it4i.cz/salomon/vpn_web_install_4.png/@@images/4cc26b3b-399d-413b-9a6c-82ec47899585.png "VPN Install")](../vpn_web_install_4.png)& -Install](https://docs.it4i.cz/salomon/vpn_web_login_2.png/@@images/be923364-0175-4099-a363-79229b88e252.png "VPN Install")](../vpn_web_login_2.png)& -Install](https://docs.it4i.cz/salomon/vpn_web_login.png/@@images/5eac6b9c-22e4-4abe-ab38-e4ccbe87b710.png "VPN Install")](../vpn_web_login.png)& -& -login](https://docs.it4i.cz/salomon/vpn_login.png/@@images/5102f29d-93cf-4cfd-8f55-c99c18f196ea.png "VPN login")](../vpn_login.png)&& -& -login](../successfullconnection.jpg "successful login")& -](../../anselm-cluster-documentation/anyconnectcontextmenu.jpg)&& -mismatches. Read r004 is aligned across an intron, indicated by the N& -### Notes **&### Notes -of reference sequences. Notably, r001 is the name of a read pair.& -of the base before the variant. (b–f ) Alignments and VCF& -of the body describes variants present in the sampled population at one& -& -out.](images/fig1.png "Fig 1")& -[Pageant (for Windows& - [](PageantV.png)& -& -position of the first aligned base. The CIGAR string for this alignment& -Preferences](gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png "Screensaver Preferences")](../../../../salomon/gnome_screen.jpg.1)& -pre-processor converts raw data into a list of variants and annotations& -present in the sequence field. The NM tag gives the number of& -profile](../loginwithprofile.jpg/@@images/a6fd5f3f-bce4-45c9-85e1-8d93c6395eee.jpeg "Login with profile")& -PuTTY - class="Apple-converted-space"> before we start SSH connection ssh-connection style="text-align: start; "}& -[](PuttyKeygenerator_001V.png)& - [](PuttyKeygenerator_002V.png)& - [](20150312_143443.png)& - [](PuttyKeygenerator_004V.png)& - [](PuttyKeygenerator_005V.png)& - [](PuttyKeygenerator_006V.png)& - [](PuttyKeygeneratorV.png)& - [](PuTTY_keyV.png)& -reference bases replaced by the haplotype in the ALT column. The& -& -& -& -& -& -& -representations of different sequence variants: SNP, insertion,& -resources on& -& -Rstudio&Rstudio** -& -[](../salomon-2)& -[](salomon)& -[](salomon)& -& -& -&![]](salomon-3.jpeg) -& -](gdmdisablescreensaver.png)& -[](vtune-amplifier)& -Screenshot](Snmekobrazovky20141204v12.56.36.png "CUBE Screenshot")& -& -secondary (alignment) data files are stored in IT4I sequence DB and& -sequences. Padding operations can be absent when an aligner does not& -session](../../../../salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png "Default Gnome session")](https://docs.it4i.cz/get-started-with-it4innovations/gnome_screen.jpg)& -shows an example of a deletion (present in SAMPLE1) and a replacement of& -</span>& -<span& - <span& - [<span class="anchor-link">& -<span class="discreet">& -<span class="discreet"></span>& -<span class="glossaryItem">& - <span class="glossaryItem">& -<span class="hps">& -<span class="hps alt-edited">& -<span class="listitem">& -<span class="n">& -<span class="s1">& - <span class="WYSIWYG_LINK">& -<span dir="auto">& -<span id="__caret">& -<span id="__caret"><span id="__caret"></span></span>& -(<span id="result_box">& -<span id="result_box" class="short_text"><span class="hps">& - <span id="result_box"><span class="hps">& -</span></span>& -</span> <span& -<span><span>& -</span> <span class="hps">& - </span> <span class="hps">& -</span> <span class="hps">who have a valid</span> <span& -<span><span class="monospace">& -<span><span>Introduction&###Introduction -</span></span><span><span>& -</span></span></span></span><span><span>& -</span></span><span><span><span><span>& -.<span style="text-align: left; "> </span>& -<span style="text-align: start; ">& -{.state-missing-value - style="text-align: left; float: none; ">& - style="text-align: left; float: none; ">& - style="text-align: left; float: none; ">change it&change it to - style="text-align: left; float: none; ">Check Putty settings:& - style="text-align: left; float: none; ">Enable X11&Enable X11 - style="text-align: left; float: none; "> & -style="text-align: start; ">& -style="text-align: start; float: none; ">& -& -**Summary&**Summary** -support multiple sequence alignment. The last six bases of read r003 map& -Tape Library T950B**&**Tape Library T950B** -.text}.& -.text}& -that enables the representation of the variants in the corresponding& -]&![] -to position 9, and the first five to position 29 on the reverse strand.& - to</span>& -[](totalview2.png)& -tunnel](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png/@@images/4c66cd51-c858-473b-98c2-8d901aea7118.png "PuTTY Tunnel")](putty-tunnel.png)& -two bases by another base (SAMPLE2); the second line shows a SNP and an& -unphased (/). Thus, the two alleles C and G at the positions 2 and 5 in& -uploaded to the discovery (candidate priorization) or diagnostic& -users)](putty/PageantV.png)& -use simplest representation possible and lowest coordinate in cases& -& -& -vncviewer](../../../../anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png "Vncviewer")& -[& -Workflow](virtualization-job-workflow "Virtualization Job Workflow")& - & -[]() & - & - [**](TightVNC_login.png)& -[](gnome-terminal.png)& -[](gnome-compute-nodes-over-vnc.png)& -screensaver](https://docs.it4i.cz/get-started-with-it4innovations/ing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png/@@images/8a4758d9-3027-4ce4-9a90-2d5e88197451.png "Disable lock screen and screensaver")](gdmdisablescreensaver.png)& -- GitLab