From d70997398919519d62253843ea94ca40d53b061f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrb=C3=A1=C4=8D?= <david@hrbac.cz> Date: Thu, 26 Jan 2017 15:53:37 +0100 Subject: [PATCH] Auto capitalize --- .../capacity-computing.md | 18 ++++----- .../job-priority.md | 8 ++-- .../job-submission-and-execution.md | 14 +++---- .../anselm-cluster-documentation/prace.md | 12 +++--- .../remote-visualization.md | 38 +++++++++---------- .../resource-allocation-and-job-execution.md | 4 +- .../resources-allocation-policy.md | 6 +-- .../shell-and-data-access.md | 10 ++--- .../software/ansys/ansys-fluent.md | 8 ++-- .../software/chemistry/molpro.md | 2 +- .../software/chemistry/nwchem.md | 2 +- .../software/compilers.md | 2 +- .../software/debuggers/allinea-ddt.md | 6 +-- .../software/debuggers/cube.md | 2 +- .../software/debuggers/debuggers.md | 4 +- .../intel-performance-counter-monitor.md | 18 ++++----- .../software/debuggers/papi.md | 16 ++++---- .../software/debuggers/scalasca.md | 6 +-- .../software/debuggers/score-p.md | 8 ++-- .../software/debuggers/total-view.md | 12 +++--- .../software/debuggers/valgrind.md | 4 +- .../software/debuggers/vampir.md | 4 +- .../software/gpi2.md | 8 ++-- .../software/intel-suite/intel-compilers.md | 2 +- .../software/intel-suite/intel-debugger.md | 12 +++--- ...intel-integrated-performance-primitives.md | 4 +- .../software/intel-suite/intel-mkl.md | 10 ++--- .../software/intel-suite/intel-tbb.md | 2 +- .../software/intel-suite/introduction.md | 4 +- .../software/intel-xeon-phi.md | 16 ++++---- .../software/isv_licenses.md | 12 +++--- .../software/kvirtualization.md | 20 +++++----- .../software/mpi/Running_OpenMPI.md | 14 +++---- .../software/mpi/mpi.md | 4 +- .../software/mpi/mpi4py-mpi-for-python.md | 4 +- .../software/mpi/running-mpich2.md | 14 +++---- .../software/numerical-languages/matlab.md | 20 +++++----- .../numerical-languages/matlab_1314.md | 12 +++--- .../software/numerical-languages/octave.md | 6 +-- .../software/numerical-languages/r.md | 14 +++---- .../software/numerical-libraries/gsl.md | 4 +- .../magma-for-intel-xeon-phi.md | 4 +- .../software/numerical-libraries/petsc.md | 4 +- .../software/numerical-libraries/trilinos.md | 6 +-- .../software/nvidia-cuda.md | 4 +- .../omics-master/diagnostic-component-team.md | 2 +- .../software/omics-master/overview.md | 10 ++--- .../software/openfoam.md | 10 ++--- .../software/paraview.md | 12 +++--- .../anselm-cluster-documentation/storage.md | 12 +++--- .../graphical-user-interface.md | 2 +- .../graphical-user-interface/vnc.md | 22 +++++------ .../x-window-system.md | 6 +-- .../accessing-the-clusters/introduction.md | 4 +- .../shell-access-and-data-transfer/putty.md | 8 ++-- .../ssh-keys.md | 12 +++--- .../vpn-connection-fail-in-win-8.1.md | 2 +- .../accessing-the-clusters/vpn-access.md | 6 +-- .../accessing-the-clusters/vpn1-access.md | 6 +-- .../certificates-faq.md | 30 +++++++-------- .../obtaining-login-credentials.md | 8 ++-- docs.it4i/index.md | 2 +- docs.it4i/salomon/7d-enhanced-hypercube.md | 2 +- docs.it4i/salomon/capacity-computing.md | 18 ++++----- docs.it4i/salomon/compute-nodes.md | 2 +- docs.it4i/salomon/hardware-overview.md | 8 ++-- docs.it4i/salomon/ib-single-plane-topology.md | 4 +- docs.it4i/salomon/job-priority.md | 12 +++--- .../salomon/job-submission-and-execution.md | 18 ++++----- docs.it4i/salomon/prace.md | 12 +++--- .../resource-allocation-and-job-execution.md | 2 +- .../salomon/resources-allocation-policy.md | 6 +-- docs.it4i/salomon/shell-and-data-access.md | 10 ++--- docs.it4i/salomon/software/ansys/licensing.md | 4 +- .../salomon/software/chemistry/molpro.md | 2 +- .../salomon/software/chemistry/nwchem.md | 2 +- .../salomon/software/chemistry/phono3py.md | 10 ++--- .../software/comsol/comsol-multiphysics.md | 2 +- .../licensing-and-available-versions.md | 2 +- .../software/debuggers/Introduction.md | 4 +- .../salomon/software/debuggers/allinea-ddt.md | 6 +-- .../debuggers/intel-vtune-amplifier.md | 4 +- .../salomon/software/debuggers/total-view.md | 14 +++---- .../salomon/software/debuggers/valgrind.md | 4 +- .../salomon/software/debuggers/vampir.md | 4 +- .../software/intel-suite/intel-advisor.md | 2 +- .../software/intel-suite/intel-compilers.md | 2 +- .../software/intel-suite/intel-debugger.md | 12 +++--- .../software/intel-suite/intel-inspector.md | 6 +-- ...intel-integrated-performance-primitives.md | 4 +- .../salomon/software/intel-suite/intel-mkl.md | 10 ++--- .../intel-parallel-studio-introduction.md | 4 +- .../salomon/software/intel-suite/intel-tbb.md | 2 +- .../intel-trace-analyzer-and-collector.md | 6 +-- docs.it4i/salomon/software/intel-xeon-phi.md | 14 +++---- .../salomon/software/mpi/Running_OpenMPI.md | 14 +++---- docs.it4i/salomon/software/mpi/mpi.md | 4 +- .../software/mpi/mpi4py-mpi-for-python.md | 4 +- .../software/numerical-languages/matlab.md | 20 +++++----- .../salomon/software/numerical-languages/r.md | 14 +++---- docs.it4i/salomon/storage.md | 26 ++++++------- docs.it4i/software/bioinformatics.md | 12 +++--- docs.it4i/software/lmod.md | 18 ++++----- docs.it4i/software/orca.md | 6 +-- 104 files changed, 445 insertions(+), 445 deletions(-) diff --git a/docs.it4i/anselm-cluster-documentation/capacity-computing.md b/docs.it4i/anselm-cluster-documentation/capacity-computing.md index f49aa61f3..5edbf72dd 100644 --- a/docs.it4i/anselm-cluster-documentation/capacity-computing.md +++ b/docs.it4i/anselm-cluster-documentation/capacity-computing.md @@ -18,7 +18,7 @@ However, executing huge number of jobs via the PBS queue may strain the system. 1. A user is allowed to submit at most 100 jobs. Each job may be [a job array](capacity-computing/#job-arrays). 2. The array size is at most 1000 subjobs. -## Job arrays +## Job Arrays !!! Note "Note" Huge number of jobs may be easily submitted and managed as a job array. @@ -74,7 +74,7 @@ In this example, the submit directory holds the 900 input files, executable mypr If huge number of parallel multicore (in means of multinode multithread, e. g. MPI enabled) jobs is needed to run, then a job array approach should also be used. The main difference compared to previous example using one node is that the local scratch should not be used (as it's not shared between nodes) and MPI or other technique for parallel multinode run has to be used properly. -### Submit the job array +### Submit the Job Array To submit the job array, use the qsub -J command. The 900 jobs of the [example above](capacity-computing/#array_example) may be submitted like this: @@ -93,7 +93,7 @@ $ qsub -N JOBNAME -J 9-10:2 jobscript This will only choose the lower index (9 in this example) for submitting/running your job. -### Manage the job array +### Manage the Job Array Check status of the job array by the qstat command. @@ -147,7 +147,7 @@ $ qstat -u $USER -tJ Read more on job arrays in the [PBSPro Users guide](../../pbspro-documentation/). -## GNU parallel +## GNU Parallel !!! Note "Note" Use GNU parallel to run many single core tasks on one node. @@ -161,7 +161,7 @@ $ module add parallel $ man parallel ``` -### GNU parallel jobscript +### GNU Parallel jobscript The GNU parallel shell executes multiple instances of the jobscript using all cores on the node. The instances execute different work, controlled by the $PARALLEL_SEQ variable. @@ -205,7 +205,7 @@ cp output $PBS_O_WORKDIR/$TASK.out In this example, tasks from tasklist are executed via the GNU parallel. The jobscript executes multiple instances of itself in parallel, on all cores of the node. Once an instace of jobscript is finished, new instance starts until all entries in tasklist are processed. Currently processed entry of the joblist may be retrieved via $1 variable. Variable $TASK expands to one of the input filenames from tasklist. We copy the input file to local scratch, execute the myprog.x and copy the output file back to the submit directory, under the $TASK.out name. -### Submit the job +### Submit the Job To submit the job, use the qsub command. The 101 tasks' job of the [example above](capacity-computing/#gp_example) may be submitted like this: @@ -218,7 +218,7 @@ In this example, we submit a job of 101 tasks. 16 input files will be processed Please note the #PBS directives in the beginning of the jobscript file, dont' forget to set your valid PROJECT_ID and desired queue. -## Job arrays and GNU parallel +## Job Arrays and GNU Parallel !!! Note "Note" Combine the Job arrays and GNU parallel for best throughput of single core jobs @@ -228,7 +228,7 @@ While job arrays are able to utilize all available computational nodes, the GNU !!! Note "Note" Every subjob in an array runs GNU parallel to utilize all cores on the node -### GNU parallel, shared jobscript +### GNU Parallel, Shared jobscript Combined approach, very similar to job arrays, can be taken. Job array is submitted to the queuing system. The subjobs run GNU parallel. The GNU parallel shell executes multiple instances of the jobscript using all cores on the node. The instances execute different work, controlled by the $PBS_JOB_ARRAY and $PARALLEL_SEQ variables. @@ -289,7 +289,7 @@ When deciding this values, think about following guiding rules: 2. Number of tasks should be modulo 16. 3. These rules are valid only when all tasks have similar task walltimes T. -### Submit the job array +### Submit the Job Array To submit the job array, use the qsub -J command. The 992 tasks' job of the [example above](capacity-computing/#combined_example) may be submitted like this: diff --git a/docs.it4i/anselm-cluster-documentation/job-priority.md b/docs.it4i/anselm-cluster-documentation/job-priority.md index 1da7e6e95..fbd57f0f7 100644 --- a/docs.it4i/anselm-cluster-documentation/job-priority.md +++ b/docs.it4i/anselm-cluster-documentation/job-priority.md @@ -1,6 +1,6 @@ # Job scheduling -## Job execution priority +## Job Execution Priority Scheduler gives each job an execution priority and then uses this job execution priority to select which job(s) to run. @@ -10,7 +10,7 @@ Job execution priority on Anselm is determined by these job properties (in order 2. fair-share priority 3. eligible time -### Queue priority +### Queue Priority Queue priority is priority of queue where job is queued before execution. @@ -18,7 +18,7 @@ Queue priority has the biggest impact on job execution priority. Execution prior Queue priorities can be seen at <https://extranet.it4i.cz/anselm/queues> -### Fair-share priority +### Fair-Share Priority Fair-share priority is priority calculated on recent usage of resources. Fair-share priority is calculated per project, all members of project share same fair-share priority. Projects with higher recent usage have lower fair-share priority than projects with lower or none recent usage. @@ -40,7 +40,7 @@ Jobs queued in queue qexp are not calculated to project's usage. Calculated fair-share priority can be also seen as Resource_List.fairshare attribute of a job. -### Eligible time +### Eligible Time Eligible time is amount (in seconds) of eligible time job accrued while waiting to run. Jobs with higher eligible time gains higher priority. diff --git a/docs.it4i/anselm-cluster-documentation/job-submission-and-execution.md b/docs.it4i/anselm-cluster-documentation/job-submission-and-execution.md index 227343a0c..8ab52e9bc 100644 --- a/docs.it4i/anselm-cluster-documentation/job-submission-and-execution.md +++ b/docs.it4i/anselm-cluster-documentation/job-submission-and-execution.md @@ -60,9 +60,9 @@ By default, the PBS batch system sends an e-mail only when the job is aborted. D $ qsub -m n ``` -## Advanced job placement +## Advanced Job Placement -### Placement by name +### Placement by Name Specific nodes may be allocated via the PBS @@ -72,7 +72,7 @@ qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=16:host=cn171+1:ncpus=16:host=cn172 In this example, we allocate nodes cn171 and cn172, all 16 cores per node, for 24 hours. Consumed resources will be accounted to the Project identified by Project ID OPEN-0-0. The resources will be available interactively. -### Placement by CPU type +### Placement by CPU Type Nodes equipped with Intel Xeon E5-2665 CPU have base clock frequency 2.4GHz, nodes equipped with Intel Xeon E5-2470 CPU have base frequency 2.3 GHz (see section Compute Nodes for details). Nodes may be selected via the PBS resource attribute cpu_freq . @@ -87,7 +87,7 @@ $ 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, selecting only the nodes with Intel Xeon E5-2665 CPU. -### Placement by IB switch +### Placement by IB Switch Groups of computational nodes are connected to chassis integrated Infiniband switches. These switches form the leaf switch layer of the [Infiniband network](../network/) fat tree topology. Nodes sharing the leaf switch can communicate most efficiently. Sharing the same switch prevents hops in the network and provides for unbiased, most efficient network communication. @@ -101,9 +101,9 @@ We recommend allocating compute nodes of a single switch when best possible comp In this example, we request all the 18 nodes sharing the isw11 switch for 24 hours. Full chassis will be allocated. -## Advanced job handling +## Advanced Job Handling -### Selecting Turbo Boost off +### Selecting Turbo Boost Off Intel Turbo Boost Technology is on by default. We strongly recommend keeping the default. @@ -115,7 +115,7 @@ If necessary (such as in case of benchmarking) you can disable the Turbo for all More about the Intel Turbo Boost in the TurboBoost section -### Advanced examples +### Advanced Examples In the following example, we select an allocation for benchmarking a very special and demanding MPI program. We request Turbo off, 2 full chassis of compute nodes (nodes sharing the same IB switches) for 30 minutes: diff --git a/docs.it4i/anselm-cluster-documentation/prace.md b/docs.it4i/anselm-cluster-documentation/prace.md index 9cbbb19a1..4a7417fde 100644 --- a/docs.it4i/anselm-cluster-documentation/prace.md +++ b/docs.it4i/anselm-cluster-documentation/prace.md @@ -18,9 +18,9 @@ In general PRACE users already have a PRACE account setup through their HOMESITE If there's a special need a PRACE user can get a standard (local) account at IT4Innovations. To get an account on the Anselm cluster, the user needs to obtain the login credentials. The procedure is the same as for general users of the cluster, so please see the corresponding section of the general documentation here. -## Accessing the cluster +## Accessing the Cluster -### Access with GSI-SSH +### Access With GSI-SSH 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. @@ -100,7 +100,7 @@ Although the preferred and recommended file transfer mechanism is [using GridFTP $ gsiscp -P 2222 anselm-prace.it4i.cz:_ANSELM_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ ``` -### Access to X11 applications (VNC) +### Access to X11 Applications (VNC) 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 access, please see the section in general documentation. @@ -110,11 +110,11 @@ If the user uses GSI SSH based access, then the procedure is similar to the SSH $ gsissh -p 2222 anselm.it4i.cz -L 5961:localhost:5961 ``` -### Access with SSH +### Access With SSH After successful obtainment of login credentials for the local IT4Innovations account, the PRACE users can access the cluster as regular users using SSH. For more information please see the section in general documentation. -## File transfers +## 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. @@ -197,7 +197,7 @@ Generally both shared file systems are available through GridFTP: More information about the shared file systems is available [here](storage/). -## Usage of the cluster +## Usage of the Cluster There are some limitations for PRACE user when using the cluster. By 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 because of insufficient amount of licenses. diff --git a/docs.it4i/anselm-cluster-documentation/remote-visualization.md b/docs.it4i/anselm-cluster-documentation/remote-visualization.md index 8e838d755..929f6930a 100644 --- a/docs.it4i/anselm-cluster-documentation/remote-visualization.md +++ b/docs.it4i/anselm-cluster-documentation/remote-visualization.md @@ -17,15 +17,15 @@ Currently two compute nodes are dedicated for this service with following config | Local disk drive | yes - 500 GB | | Compute network | InfiniBand QDR | -## Schematic overview +## Schematic Overview   -## How to use the service +## How to Use the Service -### Setup and start your own TurboVNC server +### Setup and Start Your Own TurboVNC Server TurboVNC is designed and implemented for cooperation with VirtualGL and available for free for all major platforms. For more information and download, please refer to: <http://sourceforge.net/projects/turbovnc/> @@ -33,11 +33,11 @@ TurboVNC is designed and implemented for cooperation with VirtualGL and availabl The procedure is: -#### 1. Connect to a login node +#### 1. Connect to a Login Node Please [follow the documentation](shell-and-data-access/). -#### 2. Run your own instance of TurboVNC server +#### 2. Run Your Own Instance of TurboVNC Server To have the OpenGL acceleration, **24 bit color depth must be used**. Otherwise only the geometry (desktop size) definition is needed. @@ -56,7 +56,7 @@ Starting applications specified in /home/username/.vnc/xstartup.turbovnc Log file is /home/username/.vnc/login2:1.log ``` -#### 3. Remember which display number your VNC server runs (you will need it in the future to stop the server) +#### 3. Remember Which Display Number Your VNC Server Runs (You Will Need It in the Future to Stop the Server) ```bash $ vncserver -list @@ -69,7 +69,7 @@ X DISPLAY # PROCESS ID In this example the VNC server runs on display **:1**. -#### 4. Remember the exact login node, where your VNC server runs +#### 4. Remember the Exact Login Node, Where Your VNC Server Runs ```bash $ uname -n @@ -78,7 +78,7 @@ login2 In this example the VNC server runs on **login2**. -#### 5. Remember on which TCP port your own VNC server is running +#### 5. Remember on Which TCP Port Your Own VNC Server Is Running To get the port you have to look to the log file of your VNC server. @@ -89,7 +89,7 @@ $ grep -E "VNC.*port" /home/username/.vnc/login2:1.log In this example the VNC server listens on TCP port **5901**. -#### 6. Connect to the login node where your VNC server runs with SSH to tunnel your VNC session +#### 6. Connect to the Login Node Where Your VNC Server Runs With SSH to Tunnel Your VNC Session Tunnel the TCP port on which your VNC server is listenning. @@ -101,11 +101,11 @@ x-window-system/ If you use Windows and Putty, please refer to port forwarding setup in the documentation: [x-window-and-vnc#section-12](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/) -#### 7. If you don't have Turbo VNC installed on your workstation +#### 7. If You Don't Have Turbo VNC Installed on Your Workstation Get it from: <http://sourceforge.net/projects/turbovnc/> -#### 8. Run TurboVNC Viewer from your workstation +#### 8. Run TurboVNC Viewer From Your Workstation Mind that you should connect through the SSH tunneled port. In this example it is 5901 on your workstation (localhost). @@ -115,11 +115,11 @@ $ 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 "Access the Visualization Node" Now you should have working TurboVNC session connected to your workstation. -#### 10. After you end your visualization session +#### 10. After You End Your Visualization Session Don't forget to correctly shutdown your own VNC server on the login node! @@ -127,7 +127,7 @@ Don't forget to correctly shutdown your own VNC server on the login node! $ vncserver -kill :1 ``` -### Access the visualization node +### Access the Visualization Node **To access the node use a dedicated PBS Professional scheduler queue qviz**. The queue has following properties: @@ -143,7 +143,7 @@ Currently when accessing the node, each user gets 4 cores of a CPU allocated, th 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 This step is necessary to allow you to proceed with next steps. @@ -170,7 +170,7 @@ srv8 In this example the visualization session was assigned to node **srv8**. -#### 2. In your VNC session open another terminal (keep the one with interactive PBSPro job open) +#### 2. In Your VNC Session Open Another Terminal (Keep the One With Interactive PBSPro Job Open) Setup the VirtualGL connection to the node, which PBSPro allocated for our job. @@ -180,13 +180,13 @@ $ vglconnect srv8 You will be connected with created VirtualGL tunnel to the visualization ode, where you will have a shell. -#### 3. Load the VirtualGL module +#### 3. Load the VirtualGL Module ```bash $ module load virtualgl/2.4 ``` -#### 4. Run your desired OpenGL accelerated application using VirtualGL script "vglrun" +#### 4. Run Your Desired OpenGL Accelerated Application Using VirtualGL Script "Vglrun" ```bash $ vglrun glxgears @@ -199,7 +199,7 @@ $ module load marc/2013.1 $ vglrun mentat ``` -#### 5. After you end your work with the OpenGL application +#### 5. After You End Your Work With the OpenGL Application Just logout from the visualization node and exit both opened terminals nd end your VNC server session as described above. diff --git a/docs.it4i/anselm-cluster-documentation/resource-allocation-and-job-execution.md b/docs.it4i/anselm-cluster-documentation/resource-allocation-and-job-execution.md index 7eecefdca..27340a1f8 100644 --- a/docs.it4i/anselm-cluster-documentation/resource-allocation-and-job-execution.md +++ b/docs.it4i/anselm-cluster-documentation/resource-allocation-and-job-execution.md @@ -17,7 +17,7 @@ The resources are allocated to the job in a fair-share fashion, subject to const Read more on the [Resource AllocationPolicy](resources-allocation-policy/) page. -## Job submission and execution +## Job Submission and Execution !!! Note "Note" Use the **qsub** command to submit your jobs. @@ -26,7 +26,7 @@ The qsub submits the job into the queue. The qsub command creates a request to t Read more on the [Job submission and execution](job-submission-and-execution/) page. -## Capacity computing +## Capacity Computing !!! Note "Note" Use Job arrays when running huge number of jobs. diff --git a/docs.it4i/anselm-cluster-documentation/resources-allocation-policy.md b/docs.it4i/anselm-cluster-documentation/resources-allocation-policy.md index ec3fd4216..484a69076 100644 --- a/docs.it4i/anselm-cluster-documentation/resources-allocation-policy.md +++ b/docs.it4i/anselm-cluster-documentation/resources-allocation-policy.md @@ -34,7 +34,7 @@ Jobs that exceed the reserved wall clock time (Req'd Time) get killed automatica Anselm users may check current queue configuration at <https://extranet.it4i.cz/anselm/queues>. -### Queue status +### Queue Status !!! tip Check the status of jobs, queues and compute nodes at <https://extranet.it4i.cz/anselm/> @@ -107,11 +107,11 @@ Options: ## Resources Accounting Policy -### The Core-Hour +### the Core-Hour The resources that are currently subject to accounting are the core-hours. The core-hours are accounted on the wall clock basis. The accounting runs whenever the computational cores are allocated or blocked via the PBS Pro workload manager (the qsub command), regardless of whether the cores are actually used for any calculation. 1 core-hour is defined as 1 processor core allocated for 1 hour of wall clock time. Allocating a full node (16 cores) for 1 hour accounts to 16 core-hours. See example in the [Job submission and execution](job-submission-and-execution/) section. -### Check consumed resources +### Check Consumed Resources !!! Note "Note" The **it4ifree** command is a part of it4i.portal.clients package, located here: <https://pypi.python.org/pypi/it4i.portal.clients> diff --git a/docs.it4i/anselm-cluster-documentation/shell-and-data-access.md b/docs.it4i/anselm-cluster-documentation/shell-and-data-access.md index 08978df2c..2f3aad9bb 100644 --- a/docs.it4i/anselm-cluster-documentation/shell-and-data-access.md +++ b/docs.it4i/anselm-cluster-documentation/shell-and-data-access.md @@ -115,7 +115,7 @@ On Windows, use [WinSCP client](http://winscp.net/eng/download.php) to transfer More information about the shared file systems is available [here](storage/). -## Connection restrictions +## Connection Restrictions Outgoing connections, from Anselm Cluster login nodes to the outside world, are restricted to following ports: @@ -131,9 +131,9 @@ Outgoing connections, from Anselm Cluster login nodes to the outside world, are Outgoing connections, from Anselm Cluster compute nodes are restricted to the internal network. Direct connections form compute nodes to outside world are cut. -## Port forwarding +## Port Forwarding -### Port forwarding from login nodes +### Port Forwarding From Login Nodes !!! Note "Note" Port forwarding allows an application running on Anselm to connect to arbitrary remote host and port. @@ -159,7 +159,7 @@ $ ssh -L 6000:localhost:1234 remote.host.com !!! note Port number 6000 is chosen as an example only. Pick any free port. -### Port forwarding from compute nodes +### Port Forwarding From Compute Nodes Remote port forwarding from compute nodes allows applications running on the compute nodes to access hosts outside Anselm Cluster. @@ -173,7 +173,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 accessing localhost:6000, an application running on a compute node will see response of remote.host.com:1234 -### Using proxy servers +### Using Proxy Servers Port forwarding is static, each single port is mapped to a particular port on remote host. Connection to other remote host, requires new forward. diff --git a/docs.it4i/anselm-cluster-documentation/software/ansys/ansys-fluent.md b/docs.it4i/anselm-cluster-documentation/software/ansys/ansys-fluent.md index d170ade36..89fedb100 100644 --- a/docs.it4i/anselm-cluster-documentation/software/ansys/ansys-fluent.md +++ b/docs.it4i/anselm-cluster-documentation/software/ansys/ansys-fluent.md @@ -3,7 +3,7 @@ [ANSYS Fluent](http://www.ansys.com/products/fluids/ansys-fluent) software contains the broad physical modeling capabilities needed to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants. Special models that give the software the ability to model in-cylinder combustion, aeroacoustics, turbomachinery, and multiphase systems have served to broaden its reach. -## Common way to run Fluent over PBS file +## Common Way to Run Fluent Over PBS File To run ANSYS Fluent in batch mode you can utilize/modify the default fluent.pbs script and execute it via the qsub command. @@ -56,7 +56,7 @@ Journal file with definition of the input geometry and boundary conditions and d The appropriate dimension of the problem has to be set by parameter (2d/3d). -## Fast way to run Fluent from command line +## Fast Way to Run Fluent From Command Line ```bash fluent solver_version [FLUENT_options] -i journal_file -pbs @@ -64,7 +64,7 @@ fluent solver_version [FLUENT_options] -i journal_file -pbs This syntax will start the ANSYS FLUENT job under PBS Professional using the qsub command in a batch manner. When resources are available, PBS Professional will start the job and return a job ID, usually in the form of _job_ID.hostname_. This job ID can then be used to query, control, or stop the job using standard PBS Professional commands, such as qstat or qdel. The job will be run out of the current working directory, and all output will be written to the file fluent.o _job_ID_. -## Running Fluent via user's config file +## Running Fluent via User's Config File The sample script uses a configuration file called pbs_fluent.conf if no command line arguments are present. This configuration file should be present in the directory from which the jobs are submitted (which is also the directory in which the jobs are executed). The following is an example of what the content of pbs_fluent.conf can be: @@ -141,7 +141,7 @@ To run ANSYS Fluent in batch mode with user's config file you can utilize/modify It runs the jobs out of the directory from which they are submitted (PBS_O_WORKDIR). -## Running Fluent in parralel +## Running Fluent in Parralel Fluent could be run in parallel only under Academic Research license. To do so this ANSYS Academic Research license must be placed before ANSYS CFD license in user preferences. To make this change anslic_admin utility should be run diff --git a/docs.it4i/anselm-cluster-documentation/software/chemistry/molpro.md b/docs.it4i/anselm-cluster-documentation/software/chemistry/molpro.md index af3115a8a..7f1bdcd9f 100644 --- a/docs.it4i/anselm-cluster-documentation/software/chemistry/molpro.md +++ b/docs.it4i/anselm-cluster-documentation/software/chemistry/molpro.md @@ -12,7 +12,7 @@ Molpro software package is available only to users that have a valid license. Pl To run Molpro, you need to have a valid license token present in " $HOME/.molpro/token". You can download the token from [Molpro website](https://www.molpro.net/licensee/?portal=licensee). -## Installed version +## Installed Version Currently on Anselm is installed version 2010.1, patch level 45, parallel version compiled with Intel compilers and Intel MPI. diff --git a/docs.it4i/anselm-cluster-documentation/software/chemistry/nwchem.md b/docs.it4i/anselm-cluster-documentation/software/chemistry/nwchem.md index a578fb9d8..d22c987f2 100644 --- a/docs.it4i/anselm-cluster-documentation/software/chemistry/nwchem.md +++ b/docs.it4i/anselm-cluster-documentation/software/chemistry/nwchem.md @@ -8,7 +8,7 @@ NWChem aims to provide its users with computational chemistry tools that are sca [Homepage](http://www.nwchem-sw.org/index.php/Main_Page) -## Installed versions +## Installed Versions The following versions are currently installed: diff --git a/docs.it4i/anselm-cluster-documentation/software/compilers.md b/docs.it4i/anselm-cluster-documentation/software/compilers.md index d8f929d12..5d8135e05 100644 --- a/docs.it4i/anselm-cluster-documentation/software/compilers.md +++ b/docs.it4i/anselm-cluster-documentation/software/compilers.md @@ -1,6 +1,6 @@ # Compilers -## Available compilers, including GNU, INTEL and UPC compilers +## Available Compilers, Including GNU, INTEL and UPC Compilers Currently there are several compilers for different programming languages available on the Anselm cluster: diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/allinea-ddt.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/allinea-ddt.md index de7d1da22..7d2fe37aa 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/allinea-ddt.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/allinea-ddt.md @@ -18,7 +18,7 @@ In case of debugging on accelerators: - 1 user can debug on up to 8 accelerators, or - 8 users can debug on single accelerator. -## Compiling Code to run with DDT +## Compiling Code to Run With DDT ### Modules @@ -43,7 +43,7 @@ $ mpicc -g -O0 -o test_debug test.c $ mpif90 -g -O0 -o test_debug test.f ``` -### Compiler flags +### Compiler Flags Before debugging, you need to compile your code with theses flags: @@ -51,7 +51,7 @@ Before debugging, you need to compile your code with theses flags: - **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. -## Starting a Job with DDT +## Starting a Job With DDT Be sure to log in with an X window forwarding enabled. This could mean using the -X in the ssh: diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/cube.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/cube.md index 45b2c465c..23849f609 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/cube.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/cube.md @@ -16,7 +16,7 @@ _Figure 1. Screenshot of CUBE displaying data from Scalasca._ Each node in the tree is colored by severity (the color scheme is displayed at the bottom of the window, ranging from the least severe blue to the most severe being red). For example in Figure 1, we can see that most of the point-to-point MPI communication happens in routine exch_qbc, colored red. -## Installed versions +## Installed Versions Currently, there are two versions of CUBE 4.2.3 available as [modules](../../environment-and-modules/): diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/debuggers.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/debuggers.md index 11335363e..68e804f48 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/debuggers.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/debuggers.md @@ -4,7 +4,7 @@ We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations. On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I. -## Intel debugger +## Intel Debugger 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 for running the GUI. @@ -48,7 +48,7 @@ TotalView is a source- and machine-level debugger for multi-process, multi-threa Read more at the [Totalview](debuggers/total-view/) page. -## Vampir trace analyzer +## Vampir Trace Analyzer Vampir is a GUI trace analyzer for traces in OTF format. diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md index b534dd81b..c408fd4fe 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md @@ -4,7 +4,7 @@ Intel PCM (Performance Counter Monitor) is a tool to monitor performance hardware counters on Intel>® processors, similar to [PAPI](papi/). The difference between PCM and PAPI is that PCM supports only Intel hardware, but PCM can monitor also uncore metrics, like memory controllers and >QuickPath Interconnect links. -## Installed version +## Installed Version Currently installed version 2.6. To load the [module](../../environment-and-modules/), issue: @@ -12,11 +12,11 @@ Currently installed version 2.6. To load the [module](../../environment-and-modu $ module load intelpcm ``` -## Command line tools +## Command Line Tools PCM provides a set of tools to monitor system/or application. -### pcm-memory +### Pcm-Memory Measures memory bandwidth of your application or the whole system. Usage: @@ -55,23 +55,23 @@ Sample output: ---------------------------------------||--------------------------------------- ``` -### pcm-msr +### Pcm-Msr Command pcm-msr.x can be used to read/write model specific registers of the CPU. -### pcm-numa +### Pcm-Numa NUMA monitoring utility does not work on Anselm. -### pcm-pcie +### Pcm-Pcie Can be used to monitor PCI Express bandwith. Usage: pcm-pcie.x <delay> -### pcm-power +### Pcm-Power Displays energy usage and thermal headroom for CPU and DRAM sockets. Usage: `pcm-power.x <delay> | <external program>` -### pcm +### Pcm This command provides an overview of performance counters and memory usage. Usage: `pcm.x <delay> | <external program>` @@ -184,7 +184,7 @@ Sample output : Cleaning up ``` -### pcm-sensor +### Pcm-Sensor Can be used as a sensor for ksysguard GUI, which is currently not installed on Anselm. diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/papi.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/papi.md index a08f5fa77..028d533e4 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/papi.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/papi.md @@ -22,7 +22,7 @@ This will load the default version. Execute module avail papi for a list of inst The bin directory of PAPI (which is automatically added to $PATH upon loading the module) contains various utilites. -### papi_avail +### Papi_avail Prints which preset events are available on the current CPU. The third column indicated whether the preset event is available on the current CPU. @@ -60,19 +60,19 @@ Prints which preset events are available on the current CPU. The third column in .... ``` -### papi_native_avail +### Papi_native_avail Prints which native events are available on the current CPU. -### papi_cost +### Papi_cost Measures the cost (in cycles) of basic PAPI operations. -### papi_mem_info +### Papi_mem_info Prints information about the memory architecture of the current CPU. -## PAPI API +## Papi API PAPI provides two kinds of events: @@ -88,11 +88,11 @@ To use PAPI in your application, you need to link the appropriate include file. The include path is automatically added by papi module to $INCLUDE. -### High level API +### High Level API Please refer to <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:High_Level> for a description of the High level API. -### Low level API +### Low Level API Please refer to <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Low_Level> for a description of the Low level API. @@ -100,7 +100,7 @@ Please refer to <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Low_Level> for a PAPI provides the most accurate timers the platform can support. See <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Timers> -### System information +### System Information PAPI can be used to query some system infromation, such as CPU name and MHz. See <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:System_Information> diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/scalasca.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/scalasca.md index 0e46005e8..45c0768e7 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/scalasca.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/scalasca.md @@ -6,7 +6,7 @@ Scalasca supports profiling of MPI, OpenMP and hybrid MPI+OpenMP applications. -## Installed versions +## Installed Versions There are currently two versions of Scalasca 2.0 [modules](../../environment-and-modules/) installed on Anselm: @@ -25,7 +25,7 @@ Profiling a parallel application with Scalasca consists of three steps: Instrumentation via " scalasca -instrument" is discouraged. Use [Score-P instrumentation](score-p/). -### Runtime measurement +### Runtime Measurement After the application is instrumented, runtime measurement can be performed with the `scalasca -analyze` command. The syntax is: @@ -45,7 +45,7 @@ Some notable Scalasca options are: !!! Note Scalasca can generate a huge amount of data, especially if tracing is enabled. Please consider saving the data to a [scratch directory](../../storage/storage/). -### Analysis of reports +### Analysis of Reports For the analysis, you must have [Score-P](score-p/) and [CUBE](cube/) modules loaded. The analysis is done in two steps, first, the data is preprocessed and then CUBE GUI tool is launched. diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/score-p.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/score-p.md index 05fde1970..4f1296679 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/score-p.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/score-p.md @@ -6,7 +6,7 @@ The [Score-P measurement infrastructure](http://www.vi-hps.org/projects/score-p/ Score-P can be used as an instrumentation tool for [Scalasca](scalasca/). -## Installed versions +## Installed Versions There are currently two versions of Score-P version 1.2.6 [modules](../../environment-and-modules/) installed on Anselm : @@ -21,7 +21,7 @@ There are three ways to instrument your parallel applications in order to enable 2. Manual instrumentation using API calls 3. Manual instrumentation using directives -### Automated instrumentation +### Automated Instrumentation is the easiest method. Score-P will automatically add instrumentation to every routine entry and exit using compiler hooks, and will intercept MPI calls and OpenMP regions. This method might, however, produce a large number of data. If you want to focus on profiler a specific regions of your code, consider using the manual instrumentation methods. To use automated instrumentation, simply prepend scorep to your compilation command. For example, replace: @@ -43,7 +43,7 @@ Usually your program is compiled using a Makefile or similar script, so it advis It is important that scorep is prepended also to the linking command, in order to link with Score-P instrumentation libraries. -### Manual instrumentation using API calls +### Manual Instrumentation Using API Calls To use this kind of instrumentation, use scorep with switch --user. You will then mark regions to be instrumented by inserting API calls. @@ -76,7 +76,7 @@ An example in C/C++ : Please refer to the [documentation for description of the API](https://silc.zih.tu-dresden.de/scorep-current/pdf/scorep.pdf). -### Manual instrumentation using directives +### Manual Instrumentation Using Directives This method uses POMP2 directives to mark regions to be instrumented. To use this method, use command scorep --pomp. diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/total-view.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/total-view.md index 32a1e2e69..ca08c5ea8 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/total-view.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/total-view.md @@ -27,7 +27,7 @@ You can check the status of the licenses here: CUDA 64 0 64 ``` -## Compiling Code to run with TotalView +## Compiling Code to Run With TotalView ### Modules @@ -53,7 +53,7 @@ Compile the code: mpif90 -g -O0 -o test_debug test.f ``` -### Compiler flags +### Compiler Flags Before debugging, you need to compile your code with theses flags: @@ -61,7 +61,7 @@ Before debugging, you need to compile your code with theses flags: - **-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. -## Starting a Job with TotalView +## Starting a Job With TotalView Be sure to log in with an X window forwarding enabled. This could mean using the -X in the ssh: @@ -79,7 +79,7 @@ From the login node an interactive session with X windows forwarding (-X option) Then launch the debugger with the totalview command followed by the name of the executable to debug. -### Debugging a serial code +### Debugging a Serial Code To debug a serial code use: @@ -87,7 +87,7 @@ To debug a serial code use: totalview test_debug ``` -### Debugging a parallel code - option 1 +### Debugging a Parallel Code - Option 1 To debug a parallel code compiled with **OpenMPI** you need to setup your TotalView environment: @@ -140,7 +140,7 @@ At this point the main TotalView GUI window will appear and you can insert the b  -### Debugging a parallel code - option 2 +### Debugging a Parallel Code - Option 2 Other option to start new parallel debugging session from a command line is to let TotalView to execute mpirun by itself. In this case user has to specify a MPI implementation used to compile the source code. diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/valgrind.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/valgrind.md index 26a988a0c..8332377a2 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/valgrind.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/valgrind.md @@ -17,7 +17,7 @@ The main tools available in Valgrind are : - **Callgrind**, a callgraph analyzer. - For a full list and detailed documentation, please refer to the [official Valgrind documentation](http://valgrind.org/docs/). -## Installed versions +## Installed Versions There are two versions of Valgrind available on Anselm. @@ -131,7 +131,7 @@ In the output we can see that Valgrind has detected both errors - the off-by-one Now we can see that the memory leak is due to the malloc() at line 6. -## Usage with MPI +## Usage With MPI Although Valgrind is not primarily a parallel debugger, it can be used to debug parallel applications as well. When launching your parallel applications, prepend the valgrind command. For example : diff --git a/docs.it4i/anselm-cluster-documentation/software/debuggers/vampir.md b/docs.it4i/anselm-cluster-documentation/software/debuggers/vampir.md index 15509457b..f5336b9e6 100644 --- a/docs.it4i/anselm-cluster-documentation/software/debuggers/vampir.md +++ b/docs.it4i/anselm-cluster-documentation/software/debuggers/vampir.md @@ -4,7 +4,7 @@ Vampir is a commercial trace analysis and visualization tool. It can work with t  -## Installed versions +## Installed Versions Version 8.5.0 is currently installed as module Vampir/8.5.0 : @@ -13,7 +13,7 @@ Version 8.5.0 is currently installed as module Vampir/8.5.0 : $ vampir & ``` -## User manual +## User Manual You can find the detailed user manual in PDF format in $EBROOTVAMPIR/doc/vampir-manual.pdf diff --git a/docs.it4i/anselm-cluster-documentation/software/gpi2.md b/docs.it4i/anselm-cluster-documentation/software/gpi2.md index 8818844f9..ec96e2653 100644 --- a/docs.it4i/anselm-cluster-documentation/software/gpi2.md +++ b/docs.it4i/anselm-cluster-documentation/software/gpi2.md @@ -23,7 +23,7 @@ The module sets up environment variables, required for linking and running GPI-2 Load the gpi2 module. Link using **-lGPI2** and **-libverbs** switches to link your code against GPI-2. The GPI-2 requires the OFED infinband communication library ibverbs. -### Compiling and linking with Intel compilers +### Compiling and Linking With Intel Compilers ```bash $ module load intel @@ -31,7 +31,7 @@ Load the gpi2 module. Link using **-lGPI2** and **-libverbs** switches to link y $ icc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -lGPI2 -libverbs ``` -### Compiling and linking with GNU compilers +### Compiling and Linking With GNU Compilers ```bash $ module load gcc @@ -39,7 +39,7 @@ Load the gpi2 module. Link using **-lGPI2** and **-libverbs** switches to link y $ gcc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -lGPI2 -libverbs ``` -## Running the GPI-2 codes +## Running the GPI-2 Codes !!! note gaspi_run starts the GPI-2 application @@ -87,7 +87,7 @@ Example: This example will produce $PBS_NODEFILE with 16 entries per node. -### gaspi_logger +### Gaspi_logger !!! note gaspi_logger views the output form GPI-2 application ranks diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-compilers.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-compilers.md index e78535a1d..50b8b005e 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-compilers.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-compilers.md @@ -28,7 +28,7 @@ The compiler recognizes the omp, simd, vector and ivdep pragmas for OpenMP paral Read more at <http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm> -## Sandy Bridge/Haswell binary compatibility +## Sandy Bridge/Haswell Binary Compatibility Anselm nodes are currently equipped with Sandy Bridge CPUs, while Salomon will use Haswell architecture. >The new processors are backward compatible with the Sandy Bridge nodes, so all programs that ran on the Sandy Bridge processors, should also run on the new Haswell nodes. >To get optimal performance out of the Haswell processors a program should make use of the special AVX2 instructions for this processor. One can do this by recompiling codes with the compiler flags >designated to invoke these instructions. For the Intel compiler suite, there are two ways of doing this: diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-debugger.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-debugger.md index f63f338b9..f13086df7 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-debugger.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-debugger.md @@ -1,6 +1,6 @@ # Intel Debugger -## Debugging serial applications +## Debugging Serial Applications 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 for running the GUI. @@ -32,11 +32,11 @@ 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 access is via X11 port forwarding provided by the PBS workload manager. -## Debugging parallel applications +## Debugging Parallel Applications Intel debugger is capable of debugging multithreaded and MPI parallel programs as well. -### Small number of MPI ranks +### Small Number of MPI Ranks For debugging small number of MPI ranks, you may execute and debug each rank in separate xterm terminal (do not forget the X display. Using Intel MPI, this may be done in following way: @@ -51,7 +51,7 @@ For debugging small number of MPI ranks, you may execute and debug each rank in In this example, we allocate 2 full compute node, run xterm on each node and start idb debugger in command line mode, debugging two ranks of mympiprog.x application. The xterm will pop up for each rank, with idb prompt ready. The example is not limited to use of Intel MPI -### Large number of MPI ranks +### Large Number of MPI Ranks Run the idb debugger from within the MPI debug option. This will cause the debugger to bind to all ranks and provide aggregated outputs across the ranks, pausing execution automatically just after startup. You may then set break points and step the execution manually. Using Intel MPI: @@ -64,10 +64,10 @@ Run the idb debugger from within the MPI debug option. This will cause the debug $ mpirun -n 32 -idb ./mympiprog.x ``` -### Debugging multithreaded application +### Debugging Multithreaded Application Run the idb debugger in GUI mode. The menu Parallel contains number of tools for debugging multiple threads. One of the most useful tools is the **Serialize Execution** tool, which serializes execution of concurrent threads for easy orientation and identification of concurrency related bugs. -## Further information +## Further Information Exhaustive manual on idb features and usage is published at [Intel website](http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/debugger/user_guide/index.htm) diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md index fc9ad019c..7d874b4d9 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md @@ -13,7 +13,7 @@ Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX vector The module sets up environment variables, required for linking and running ipp enabled applications. -## IPP example +## IPP Example ```cpp #include "ipp.h" @@ -74,7 +74,7 @@ You will need the ipp module loaded to run the ipp enabled executable. This may $ icc testipp.c -o testipp.x -Wl,-rpath=$LIBRARY_PATH -lippi -lipps -lippcore ``` -## Code samples and documentation +## Code Samples and Documentation Intel provides number of [Code Samples for IPP](https://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library), illustrating use of IPP. diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-mkl.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-mkl.md index f59b0417f..d887b4e59 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-mkl.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-mkl.md @@ -63,7 +63,7 @@ The application will run with 16 threads with affinity optimized for fine grain Number of examples, demonstrating use of the MKL library and its linking is available on Anselm, in the $MKL_EXAMPLES directory. In the examples below, we demonstrate linking MKL to Intel and GNU compiled program for multi-threaded matrix multiplication. -### Working with examples +### Working With Examples ```bash $ module load intel @@ -76,7 +76,7 @@ Number of examples, demonstrating use of the MKL library and its linking is avai In this example, we compile, link and run the cblas_dgemm example, demonstrating use of MKL example suite installed on Anselm. -### Example: MKL and Intel compiler +### Example: MKL and Intel Compiler ```bash $ module load intel @@ -97,7 +97,7 @@ In this example, we compile, link and run the cblas_dgemm example, demonstratin In this example, we compile and link the cblas_dgemm example, using LP64 interface to threaded MKL and Intel OMP threads implementation. -### Example: MKL and GNU compiler +### Example: MKL and GNU Compiler ```bash $ module load gcc @@ -113,10 +113,10 @@ In this example, we compile and link the cblas_dgemm example, using LP64 interf In this example, we compile, link and run the cblas_dgemm example, using LP64 interface to threaded MKL and gnu OMP threads implementation. -## MKL and MIC accelerators +## MKL and MIC Accelerators The MKL is capable to automatically offload the computations o the MIC accelerator. See section [Intel XeonPhi](../intel-xeon-phi/) for details. -## Further reading +## Further Reading Read more on [Intel website](http://software.intel.com/en-us/intel-mkl), in particular the [MKL users guide](https://software.intel.com/en-us/intel-mkl/documentation/linux). diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-tbb.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-tbb.md index 681f16d3c..24c6380f7 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-tbb.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/intel-tbb.md @@ -37,6 +37,6 @@ You will need the tbb module loaded to run the tbb enabled executable. This may $ icc -O2 -o primes.x main.cpp primes.cpp -Wl,-rpath=$LIBRARY_PATH -ltbb ``` -## Further reading +## Further Reading Read more on Intel website, <http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm> diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-suite/introduction.md b/docs.it4i/anselm-cluster-documentation/software/intel-suite/introduction.md index 4cc1f5383..f9f6f4093 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-suite/introduction.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-suite/introduction.md @@ -8,7 +8,7 @@ The Anselm cluster provides following elements of the Intel Parallel Studio XE * Intel Integrated Performance Primitives Library * Intel Threading Building Blocks Library -## Intel compilers +## Intel Compilers The Intel compilers version 13.1.3 are available, via module intel. The compilers include the icc C and C++ compiler and the ifort fortran 77/90/95 compiler. @@ -20,7 +20,7 @@ The Intel compilers version 13.1.3 are available, via module intel. The compiler Read more at the [Intel Compilers](intel-compilers/) page. -## Intel debugger +## Intel Debugger 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 for running the GUI. diff --git a/docs.it4i/anselm-cluster-documentation/software/intel-xeon-phi.md b/docs.it4i/anselm-cluster-documentation/software/intel-xeon-phi.md index fa9e5273d..75d1106bb 100644 --- a/docs.it4i/anselm-cluster-documentation/software/intel-xeon-phi.md +++ b/docs.it4i/anselm-cluster-documentation/software/intel-xeon-phi.md @@ -1,6 +1,6 @@ # Intel Xeon Phi -## A guide to Intel Xeon Phi usage +## 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. @@ -238,7 +238,7 @@ Some interesting compiler flags useful not only for code debugging are: Performance ooptimization xhost - FOR HOST ONLY - to generate AVX (Advanced Vector Extensions) instructions. -## Automatic Offload using Intel MKL Library +## Automatic Offload Using Intel MKL Library Intel MKL includes an Automatic Offload (AO) feature that enables computationally intensive MKL functions called in user code to benefit from attached Intel Xeon Phi coprocessors automatically and transparently. @@ -258,7 +258,7 @@ or by setting environment variable To get more information about automatic offload please refer to "[Using Intel® MKL Automatic Offload on Intel ® Xeon Phiâ„¢ Coprocessors](http://software.intel.com/sites/default/files/11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf)" white paper or [ Intel MKL documentation](https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation). -### Automatic offload example +### Automatic Offload Example At first get an interactive PBS session on a node with MIC accelerator and load "intel" module that automatically loads "mkl" module as well. @@ -543,7 +543,7 @@ To see the performance of Intel Xeon Phi performing the DGEMM run the example as ## MPI -### Environment setup and compilation +### Environment Setup and Compilation Again an MPI code for Intel Xeon Phi has to be compiled on a compute node with accelerator and MPSS software stack installed. To get to a compute node with accelerator use: @@ -596,7 +596,7 @@ An example of basic MPI version of "hello-world" example in C language, that can } ``` -### MPI programming models +### MPI Programming Models Intel MPI for the Xeon Phi coprocessors offers different MPI programming models: @@ -607,7 +607,7 @@ Intel MPI for the Xeon Phi coprocessors offers different MPI programming models: **Symmetric model** - the MPI ranks reside on both the host and the coprocessor. Most general MPI case. -### Host-only model +### Host-Only Model In this case all environment variables are set by modules, so to execute the compiled MPI program on a single node, use: @@ -624,7 +624,7 @@ The output should be similar to: Hello world from process 0 of 4 on host cn207 ``` -### Coprocessor-only model +### Coprocessor-Only Model There are two ways how to execute an MPI code on a single coprocessor: 1.) lunch the program using "**mpirun**" from the coprocessor; or 2.) lunch the task using "**mpiexec.hydra**" from a host. @@ -809,7 +809,7 @@ The same way MPI program can be executed on multiple hosts: : -host cn205 -n 6 ~/mpi-test ``` -### Symmetric model +### Symmetric Model In a symmetric mode MPI programs are executed on both host computer(s) and MIC accelerator(s). Since MIC has a different architecture and requires different binary file produced by the Intel compiler two different files has to be compiled before MPI program is executed. diff --git a/docs.it4i/anselm-cluster-documentation/software/isv_licenses.md b/docs.it4i/anselm-cluster-documentation/software/isv_licenses.md index 8ef95f549..316abc9c5 100644 --- a/docs.it4i/anselm-cluster-documentation/software/isv_licenses.md +++ b/docs.it4i/anselm-cluster-documentation/software/isv_licenses.md @@ -1,6 +1,6 @@ # ISV Licenses -## A guide to managing Independent Software Vendor licenses +## a Guide to Managing Independent Software Vendor Licenses 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 restricted only to some users or user groups. @@ -8,17 +8,17 @@ Currently Flex License Manager based licensing is supported on the cluster for p If an ISV application was purchased for educational (research) purposes and also for commercial purposes, then there are always two separate versions maintained and suffix "edu" is used in the name of the non-commercial version. -## Overview of the licenses usage +## Overview of the Licenses Usage !!! Note "Note" The overview is generated every minute and is accessible from web or command line interface. -### Web interface +### Web Interface For each license there is a table, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features <https://extranet.it4i.cz/anselm/licenses> -### Text interface +### Text Interface 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 accessible from the Anselm command prompt. @@ -53,7 +53,7 @@ Example of the Commercial Matlab license state: Statistics_Toolbox 1 0 1 ``` -## License tracking in PBS Pro scheduler and users usage +## License Tracking in PBS Pro Scheduler and Users Usage Each feature of each license is accounted and checked by the scheduler of PBS Pro. If you ask for certain licenses, the scheduler won't start the job until the asked licenses are free (available). This prevents to crash batch jobs, just because of unavailability of the needed licenses. @@ -94,7 +94,7 @@ Example of PBS Pro resource name, based on APP and FEATURE name: **Be aware, that the resource names in PBS Pro are CASE SENSITIVE!** -### Example of qsub statement +### Example of qsub Statement Run an interactive PBS job with 1 Matlab EDU license, 1 Distributed Computing Toolbox and 32 Distributed Computing Engines (running on 32 cores): diff --git a/docs.it4i/anselm-cluster-documentation/software/kvirtualization.md b/docs.it4i/anselm-cluster-documentation/software/kvirtualization.md index 83d142969..259d6b094 100644 --- a/docs.it4i/anselm-cluster-documentation/software/kvirtualization.md +++ b/docs.it4i/anselm-cluster-documentation/software/kvirtualization.md @@ -41,7 +41,7 @@ IT4Innovations does not provide any licenses for operating systems and software !!! Note "Note" Users are responsible for licensing OS e.g. MS Windows and all software running in their virtual machines. -## HOWTO +## Howto ### Virtual Machine Job Workflow @@ -59,7 +59,7 @@ Our recommended solution is that job script creates distinct shared job director 4. Create job script for executing virtual machine 5. Run jobs -### Prepare image of your virtual machine +### Prepare Image of Your Virtual Machine You can either use your existing image or create new image from scratch. @@ -79,7 +79,7 @@ We recommend using advanced QEMU native image format qcow2. [More about QEMU Images](http://en.wikibooks.org/wiki/QEMU/Images) -### Optimize image of your virtual machine +### Optimize Image of Your Virtual Machine Use virtio devices (for disk/drive and network adapter) and install virtio drivers (paravirtualized drivers) into virtual machine. There is significant performance gain when using virtio drivers. For more information see [Virtio Linux](http://www.linux-kvm.org/page/Virtio) and [Virtio Windows](http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers). @@ -91,7 +91,7 @@ Remove all paging space, swap files, partitions, etc. Shrink your image. (It is recommended to zero all free space and reconvert image using qemu-img.) -### Modify your image for running jobs +### Modify Your Image for Running Jobs Your image should run some kind of operating system startup script. Startup script should run application and when application exits run shutdown or quit virtual machine. @@ -146,7 +146,7 @@ Example startup script for Windows virtual machine: Example startup script maps shared job script as drive z: and looks for run script called run.bat. If run script is found it is run else wait for 5 minutes, then shutdown virtual machine. -### Create job script for executing virtual machine +### Create Job Script for Executing Virtual Machine Create job script according recommended @@ -200,7 +200,7 @@ Example run script (run.bat) for Windows virtual machine: Run script runs application from shared job directory (mapped as drive z:), process input data (z:data) from job directory and store output to job directory (z:output). -### Run jobs +### Run Jobs Run jobs as usual, see [Resource Allocation and Job Execution](../../resource-allocation-and-job-execution/introduction/). Use only full node allocation for virtualization jobs. @@ -251,7 +251,7 @@ Thanks to port forwarding you can access virtual machine via SSH (Linux) or RDP !!! Note "Note" Keep in mind, that if you use virtio devices, you must have virtio drivers installed on your virtual machine. -### Networking and data sharing +### Networking and Data Sharing For networking virtual machine we suggest to use (default) user network back-end (sometimes called slirp). This network back-end NATs virtual machines and provides useful services for virtual machines as DHCP, DNS, SMB sharing, port forwarding. @@ -277,7 +277,7 @@ Optimized network setup with sharing and port forwarding $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::2222-:22 ``` -### Advanced networking +### Advanced Networking **Internet access** @@ -393,7 +393,7 @@ Run SMB services Virtual machine can of course have more than one network interface controller, virtual machine can use more than one network back-end. So, you can combine for example use network back-end and TAP interconnect. -### Snapshot mode +### Snapshot Mode In snapshot mode image is not written, changes are written to temporary 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. @@ -402,7 +402,7 @@ In snapshot mode image is not written, changes are written to temporary file (an $ qemu-system-x86_64 ... -snapshot ``` -### Windows guests +### Windows Guests For Windows guests we recommend these options, life will be easier: diff --git a/docs.it4i/anselm-cluster-documentation/software/mpi/Running_OpenMPI.md b/docs.it4i/anselm-cluster-documentation/software/mpi/Running_OpenMPI.md index 2560280b6..7d954569b 100644 --- a/docs.it4i/anselm-cluster-documentation/software/mpi/Running_OpenMPI.md +++ b/docs.it4i/anselm-cluster-documentation/software/mpi/Running_OpenMPI.md @@ -1,10 +1,10 @@ # Running OpenMPI -## OpenMPI program execution +## OpenMPI Program Execution The OpenMPI programs may be executed only via the PBS Workload manager, by entering an appropriate queue. On Anselm, the **bullxmpi-1.2.4.1** and **OpenMPI 1.6.5** are OpenMPI based MPI implementations. -### Basic usage +### Basic Usage !!! Note Use the mpiexec to run the OpenMPI code. @@ -53,7 +53,7 @@ In this example, we assume the executable helloworld_mpi.x is present on compute The mpiprocs and ompthreads parameters allow for selection of number of running MPI processes per node as well as number of OpenMP threads per MPI process. -### One MPI process per node +### One MPI Process Per Node Follow this example to run one MPI process per node, 16 threads per process. @@ -67,7 +67,7 @@ Follow this example to run one MPI process per node, 16 threads per process. In this example, we demonstrate recommended way to run an MPI application, using 1 MPI processes per node and 16 threads per socket, on 4 nodes. -### Two MPI processes per node +### Two MPI Processes Per Node Follow this example to run two MPI processes per node, 8 threads per process. Note the options to mpiexec. @@ -81,7 +81,7 @@ Follow this example to run two MPI processes per node, 8 threads per process. No In this example, we demonstrate recommended way to run an MPI application, using 2 MPI processes per node and 8 threads per socket, each process and its threads bound to a separate processor socket of the node, on 4 nodes -### 16 MPI processes per node +### 16 MPI Processes Per Node Follow this example to run 16 MPI processes per node, 1 thread per process. Note the options to mpiexec. @@ -95,7 +95,7 @@ Follow this example to run 16 MPI processes per node, 1 thread per process. Note In this example, we demonstrate recommended way to run an MPI application, using 16 MPI processes per node, single threaded. Each process is bound to separate processor core, on 4 nodes. -### OpenMP thread affinity +### OpenMP Thread Affinity !!! Note Important! Bind every OpenMP thread to a core! @@ -192,7 +192,7 @@ In this example we run 5 MPI processes (5 ranks) on four nodes. The rankfile def It is users responsibility to provide correct number of ranks, sockets and cores. -### Bindings verification +### Bindings Verification In all cases, binding and threading may be verified by executing for example: diff --git a/docs.it4i/anselm-cluster-documentation/software/mpi/mpi.md b/docs.it4i/anselm-cluster-documentation/software/mpi/mpi.md index ade0bc2e6..dd92c4e68 100644 --- a/docs.it4i/anselm-cluster-documentation/software/mpi/mpi.md +++ b/docs.it4i/anselm-cluster-documentation/software/mpi/mpi.md @@ -1,6 +1,6 @@ # MPI -## Setting up MPI Environment +## Setting Up MPI Environment The Anselm cluster provides several implementations of the MPI library: @@ -115,7 +115,7 @@ It is strongly discouraged to mix mpi implementations. Linking an application wi The MPI program executable must be available within the same path on all nodes. This is automatically fulfilled on the /home and /scratch file system. You need to preload the executable, if running on the local scratch /lscratch file system. -### Ways to run MPI programs +### Ways to Run MPI Programs Optimal way to run an MPI program depends on its memory requirements, memory access pattern and communication pattern. diff --git a/docs.it4i/anselm-cluster-documentation/software/mpi/mpi4py-mpi-for-python.md b/docs.it4i/anselm-cluster-documentation/software/mpi/mpi4py-mpi-for-python.md index c9237a834..9625ed53e 100644 --- a/docs.it4i/anselm-cluster-documentation/software/mpi/mpi4py-mpi-for-python.md +++ b/docs.it4i/anselm-cluster-documentation/software/mpi/mpi4py-mpi-for-python.md @@ -39,7 +39,7 @@ For example ## Examples -### Hello world! +### Hello World! ```cpp from mpi4py import MPI @@ -51,7 +51,7 @@ For example comm.Barrier() # wait for everybody to synchronize ``` -### Collective Communication with NumPy arrays +### Collective Communication With NumPy Arrays ```cpp from mpi4py import MPI diff --git a/docs.it4i/anselm-cluster-documentation/software/mpi/running-mpich2.md b/docs.it4i/anselm-cluster-documentation/software/mpi/running-mpich2.md index 74c882c3b..0d5f59454 100644 --- a/docs.it4i/anselm-cluster-documentation/software/mpi/running-mpich2.md +++ b/docs.it4i/anselm-cluster-documentation/software/mpi/running-mpich2.md @@ -1,10 +1,10 @@ # Running MPICH2 -## MPICH2 program execution +## 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 access compute nodes. On Anselm, the **Intel MPI** and **mpich2 1.9** are MPICH2 based MPI implementations. -### Basic usage +### Basic Usage !!! Note "Note" Use the mpirun to execute the MPICH2 code. @@ -48,7 +48,7 @@ In this example, we assume the executable helloworld_mpi.x is present on shared The mpiprocs and ompthreads parameters allow for selection of number of running MPI processes per node as well as number of OpenMP threads per MPI process. -### One MPI process per node +### One MPI Process Per Node Follow this example to run one MPI process per node, 16 threads per process. Note that no options to mpirun are needed @@ -62,7 +62,7 @@ Follow this example to run one MPI process per node, 16 threads per process. Not In this example, we demonstrate recommended way to run an MPI application, using 1 MPI processes per node and 16 threads per socket, on 4 nodes. -### Two MPI processes per node +### Two MPI Processes Per Node Follow this example to run two MPI processes per node, 8 threads per process. Note the options to mpirun for mvapich2. No options are needed for impi. @@ -76,7 +76,7 @@ Follow this example to run two MPI processes per node, 8 threads per process. No In this example, we demonstrate recommended way to run an MPI application, using 2 MPI processes per node and 8 threads per socket, each process and its threads bound to a separate processor socket of the node, on 4 nodes -### 16 MPI processes per node +### 16 MPI Processes Per Node Follow this example to run 16 MPI processes per node, 1 thread per process. Note the options to mpirun for mvapich2. No options are needed for impi. @@ -90,7 +90,7 @@ Follow this example to run 16 MPI processes per node, 1 thread per process. Note In this example, we demonstrate recommended way to run an MPI application, using 16 MPI processes per node, single threaded. Each process is bound to separate processor core, on 4 nodes. -### OpenMP thread affinity +### OpenMP Thread Affinity !!! Note "Note" Important! Bind every OpenMP thread to a core! @@ -149,7 +149,7 @@ In this example, we see that ranks have been mapped on nodes according to the or The Intel MPI automatically binds each process and its threads to the corresponding portion of cores on the processor socket of the node, no options needed. The binding is primarily controlled by environment variables. Read more about mpi process binding on [Intel website](https://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/Environment_Variables_Process_Pinning.htm). The MPICH2 uses the -bind-to option Use -bind-to numa or -bind-to core to bind the process on single core or entire socket. -### Bindings verification +### Bindings Verification In all cases, binding and threading may be verified by executing diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab.md b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab.md index c65f540e4..602b51b4b 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab.md @@ -39,7 +39,7 @@ To run Matlab in text mode, without the Matlab Desktop GUI environment, use plots, images, etc... will be still available. -## Running parallel Matlab using Distributed Computing Toolbox / Engine +## Running Parallel Matlab Using Distributed Computing Toolbox / Engine !!! Note "Note" Distributed toolbox is available only for the EDU variant @@ -67,7 +67,7 @@ With the new mode, MATLAB itself launches the workers via PBS, so you can either !!! Note "Note" The profile is confusingly named Salomon, but you can use it also on Anselm. -### Parallel Matlab interactive session +### Parallel Matlab Interactive Session 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/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-system/). @@ -88,7 +88,7 @@ Once the access to compute nodes is granted by PBS, user can load following modu r1i0n17$ matlab & ``` -### Parallel Matlab batch job in Local mode +### Parallel Matlab Batch Job in Local Mode To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core. @@ -123,7 +123,7 @@ Submit the jobscript using qsub $ qsub ./jobscript ``` -### Parallel Matlab Local mode program example +### Parallel Matlab Local Mode Program Example The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started. @@ -177,7 +177,7 @@ The complete example showing how to use Distributed Computing Toolbox in local m You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to **total number of cores** available on allocated nodes. -### Parallel Matlab Batch job using PBS mode (workers spawned in a separate job) +### Parallel Matlab Batch Job Using PBS Mode (Workers Spawned in a Separate Job) This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub. @@ -213,7 +213,7 @@ Note that we first construct a cluster object using the imported profile, then s You can start this script using batch mode the same way as in Local mode example. -### Parallel Matlab Batch with direct launch (workers spawned within the existing job) +### Parallel Matlab Batch With Direct Launch (Workers Spawned Within the Existing Job) This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.) @@ -248,13 +248,13 @@ This is an example of m-script using direct mode: delete(pool) ``` -### Non-interactive Session and Licenses +### Non-Interactive Session and Licenses If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the `-l _feature_matlab_MATLAB=1` for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please [look here](../isv_licenses/). In case of non-interactive session please read the [following information](../isv_licenses/) on how to modify the qsub command to test for available licenses prior getting the resource allocation. -### Matlab Distributed Computing Engines start up time +### Matlab Distributed Computing Engines Start Up Time Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table: @@ -271,10 +271,10 @@ UV2000 machine available in queue "qfat" can be used for MATLAB computations. Th You can use MATLAB on UV2000 in two parallel modes: -### Threaded mode +### Threaded Mode Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set maxNumCompThreads accordingly and certain operations, such as fft, , eig, svd, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes. -### Local cluster mode +### Local Cluster Mode You can also use Parallel Toolbox on UV2000. Use l[ocal cluster mode](matlab/#parallel-matlab-batch-job-in-local-mode), "SalomonPBSPro" profile will not work. diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab_1314.md b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab_1314.md index 016aadd2e..d10c114ce 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab_1314.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/matlab_1314.md @@ -43,7 +43,7 @@ $ matlab -nodesktop -nosplash Plots, images, etc... will be still available. -## Running parallel Matlab using Distributed Computing Toolbox / Engine +## Running Parallel Matlab Using Distributed Computing Toolbox / Engine Recommended parallel mode for running parallel Matlab on Anselm is MPIEXEC mode. In this mode user allocates resources through PBS prior to starting Matlab. Once resources are granted the main Matlab instance is started on the first compute node assigned to job by PBS and workers are started on all remaining nodes. User can use both interactive and non-interactive PBS sessions. This mode guarantees that the data processing is not performed on login nodes, but all processing is on compute nodes. @@ -74,7 +74,7 @@ System MPI library allows Matlab to communicate through 40 Gbit/s InfiniBand QDR !!! Note "Note" The path to MPI library in "mpiLibConf.m" has to match with version of loaded Intel MPI module. In this example the version 4.1.1.036 of Intel MPI is used by Matlab and therefore module impi/4.1.1.036 has to be loaded prior to starting Matlab. -### Parallel Matlab interactive session +### Parallel Matlab Interactive Session Once this file is in place, user can request resources from PBS. Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see. @@ -96,7 +96,7 @@ Once the access to compute nodes is granted by PBS, user can load following modu cn79$ matlab & ``` -### Parallel Matlab batch job +### Parallel Matlab Batch Job To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core. @@ -132,7 +132,7 @@ Submit the jobscript using qsub $ qsub ./jobscript ``` -### Parallel Matlab program example +### Parallel Matlab Program Example The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started. @@ -191,13 +191,13 @@ quit You can copy and paste the example in a .m file and execute. Note that the matlabpool size should correspond to **total number of cores** available on allocated nodes. -### Non-interactive Session and Licenses +### Non-Interactive Session and Licenses If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the "` -l __feature__matlab__MATLAB=1`" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please [look here](../isv_licenses/). In case of non-interactive session please read the [following information](../isv_licenses/) on how to modify the qsub command to test for available licenses prior getting the resource allocation. -### Matlab Distributed Computing Engines start up time +### Matlab Distributed Computing Engines Start Up Time Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table: diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/octave.md b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/octave.md index 992bfe162..e043f45a4 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/octave.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/octave.md @@ -12,7 +12,7 @@ Two versions of octave are available on Anselm, via module | Octave 4.0.1, compiled with GCC and Multithreaded MKL | Octave/4.0.1-gimkl-2.11.5 | | Octave 4.0.0, compiled with >GCC and OpenBLAS | Octave/4.0.0-foss-2015g | -## Modules and execution +## Modules and Execution $ module load Octave @@ -62,7 +62,7 @@ Octave may use MPI for interprocess communication This functionality is currentl Octave may take advantage of the Xeon Phi accelerators. This will only work on the [Intel Xeon Phi](../intel-xeon-phi/) [accelerated nodes](../../compute-nodes/). -### Automatic offload support +### Automatic Offload Support Octave can accelerate BLAS type operations (in particular the Matrix Matrix multiplications] on the Xeon Phi accelerator, via [Automatic Offload using the MKL library](../intel-xeon-phi/#section-3) @@ -86,7 +86,7 @@ Example In this example, the calculation was automatically divided among the CPU cores and the Xeon Phi MIC accelerator, reducing the total runtime from 6.3 secs down to 2.9 secs. -### Native support +### Native Support A version of [native](../intel-xeon-phi/#section-4) Octave is compiled for Xeon Phi accelerators. Some limitations apply for this version: diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/r.md b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/r.md index e9ffdfe2b..48ac36cab 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-languages/r.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-languages/r.md @@ -29,7 +29,7 @@ The R version 3.0.1 is available on Anselm, along with GUI interface Rstudio The R on Anselm is linked to highly optimized MKL mathematical library. This provides threaded parallelization to many R kernels, notably the linear algebra subroutines. The R runs these heavy calculation kernels without any penalty. By default, the R would parallelize to 16 threads. You may control the threads by setting the OMP_NUM_THREADS environment variable. -### Interactive execution +### Interactive Execution To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 forwarding. Run rstudio: @@ -38,7 +38,7 @@ To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 $ rstudio ``` -### Batch execution +### Batch Execution To run R in batch mode, write an R script, then write a bash jobscript and execute via the qsub command. By default, R will use 16 threads when running MKL kernels. @@ -72,7 +72,7 @@ This script may be submitted directly to the PBS workload manager via the qsub c Parallel execution of R may be achieved in many ways. One approach is the implied parallelization due to linked libraries or specially enabled functions, as [described above](r/#interactive-execution). In the following sections, we focus on explicit parallelization, where parallel constructs are directly stated within the R script. -## Package parallel +## Package Parallel The package parallel provides support for parallel computation, including by forking (taken from package multicore), by sockets (taken from package snow) and random-number generation. @@ -162,7 +162,7 @@ When using package Rmpi, both openmpi and R modules must be loaded Rmpi may be used in three basic ways. The static approach is identical to executing any other MPI programm. In addition, there is Rslaves dynamic MPI approach and the mpi.apply approach. In the following section, we will use the number Ï€ integration example, to illustrate all these concepts. -### static Rmpi +### Static Rmpi Static Rmpi programs are executed via mpiexec, as any other MPI programs. Number of processes is static - given at the launch time. @@ -220,7 +220,7 @@ Execute the example as: $ mpiexec R --slave --no-save --no-restore -f pi3.R ``` -### dynamic Rmpi +### Dynamic Rmpi Dynamic Rmpi programs are executed by calling the R directly. openmpi module must be still loaded. The R slave processes will be spawned by a function call within the Rmpi program. @@ -359,11 +359,11 @@ Execute the example as: $ R --slave --no-save --no-restore -f pi3parSapply.R ``` -## Combining parallel and Rmpi +## Combining Parallel and Rmpi Currently, the two packages can not be combined for hybrid calculations. -## Parallel execution +## Parallel Execution The R parallel jobs are executed via the PBS queue system exactly as any other parallel jobs. User must create an appropriate jobscript and submit via the **qsub** diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/gsl.md b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/gsl.md index 4295fc5d7..0f21187f2 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/gsl.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/gsl.md @@ -61,7 +61,7 @@ The module sets up environment variables, required for linking and running GSL e Load an appropriate gsl module. Link using **-lgsl** switch to link your code against GSL. The GSL depends on cblas API to BLAS library, which must be supplied for linking. The BLAS may be provided, for example from the MKL library, as well as from the BLAS GSL library (-lgslcblas). Using the MKL is recommended. -### Compiling and linking with Intel compilers +### Compiling and Linking With Intel Compilers ```bash $ module load intel @@ -69,7 +69,7 @@ Load an appropriate gsl module. Link using **-lgsl** switch to link your code ag $ icc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -mkl -lgsl ``` -### Compiling and linking with GNU compilers +### Compiling and Linking With GNU Compilers ```bash $ module load gcc diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md index 5c0c9f27f..6a91d6148 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md @@ -2,7 +2,7 @@ Next generation dense algebra library for heterogeneous systems with accelerators -### Compiling and linking with MAGMA +### Compiling and Linking With MAGMA To be able to compile and link code with MAGMA library user has to load following module: @@ -26,7 +26,7 @@ Compilation example: $ icc -mkl -O3 -DHAVE_MIC -DADD_ -Wall -fPIC -Xlinker -zmuldefs -Wall -DNOCHANGE -DHOST testing_dgetrf_mic.o -o testing_dgetrf_mic $MAGMA_LIBS ``` -### Running MAGMA code +### Running MAGMA Code MAGMA implementation for Intel MIC requires a MAGMA server running on accelerator prior to executing the user application. The server can be started and stopped using following scripts: diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/petsc.md b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/petsc.md index cfdffd82d..5ea0936f7 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/petsc.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/petsc.md @@ -25,7 +25,7 @@ You can start using PETSc on Anselm by loading the PETSc module. Module names ob where `variant` is replaced by one of `{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 debug (`dbg`) variant, because it contains debugging information, performs validations and self-checks, and provides a clear stack trace and message in case of an error. The other two variants `threads-dbg` and `threads-opt` are `dbg` and `opt`, respectively, built with [OpenMP and pthreads threading support](https://www.mcs.anl.gov/petsc/miscellaneous/petscthreads.html). -## External libraries +## External Libraries PETSc needs at least MPI, BLAS and LAPACK. These dependencies are currently satisfied with Intel MPI and Intel MKL in Anselm `petsc` modules. @@ -34,7 +34,7 @@ PETSc can be linked with a plethora of [external numerical libraries](http://www All these libraries can be used also alone, without PETSc. Their static or shared program libraries are available in `$PETSC_DIR/$PETSC_ARCH/lib` and header files in `$PETSC_DIR/$PETSC_ARCH/include`. `PETSC_DIR` and `PETSC_ARCH` are environment variables pointing to a specific PETSc instance based on the petsc module loaded. -### Libraries linked to PETSc on Anselm (as of 11 April 2015) +### Libraries Linked to PETSc on Anselm (As of 11 April 2015) - dense linear algebra - [Elemental](http://libelemental.org/) diff --git a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/trilinos.md b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/trilinos.md index 761a42ca8..0fc553cd6 100644 --- a/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/trilinos.md +++ b/docs.it4i/anselm-cluster-documentation/software/numerical-libraries/trilinos.md @@ -6,7 +6,7 @@ Packages for large scale scientific and engineering problems. Provides MPI and h Trilinos is a collection of software packages for the numerical solution of large scale scientific and engineering problems. It is based on C++ and features modern object-oriented design. Both serial as well as parallel computations based on MPI and hybrid parallelization are supported within Trilinos packages. -### Installed packages +### Installed Packages Current Trilinos installation on ANSELM contains (among others) the following main packages @@ -20,11 +20,11 @@ Current Trilinos installation on ANSELM contains (among others) the following ma For the full list of Trilinos packages, descriptions of their capabilities, and user manuals see [http://trilinos.sandia.gov.](http://trilinos.sandia.gov) -### Installed version +### Installed Version Currently, Trilinos in version 11.2.3 compiled with Intel Compiler is installed on ANSELM. -### Compiling against Trilinos +### Compiling Against Trilinos First, load the appropriate module: diff --git a/docs.it4i/anselm-cluster-documentation/software/nvidia-cuda.md b/docs.it4i/anselm-cluster-documentation/software/nvidia-cuda.md index 84d541474..fe679b595 100644 --- a/docs.it4i/anselm-cluster-documentation/software/nvidia-cuda.md +++ b/docs.it4i/anselm-cluster-documentation/software/nvidia-cuda.md @@ -1,6 +1,6 @@ # NVIDIA CUDA -## A guide to NVIDIA CUDA programming and GPU usage +## a Guide to NVIDIA CUDA Programming and GPU Usage ## CUDA Programming on Anselm @@ -86,7 +86,7 @@ Expected output of the deviceQuery example executed on a node with Tesla K20m is deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.0, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = Tesla K20m ``` -### Code example +### Code Example In this section we provide a basic CUDA based vector addition code example. You can directly copy and paste the code to test it. diff --git a/docs.it4i/anselm-cluster-documentation/software/omics-master/diagnostic-component-team.md b/docs.it4i/anselm-cluster-documentation/software/omics-master/diagnostic-component-team.md index 908641a19..d8d0c4fc4 100644 --- a/docs.it4i/anselm-cluster-documentation/software/omics-master/diagnostic-component-team.md +++ b/docs.it4i/anselm-cluster-documentation/software/omics-master/diagnostic-component-team.md @@ -7,7 +7,7 @@ TEAM is available at the [following address](http://omics.it4i.cz/team/) !!! note The address is accessible only via VPN. -## Diagnostic component +## Diagnostic Component VCF files are scanned by this diagnostic tool for known diagnostic disease-associated variants. When no diagnostic mutation is found, the file can be sent to the disease-causing gene discovery tool to see whether new disease associated variants can be found. diff --git a/docs.it4i/anselm-cluster-documentation/software/omics-master/overview.md b/docs.it4i/anselm-cluster-documentation/software/omics-master/overview.md index 80ae515bd..4db4854d1 100644 --- a/docs.it4i/anselm-cluster-documentation/software/omics-master/overview.md +++ b/docs.it4i/anselm-cluster-documentation/software/omics-master/overview.md @@ -29,7 +29,7 @@ We distinguish three types of sequencing instruments: bench sequencers (MySeq, I low throughput (tens of million reads), and high end sequencers, which produce high throughput (hundreds of million reads) among which we have Illumina HiSeq 2000 (and new models) and SOLiD. All of them but SOLiD produce data in sequence format. SOLiD produces data in a special format called colour space that require of specific software for the mapping process. Once the mapping has been done, the rest of the pipeline is identical. Anyway, SOLiD is a technology which is also about being discontinued by the manufacturer so, this type of data will be scarce in the future. -#### Quality control, preprocessing and statistics for FASTQ +#### Quality Control, Preprocessing and Statistics for FASTQ FastQC& FastQC. @@ -89,7 +89,7 @@ The standard CIGAR description of pairwise alignment defines three operations: BAM is the binary representation of SAM and keeps exactly the same information as SAM. BAM uses lossless compression to reduce the size of the data by about 75% and provides an indexing system that allows reads that overlap a region of the genome to be retrieved and rapidly traversed. -#### Quality control, preprocessing and statistics for BAM +#### Quality Control, Preprocessing and Statistics for BAM ** Component **: Hpg-Fastq & FastQC. @@ -167,9 +167,9 @@ CellBase includes SNPs from dbSNP (16)^; SNP population frequencies from HapMap 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 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 importing Reactome in CellBase. -### [Diagnostic component (TEAM)](diagnostic-component-team/) +### [Diagnostic Component (TEAM)](diagnostic-component-team/) -### [Priorization component (BiERApp)](priorization-component-bierapp/) +### [Priorization Component (BiERApp)](priorization-component-bierapp/) ## Usage @@ -286,7 +286,7 @@ If we want to re-launch the pipeline from stage 4 until stage 20 we should use t $ ngsPipeline -i /scratch/$USER/omics/sample_data/data -o /scratch/$USER/omics/results -p /scratch/$USER/omics/sample_data/data/file.ped -s 4 -e 20 --project OPEN-0-0 --queue qprod ``` -## Details on the pipeline +## Details on the Pipeline The pipeline calls the following tools diff --git a/docs.it4i/anselm-cluster-documentation/software/openfoam.md b/docs.it4i/anselm-cluster-documentation/software/openfoam.md index bd7cc12c2..a39ba70ef 100644 --- a/docs.it4i/anselm-cluster-documentation/software/openfoam.md +++ b/docs.it4i/anselm-cluster-documentation/software/openfoam.md @@ -1,6 +1,6 @@ # OpenFOAM -## A free, open source CFD software package +## a Free, Open Source CFD Software Package ## Introduction @@ -8,7 +8,7 @@ OpenFOAM is a free, open source CFD software package developed by [**OpenCFD Ltd Homepage: <http://www.openfoam.com/> -### Installed version +### Installed Version Currently, several version compiled by GCC/ICC compilers in single/double precision with several version of openmpi are available on Anselm. @@ -27,7 +27,7 @@ openfoam\<VERSION\>-\<COMPILER\>\<openmpiVERSION\>-\<PRECISION\> - \<openmpiVERSION\> - version of used openmpi/impi - \<PRECISION\> - DP/SP – double/single precision -### Available OpenFOAM modules +### Available OpenFOAM Modules To check available modules use @@ -114,7 +114,7 @@ Job submission For information about job submission please [look here](../resource-allocation-and-job-execution/job-submission-and-execution/ "Job submission"). -## Running applications in parallel +## Running Applications in Parallel Run the second case for example external incompressible turbulent flow - case - motorBike. @@ -178,7 +178,7 @@ Job submission $ qsub testParallel.pbs ``` -## Compile your own solver +## Compile Your Own Solver Initialize OpenFOAM environment before compiling your solver diff --git a/docs.it4i/anselm-cluster-documentation/software/paraview.md b/docs.it4i/anselm-cluster-documentation/software/paraview.md index 406fc0e9b..62670987b 100644 --- a/docs.it4i/anselm-cluster-documentation/software/paraview.md +++ b/docs.it4i/anselm-cluster-documentation/software/paraview.md @@ -1,6 +1,6 @@ # ParaView -## An open-source, multi-platform data analysis and visualization application +## an Open-Source, Multi-Platform Data Analysis and Visualization Application ## Introduction @@ -10,7 +10,7 @@ ParaView was developed to analyze extremely large datasets using distributed mem Homepage : <http://www.paraview.org/> -## Installed version +## Installed Version Currently, version 4.0.1 compiled with GCC 4.8.1 against Bull MPI library and OSMesa 10.0 is installed on Anselm. @@ -18,7 +18,7 @@ Currently, version 4.0.1 compiled with GCC 4.8.1 against Bull MPI library and OS On Anselm, ParaView is to be used in client-server mode. A parallel ParaView server is launched on compute nodes by the user, and client is launched on your desktop PC to control and view the visualization. Download ParaView client application for your OS here: <http://paraview.org/paraview/resources/software.php>. Important : **your version must match the version number installed on Anselm** ! (currently v4.0.1) -### Launching server +### Launching Server To launch the server, you must first allocate compute nodes, for example @@ -45,7 +45,7 @@ Now launch the parallel server, with number of nodes times 16 processes: Note the that the server is listening on compute node cn77 in this case, we shall use this information later. -### Client connection +### Client Connection Because a direct connection is not allowed to compute nodes on Anselm, you must establish a SSH tunnel to connect to the server. Choose a port number on your PC to be forwarded to ParaView server, for example 12345. If your PC is running Linux, use this command to establish a SSH tunnel: @@ -70,10 +70,10 @@ Click Configure, Save, the configuration is now saved for later use. Now click C You can now use Parallel ParaView. -### Close server +### Close Server Remember to close the interactive session after you finish working with ParaView server, as it will remain launched even after your client is disconnected and will continue to consume resources. -## GPU support +## GPU Support Currently, GPU acceleration is not supported in the server and ParaView will not take advantage of accelerated nodes on Anselm. Support for GPU acceleration might be added in the future. diff --git a/docs.it4i/anselm-cluster-documentation/storage.md b/docs.it4i/anselm-cluster-documentation/storage.md index 5f83eabea..7c3b9ef74 100644 --- a/docs.it4i/anselm-cluster-documentation/storage.md +++ b/docs.it4i/anselm-cluster-documentation/storage.md @@ -153,7 +153,7 @@ The SCRATCH filesystem is realized as Lustre parallel filesystem and is availabl | Default stripe count | 1 | | Number of OSTs | 10 | -### Disk usage and quota commands +### Disk Usage and Quota Commands User quotas on the file systems can be checked and reviewed using following command: @@ -280,7 +280,7 @@ The local scratch filesystem is intended for temporary scratch data generated d | Throughput | 100MB/s | | User quota | none | -### RAM disk +### RAM Disk Every computational node is equipped with filesystem realized in memory, so called RAM disk. @@ -302,7 +302,7 @@ The local RAM disk filesystem is intended for temporary scratch data generated d | Throughput | over 1.5 GB/s write, over 5 GB/s read, single thread, over 10 GB/s write, over 50 GB/s read, 16 threads | | User quota | none | -### tmp +### Tmp Each node is equipped with local /tmp directory of few GB capacity. The /tmp directory should be used to work with small temporary files. Old files in /tmp directory are automatically purged. @@ -335,9 +335,9 @@ 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 access +## CESNET Storage Access -### Understanding CESNET storage +### Understanding CESNET Storage !!! Note "Note" 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. @@ -389,7 +389,7 @@ Once done, please remember to unmount the storage $ fusermount -u cesnet ``` -### Rsync access +### Rsync Access !!! Note "Note" Rsync provides delta transfer for best performance, can resume interrupted transfers diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md index f1c3573a8..5d6877d3b 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md @@ -6,7 +6,7 @@ The X Window system is a principal way to get GUI access to the clusters. Read more about configuring [**X Window System**](x-window-system/). -## VNC +## 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 (RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol") to remotely control another [computer](http://en.wikipedia.org/wiki/Computer "Computer"). diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md index 0e566755b..5ed9f564c 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md @@ -4,7 +4,7 @@ The **Virtual Network Computing** (**VNC**) is a graphical [desktop sharing](htt The recommended clients are [TightVNC](http://www.tightvnc.com) or [TigerVNC](http://sourceforge.net/apps/mediawiki/tigervnc/index.php?title=Main_Page) (free, open source, available for almost any platform). -## Create VNC password +## Create VNC Password !!! Note "Note" Local VNC password should be set before the first login. Do use a strong password. @@ -15,7 +15,7 @@ Password: Verify: ``` -## Start vncserver +## Start Vncserver !!! Note "Note" To access VNC a local vncserver must be started first and also a tunnel using SSH port forwarding must be established. @@ -66,7 +66,7 @@ To access the VNC server you have to create a tunnel between the login node usin !!! Note "Note" The tunnel must point to the same login node where you launched the VNC server, eg. login2. If you use just cluster-name.it4i.cz, the tunnel might point to a different node due to DNS round robin. -## Linux/Mac OS example of creating a tunnel +## Linux/Mac OS Example of Creating a Tunnel At your machine, create the tunnel: @@ -105,7 +105,7 @@ You have to destroy the SSH tunnel which is still running at the background afte kill 2022 ``` -## Windows example of creating a tunnel +## Windows Example of Creating a Tunnel Use PuTTY to log in on cluster. @@ -128,25 +128,25 @@ Fill the Source port and Destination fields. **Do not forget to click the Add bu Run the VNC client of your choice, select VNC server 127.0.0.1, port 5961 and connect using VNC password. -## Example of starting TigerVNC viewer +## Example of Starting TigerVNC Viewer  In this example, we connect to VNC server on port 5961, via the ssh tunnel, using TigerVNC viewer. The connection is encrypted and secured. The VNC server listening on port 5961 provides screen of 1600x900 pixels. -## Example of starting TightVNC Viewer +## Example of Starting TightVNC Viewer Use your VNC password to log using TightVNC Viewer and start a Gnome Session on the login node.  -## Gnome session +## Gnome Session You should see after the successful login.  -## Disable your Gnome session screensaver +## Disable Your Gnome Session Screensaver Open Screensaver preferences dialog: @@ -156,7 +156,7 @@ Uncheck both options below the slider:  -## Kill screensaver if locked screen +## Kill Screensaver if Locked Screen If the screen gets locked you have to kill the screensaver. Do not to forget to disable the screensaver then. @@ -168,7 +168,7 @@ username 24316 0.0 0.0 270564 3528 ? Ss 14:12 0:00 gnome-scree [username@login2 .vnc]$ kill 24316 ``` -## Kill vncserver after finished work +## Kill Vncserver After Finished Work You should kill your VNC server using command: @@ -184,7 +184,7 @@ Or this way: [username@login2 .vnc]$ pkill vnc ``` -## GUI applications on compute nodes over VNC +## GUI Applications on Compute Nodes Over VNC The very same methods as described above, may be used to run the GUI applications on compute nodes. However, for maximum performance, proceed following these steps: diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md index d305cb02b..e6d6d37a0 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.md @@ -5,7 +5,7 @@ The X Window system is a principal way to get GUI access to the clusters. The ** !!! tip The X display forwarding must be activated and the X server running on client side -## X display +## X Display In order to display graphical user interface GUI of various software tools, you need to enable the X display forwarding. On Linux and Mac, log in using the -X option tho ssh client: @@ -86,7 +86,7 @@ $ ssh -X r24u35n680 In this example, we log in on the r24u35n680 compute node, with the X11 forwarding enabled. -## The Gnome GUI Environment +## the Gnome GUI Environment The Gnome 2.28 GUI environment is available on the clusters. We recommend to use separate X server window for displaying the Gnome environment. @@ -130,7 +130,7 @@ In this way, we run remote gnome session on the cluster, displaying it in the lo Use System-Log Out to close the gnome-session -### If no able to forward X11 using PuTTY to CygwinX +### if No Able to Forward X11 Using PuTTY to CygwinX ```bash [usename@login1.anselm ~]$ gnome-session & diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/introduction.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/introduction.md index 31ca54a28..ed4dd2c5e 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/introduction.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/introduction.md @@ -9,7 +9,7 @@ The IT4Innovations clusters are accessed by SSH protocol via login nodes. On **Windows**, use [PuTTY ssh client](shell-access-and-data-transfer/putty/). -## SSH keys +## SSH Keys Read more about [SSH keys management](shell-access-and-data-transfer/ssh-keys/). @@ -19,6 +19,6 @@ Read more about [X Window System](./graphical-user-interface/x-window-system/). Read more about [Virtual Network Computing (VNC)](./graphical-user-interface/vnc/). -## Accessing IT4Innovations internal resources via VPN +## Accessing IT4Innovations Internal Resources via VPN Read more about [VPN Access](vpn-access/). diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md index 9672a2d38..0ab1e6ef7 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.md @@ -13,7 +13,7 @@ We recommned you to download "**A Windows installer for everything except PuTTYt "Pageant" is optional. -## PuTTY - how to connect to the IT4Innovations cluster +## PuTTY - How to Connect to the IT4Innovations Cluster - Run PuTTY - Enter Host name and Save session fields with [Login address](../../../salomon/shell-and-data-access.md) 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 login each time.In this example we will connect to the Salomon cluster using **"salomon.it4i.cz"**. @@ -44,7 +44,7 @@ We recommned you to download "**A Windows installer for everything except PuTTYt - Category - Terminal - Features and select **Disable application keypad mode** (enable numpad) - Save your configuration on Session page in to Default Settings with _Save_ button. -## Pageant SSH agent +## Pageant SSH Agent Pageant holds your private key in memory without needing to retype a passphrase on every login. @@ -55,7 +55,7 @@ Pageant holds your private key in memory without needing to retype a passphrase  -## PuTTY key generator +## 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. @@ -71,7 +71,7 @@ You can change the password of your SSH key with "PuTTY Key Generator". Make sur  -### Generate a New Public/Private key +### Generate a New Public/Private Key You can generate an additional public/private key pair and insert public key into authorized_keys file for authentication with your own private key. diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md index 95c3027d2..36af58cc1 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md @@ -1,6 +1,6 @@ # OpenSSH Keys (UN\*X) -## Key management +## Key Management After logging in, you can see .ssh/ directory with SSH keys and authorized_keys file: @@ -19,7 +19,7 @@ After logging in, you can see .ssh/ directory with SSH keys and authorized_keys !!! Hint Private keys in .ssh directory are without passphrase and allow you to connect within the cluster. -## Access privileges on .ssh folder +## Access Privileges on .Ssh Folder - .ssh directory: 700 (drwx------) - Authorized_keys, known_hosts and public key (.pub file): 644 (-rw-r--r--) @@ -35,7 +35,7 @@ After logging in, you can see .ssh/ directory with SSH keys and authorized_keys chmod 600 .ssh/id_rsa.ppk ``` -## Private key +## Private Key !!! Note "Note" The path to a private key is usually /home/username/.ssh/ @@ -74,7 +74,7 @@ An example of private key format: -----END RSA PRIVATE KEY----- ``` -## Public key +## Public Key Public key file in "\*.pub" format is used to verify a digital signature. Public key is present on the remote side and allows access to the owner of the matching private key. @@ -84,7 +84,7 @@ An example of public key format: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpujuOiTKCcGkbbBhrk0Hjmezr5QpM0swscXQE7fOZG0oQSURoapd9tjC9eVy5FvZ339jl1WkJkdXSRtjc2G1U5wQh77VE5qJT0ESxQCEw0S+CItWBKqXhC9E7gFY+UyP5YBZcOneh6gGHyCVfK6H215vzKr3x+/WvWl5gZGtbf+zhX6o4RJDRdjZPutYJhEsg/qtMxcCtMjfm/dZTnXeafuebV8nug3RCBUflvRb1XUrJuiX28gsd4xfG/P6L/mNMR8s4kmJEZhlhxpj8Th0iIc+XciVtXuGWQrbddcVRLxAmvkYAPGnVVOQeNj69pqAR/GXaFAhvjYkseEowQao1 username@organization.example.com ``` -## How to add your own key +## How to Add Your Own Key First, generate a new keypair of your public and private key: @@ -105,6 +105,6 @@ Example: In this example, we add an additional public key, stored in file additional_key.pub into the authorized_keys. Next time we log in, we will be able to use the private addtional_key key to log in. -## How to remove your own key +## How to Remove Your Own Key Removing your key from authorized_keys can be done simply by deleting the corresponding public key which can be identified by a comment at the end of line (eg. _username@organization.example.com_). diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md index decb2210f..f6c526e40 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/vpn-connection-fail-in-win-8.1.md @@ -1,6 +1,6 @@ # VPN - Connection fail in Win 8.1 -## Failed to initialize connection subsystem Win 8.1 - 02-10-15 MS patch +## 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 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. diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn-access.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn-access.md index 2e6348e5d..6c1e908d9 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn-access.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn-access.md @@ -1,6 +1,6 @@ # VPN Access -## Accessing IT4Innovations internal resources via VPN +## Accessing IT4Innovations Internal Resources via VPN For using resources and licenses which are located at IT4Innovations local network, it is necessary to VPN connect to this network. We use Cisco AnyConnect Secure Mobility Client, which is supported on the following operating systems: @@ -13,7 +13,7 @@ For using resources and licenses which are located at IT4Innovations local netwo It is impossible to connect to VPN from other operating systems. -## VPN client installation +## VPN Client Installation You can install VPN client from web interface after successful login with LDAP credentials on address <https://vpn.it4i.cz/user> @@ -39,7 +39,7 @@ After you click on the link, download of installation file will start. After successful download of installation file, you have to execute this tool with administrator's rights and install VPN client manually. -## Working with VPN client +## Working With VPN Client You can use graphical user interface or command line interface to run VPN client on all supported operating systems. We suggest using GUI. diff --git a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn1-access.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn1-access.md index 040ffe814..d1b5cdb19 100644 --- a/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn1-access.md +++ b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/vpn1-access.md @@ -1,6 +1,6 @@ # VPN Access -## Accessing IT4Innovations internal resources via VPN +## Accessing IT4Innovations Internal Resources via VPN !!! Note "Note" **Failed to initialize connection subsystem Win 8.1 - 02-10-15 MS patch** @@ -18,7 +18,7 @@ For using resources and licenses which are located at IT4Innovations local netwo It is impossible to connect to VPN from other operating systems. -## VPN client installation +## VPN Client Installation You can install VPN client from web interface after successful login with LDAP credentials on address <https://vpn1.it4i.cz/anselm> @@ -46,7 +46,7 @@ After you click on the link, download of installation file will start. After successful download of installation file, you have to execute this tool with administrator's rights and install VPN client manually. -## Working with VPN client +## Working With VPN Client You can use graphical user interface or command line interface to run VPN client on all supported operating systems. We suggest using GUI. diff --git a/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md b/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md index 5de00c5ed..b4d4ceda0 100644 --- a/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md +++ b/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md @@ -2,7 +2,7 @@ FAQ about certificates in general -## Q: What are certificates? +## Q: What Are Certificates? IT4Innovations employs X.509 certificates for secure communication (e. g. credentials exchange) and for grid services related to PRACE, as they present a single method of authentication for all PRACE services, where only one password is required. @@ -15,25 +15,25 @@ There are different kinds of certificates, each with a different scope of use. W However, users need only manage User and CA certificates. Note that your user certificate is protected by an associated private key, and this **private key must never be disclosed**. -## Q: Which X.509 certificates are recognised by IT4Innovations? +## Q: Which X.509 Certificates Are Recognised by IT4Innovations? [The Certificates for Digital Signatures](obtaining-login-credentials/#the-certificates-for-digital-signatures). -## Q: How do I get a User Certificate that can be used with IT4Innovations? +## Q: How Do I Get a User Certificate That Can Be Used With IT4Innovations? To get a certificate, you must make a request to your local, IGTF approved, Certificate Authority (CA). Usually you then must visit, in person, your nearest Registration Authority (RA) to verify your affiliation and identity (photo identification is required). Usually, you will then be emailed details on how to retrieve your certificate, although procedures can vary between CAs. If you are in Europe, you can locate [your trusted CA](www.eugridpma.org/members/worldmap). In some countries certificates can also be retrieved using the TERENA Certificate Service, see the FAQ below for the link. -## Q: Does IT4Innovations support short lived certificates (SLCS)? +## Q: Does IT4Innovations Support Short Lived Certificates (SLCS)? Yes, provided that the CA which provides this service is also a member of IGTF. -## Q: Does IT4Innovations support the TERENA certificate service? +## Q: Does IT4Innovations Support the TERENA Certificate Service? Yes, ITInnovations supports TERENA eScience personal certificates. For more information, please visit [TCS - Trusted Certificate Service](https://tcs-escience-portal.terena.org/), where you also can find if your organisation/country can use this service -## Q: What format should my certificate take? +## Q: What Format Should My Certificate Take? User Certificates come in many formats, the three most common being the ’PKCS12’, ’PEM’ and the JKS formats. @@ -47,7 +47,7 @@ JKS is the Java KeyStore and may contain both your personal certificate with you To convert your Certificate from p12 to JKS, IT4Innovations recommends using the keytool utiliy (see separate FAQ entry). -## Q: What are CA certificates? +## Q: What Are CA Certificates? Certification Authority (CA) certificates are used to verify the link between your user certificate and the authority which issued it. They are also used to verify the link between the host certificate of a IT4Innovations server and the CA which issued that certificate. In essence they establish a chain of trust between you and the target server. Thus, for some grid services, users must have a copy of all the CA certificates. @@ -63,7 +63,7 @@ Lastly, if you need the CA certificates for a personal Globus 5 installation, th If you run this command as ’root’, then it will install the certificates into /etc/grid-security/certificates. If you run this not as ’root’, then the certificates will be installed into $HOME/.globus/certificates. For Globus, you can download the globuscerts.tar.gz packet [available here](https://winnetou.surfsara.nl/prace/certs/). -## Q: What is a DN and how do I find mine? +## Q: What Is a DN and How Do I Find Mine? DN stands for Distinguished Name and is part of your user certificate. IT4Innovations needs to know your DN to enable your account to use the grid services. You may use openssl (see below) to determine your DN or, if your browser contains your user certificate, you can extract your DN from your browser. @@ -71,7 +71,7 @@ For Internet Explorer users, the DN is referred to as the "subject" of your cert For users running Firefox under Windows, the DN is referred to as the "subject" of your certificate. ToolsOptionsAdvancedEncryptionView Certificates. Highlight your name and then Click ViewDetailsSubject. -## Q: How do I use the openssl tool? +## Q: How Do I Use the Openssl Tool? The following examples are for Unix/Linux operating systems only. @@ -106,7 +106,7 @@ To check your certificate (e.g., DN, validity, issuer, public key algorithm, etc To download openssl if not pre-installed, [please visit](https://www.openssl.org/source/). On Macintosh Mac OS X computers openssl is already pre-installed and can be used immediately. -## Q: How do I create and then manage a keystore? +## Q: How Do I Create and Then Manage a Keystore? IT4innovations recommends the java based keytool utility to create and manage keystores, which themselves are stores of keys and certificates. For example if you want to convert your pkcs12 formatted key pair into a java keystore you can use the following command. @@ -128,7 +128,7 @@ where $mydomain.crt is the certificate of a trusted signing authority (CA) and $ More information on the tool can be found [here](http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html) -## Q: How do I use my certificate to access 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 format of your certificate depends on the grid Service you wish to employ. @@ -138,7 +138,7 @@ If the grid service is UNICORE, then you bind your certificate, in either the p1 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 in the "$HOME/.globus" directory for Linux and Mac users or %HOMEPATH%.globus for Windows users. (Windows users will have to use the DOS command ’cmd’ to create a directory which starts with a ’.’). Further, user certificates should be named either "usercred.p12" or "usercert.pem" and "userkey.pem", and the CA certificates must be kept in a pre-specified directory as follows. For Linux and Mac users, this directory is either $HOME/.globus/certificates or /etc/grid-security/certificates. For Windows users, this directory is %HOMEPATH%.globuscertificates. (If you are using GSISSH-Term from prace-ri.eu then you do not have to create the .globus directory nor install CA certificates to use this tool alone). -## Q: How do I manually import my certificate into my browser? +## Q: How Do I Manually Import My Certificate Into My Browser? If you employ the Firefox browser, then you can import your certificate by first choosing the "Preferences" window. For Windows, this is ToolsOptions. For Linux, this is EditPreferences. For Mac, this is FirefoxPreferences. Then, choose the "Advanced" button; followed by the "Encryption" tab. Then, choose the "Certificates" panel; select the option "Select one automatically" if you have only one certificate, or "Ask me every time" if you have more then one. Then click on the "View Certificates" button to open the "Certificate Manager" window. You can then select the "Your Certificates" tab and click on button "Import". Then locate the PKCS12 (.p12) certificate you wish to import, and employ its associated password. @@ -146,14 +146,14 @@ If you are a Safari user, then simply open the "Keychain Access" application and If you are an Internet Explorer user, click StartSettingsControl Panel and then double-click on Internet. On the Content tab, click Personal, and then click Import. In the Password box, type your password. NB you may be prompted multiple times for your password. In the "Certificate File To Import" box, type the filename of the certificate you wish to import, and then click OK. Click Close, and then click OK. -## Q: What is a proxy certificate? +## Q: What Is a Proxy Certificate? A proxy certificate is a short-lived certificate which may be employed by UNICORE and the Globus services. The proxy certificate consists of a new user certificate and a newly generated proxy private key. This proxy typically has a rather short lifetime (normally 12 hours) and often only allows a limited delegation of rights. Its default location, for Unix/Linux, is /tmp/x509_u_uid_ but can be set via the $X509_USER_PROXY environment variable. -## Q: What is the MyProxy service? +## Q: What Is the MyProxy Service? [The MyProxy Service](http://grid.ncsa.illinois.edu/myproxy/) , 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 time of storage. This is beneficial to Globus users as they do not have 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 access 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 certificate and to supply you with a new one. In addition, please report this to IT4Innovations by contacting [the support team](https://support.it4i.cz/rt). diff --git a/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md b/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md index d252c6766..ee950af44 100644 --- a/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md +++ b/docs.it4i/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md @@ -15,7 +15,7 @@ Head of Supercomputing Services acts as a PI of a project DD-13-5. Joining this The PI is authorized to use the clusters by the allocation decision issued by the Allocation Committee.The PI will be informed by IT4I about the Allocation Committee decision. -## Authorization by web +## Authorization by Web !!! warning **Only** for those who already have their IT4I HPC account. This is a preferred way of granting access to project resources. Please, use this method whenever it's possible. @@ -27,7 +27,7 @@ Log in to the [IT4I Extranet portal](https://extranet.it4i.cz) using IT4I creden - **Users:** Please, submit your requests for becoming a project member. - **Primary Investigators:** Please, approve or deny users' requests in the same section. -## Authorization by e-mail (an alternative approach) +## Authorization by E-Mail (An Alternative Approach) In order to authorize a Collaborator to utilize the allocated resources, the PI should contact the [IT4I support](https://support.it4i.cz/rt/) (E-mail: [support\[at\]it4i.cz](mailto:support@it4i.cz)) and provide following information: @@ -55,7 +55,7 @@ Example (except the subject line which must be in English, you may use Czech or Should the above information be provided by e-mail, the e-mail **must be** digitally signed. Read more on [digital signatures](obtaining-login-credentials/#the-certificates-for-digital-signatures) below. -## The Login Credentials +## the Login Credentials Once authorized by PI, every person (PI or Collaborator) wishing to access the clusters, should contact the [IT4I support](https://support.it4i.cz/rt/) (E-mail: [support\[at\]it4i.cz](mailto:support@it4i.cz)) providing following information: @@ -114,7 +114,7 @@ On Windows, use [PuTTY Key Generator](../accessing-the-clusters/shell-access-and Change password in [your user profile](https://extranet.it4i.cz/user/). -## The Certificates for Digital Signatures +## the Certificates for Digital Signatures We accept personal certificates issued by any widely respected certification authority (CA). This includes certificates by CAs organized in [International Grid Trust Federation](http://www.igtf.net/), its European branch [EUGridPMA](https://www.eugridpma.org/) and its member organizations, e.g. the [CESNET certification authority](https://tcs.cesnet.cz). The Czech _"Qualified certificate" (Kvalifikovaný certifikát)_ provided by [PostSignum](http://www.postsignum.cz/) or [I.CA](http://www.ica.cz/Kvalifikovany-certifikat.aspx), that is used in electronic contact with Czech authorities is accepted as well. diff --git a/docs.it4i/index.md b/docs.it4i/index.md index 3d1ab5852..5041509bc 100644 --- a/docs.it4i/index.md +++ b/docs.it4i/index.md @@ -2,7 +2,7 @@ Welcome to IT4Innovations documentation pages. The IT4Innovations national supercomputing center operates supercomputers [Salomon](/salomon/introduction/) and [Anselm](/anselm-cluster-documentation/introduction/). The supercomputers are [available](get-started-with-it4innovations/applying-for-resources/) to academic community within the Czech Republic and Europe and industrial community worldwide. The purpose of these pages is to provide a comprehensive documentation on hardware, software and usage of the computers. -## How to read the documentation +## How to Read the Documentation 1. Read the list in the left column. Select the subject of interest. Alternatively, use the Search in the upper right corner. 2. Scan for all the notes and reminders on the page. diff --git a/docs.it4i/salomon/7d-enhanced-hypercube.md b/docs.it4i/salomon/7d-enhanced-hypercube.md index 1c3d4fafb..111510100 100644 --- a/docs.it4i/salomon/7d-enhanced-hypercube.md +++ b/docs.it4i/salomon/7d-enhanced-hypercube.md @@ -1,6 +1,6 @@ # 7D Enhanced Hypercube -### 7D Enhanced Hypercube {#d-enhanced-hypercube} +### 7D Enhanced Hypercube {#D-Enhanced-Hypercube}  diff --git a/docs.it4i/salomon/capacity-computing.md b/docs.it4i/salomon/capacity-computing.md index 2f2a7308b..90dfc25cd 100644 --- a/docs.it4i/salomon/capacity-computing.md +++ b/docs.it4i/salomon/capacity-computing.md @@ -18,7 +18,7 @@ However, executing huge number of jobs via the PBS queue may strain the system. 1. A user is allowed to submit at most 100 jobs. Each job may be [a job array](capacity-computing/#job-arrays). 2. The array size is at most 1000 subjobs. -## Job arrays +## Job Arrays !!! Note "Note" Huge number of jobs may be easily submitted and managed as a job array. @@ -74,7 +74,7 @@ In this example, the submit directory holds the 900 input files, executable mypr If huge number of parallel multicore (in means of multinode multithread, e. g. MPI enabled) jobs is needed to run, then a job array approach should also be used. The main difference compared to previous example using one node is that the local scratch should not be used (as it's not shared between nodes) and MPI or other technique for parallel multinode run has to be used properly. -### Submit the job array +### Submit the Job Array To submit the job array, use the qsub -J command. The 900 jobs of the [example above](capacity-computing/#array_example) may be submitted like this: @@ -93,7 +93,7 @@ $ qsub -N JOBNAME -J 9-10:2 jobscript This will only choose the lower index (9 in this example) for submitting/running your job. -### Manage the job array +### Manage the Job Array Check status of the job array by the qstat command. @@ -149,7 +149,7 @@ $ qstat -u $USER -tJ Read more on job arrays in the [PBSPro Users guide](../../pbspro-documentation/). -## GNU parallel +## GNU Parallel !!! Note "Note" Use GNU parallel to run many single core tasks on one node. @@ -163,7 +163,7 @@ $ module add parallel $ man parallel ``` -### GNU parallel jobscript +### GNU Parallel jobscript The GNU parallel shell executes multiple instances of the jobscript using all cores on the node. The instances execute different work, controlled by the $PARALLEL_SEQ variable. @@ -207,7 +207,7 @@ cp output $PBS_O_WORKDIR/$TASK.out In this example, tasks from tasklist are executed via the GNU parallel. The jobscript executes multiple instances of itself in parallel, on all cores of the node. Once an instace of jobscript is finished, new instance starts until all entries in tasklist are processed. Currently processed entry of the joblist may be retrieved via $1 variable. Variable $TASK expands to one of the input filenames from tasklist. We copy the input file to local scratch, execute the myprog.x and copy the output file back to the submit directory, under the $TASK.out name. -### Submit the job +### Submit the Job To submit the job, use the qsub command. The 101 tasks' job of the [example above](capacity-computing/#gp_example) may be submitted like this: @@ -220,7 +220,7 @@ In this example, we submit a job of 101 tasks. 24 input files will be processed Please note the #PBS directives in the beginning of the jobscript file, dont' forget to set your valid PROJECT_ID and desired queue. -## Job arrays and GNU parallel +## Job Arrays and GNU Parallel !!! Note "Note" Combine the Job arrays and GNU parallel for best throughput of single core jobs @@ -230,7 +230,7 @@ While job arrays are able to utilize all available computational nodes, the GNU !!! Note "Note" Every subjob in an array runs GNU parallel to utilize all cores on the node -### GNU parallel, shared jobscript +### GNU Parallel, Shared jobscript Combined approach, very similar to job arrays, can be taken. Job array is submitted to the queuing system. The subjobs run GNU parallel. The GNU parallel shell executes multiple instances of the jobscript using all cores on the node. The instances execute different work, controlled by the $PBS_JOB_ARRAY and $PARALLEL_SEQ variables. @@ -291,7 +291,7 @@ When deciding this values, think about following guiding rules : 2. Number of tasks should be modulo 24. 3. These rules are valid only when all tasks have similar task walltimes T. -### Submit the job array +### Submit the Job Array To submit the job array, use the qsub -J command. The 992 tasks' job of the [example above](capacity-computing/#combined_example) may be submitted like this: diff --git a/docs.it4i/salomon/compute-nodes.md b/docs.it4i/salomon/compute-nodes.md index 26e1541ca..ddcc4dc55 100644 --- a/docs.it4i/salomon/compute-nodes.md +++ b/docs.it4i/salomon/compute-nodes.md @@ -32,7 +32,7 @@ Compute nodes with MIC accelerator **contains two Intel Xeon Phi 7120P accelerat  -### UV 2000 +### Uv 2000 - codename "UV2000" - 1 node diff --git a/docs.it4i/salomon/hardware-overview.md b/docs.it4i/salomon/hardware-overview.md index d888d314a..c20234030 100644 --- a/docs.it4i/salomon/hardware-overview.md +++ b/docs.it4i/salomon/hardware-overview.md @@ -10,7 +10,7 @@ The Salomon cluster consists of 1008 computational nodes of which 576 are regula The parameters are summarized in the following tables: -## General information +## General Information | **In general** | | | ------------------------------------------- | ------------------------------------------- | @@ -29,7 +29,7 @@ The parameters are summarized in the following tables: | Total theoretical peak performance (Rpeak) | 2011 TFLOP/s | | Total amount of RAM | 129.024 TB | -## Compute nodes +## Compute Nodes | Node | Count | Processor | Cores | Memory | Accelerator | | --------------- | ----- | --------------------------------- | ----- | ------ | --------------------------------------------- | @@ -38,7 +38,7 @@ The parameters are summarized in the following tables: For more details please refer to the [Compute nodes](compute-nodes/). -## Remote visualization nodes +## Remote Visualization Nodes For remote visualization two nodes with NICE DCV software are available each configured: @@ -46,7 +46,7 @@ For remote visualization two nodes with NICE DCV software are available each con | ------------- | ----- | --------------------------------- | ----- | ------ | ----------------------------- | | visualization | 2 | 2 x Intel Xeon E5-2695v3, 2.3 GHz | 28 | 512 GB | NVIDIA QUADRO K5000, 4 GB RAM | -## SGI UV 2000 +## SGI Uv 2000 For large memory computations a special SMP/NUMA SGI UV 2000 server is available: diff --git a/docs.it4i/salomon/ib-single-plane-topology.md b/docs.it4i/salomon/ib-single-plane-topology.md index d654fe45c..7ba5d80bc 100644 --- a/docs.it4i/salomon/ib-single-plane-topology.md +++ b/docs.it4i/salomon/ib-single-plane-topology.md @@ -8,7 +8,7 @@ The SGI ICE X IB Premium Blade provides the first level of interconnection via d - 3 ports on each chip provide connectivity between the chips - 24 ports from each switch chip connect to the external bulkhead, for a total of 48 -### IB single-plane topology - ICEX M-Cell +### IB Single-Plane Topology - ICEX M-Cell Each color in each physical IRU represents one dual-switch ASIC switch. @@ -16,7 +16,7 @@ Each color in each physical IRU represents one dual-switch ASIC switch.  -### IB single-plane topology - Accelerated nodes +### IB Single-Plane Topology - Accelerated Nodes Each of the 3 inter-connected D racks are equivalent to one half of M-Cell rack. 18 x D rack with MIC accelerated nodes [r21-r38] are equivalent to 3 M-Cell racks as shown in a diagram [7D Enhanced Hypercube](7d-enhanced-hypercube/). diff --git a/docs.it4i/salomon/job-priority.md b/docs.it4i/salomon/job-priority.md index e98d56b7f..d13c8f5f4 100644 --- a/docs.it4i/salomon/job-priority.md +++ b/docs.it4i/salomon/job-priority.md @@ -1,6 +1,6 @@ # Job scheduling -## Job execution priority +## Job Execution Priority Scheduler gives each job an execution priority and then uses this job execution priority to select which job(s) to run. @@ -10,7 +10,7 @@ Job execution priority is determined by these job properties (in order of import 2. fair-share priority 3. eligible time -### Queue priority +### Queue Priority Queue priority is priority of queue where job is queued before execution. @@ -18,7 +18,7 @@ Queue priority has the biggest impact on job execution priority. Execution prior Queue priorities can be seen at <https://extranet.it4i.cz/rsweb/salomon/queues> -### Fair-share priority +### Fair-Share Priority Fair-share priority is priority calculated on recent usage of resources. Fair-share priority is calculated per project, all members of project share same fair-share priority. Projects with higher recent usage have lower fair-share priority than projects with lower or none recent usage. @@ -34,14 +34,14 @@ usage<sub>Total</sub> is total usage by all users, by all projects. Usage counts allocated core-hours (`ncpus x walltime`). Usage is decayed, or cut in half periodically, at the interval 168 hours (one week). -# Jobs queued in queue qexp are not calculated to project's usage. +# Jobs Queued in Queue qexp Are Not Calculated to Project's Usage. !!! Note "Note" Calculated usage and fair-share priority can be seen at <https://extranet.it4i.cz/rsweb/salomon/projects>. Calculated fair-share priority can be also seen as Resource_List.fairshare attribute of a job. -### Eligible time +### Eligible Time Eligible time is amount (in seconds) of eligible time job accrued while waiting to run. Jobs with higher eligible time gains higher priority. @@ -70,6 +70,6 @@ It means, that jobs with lower execution priority can be run before jobs with hi Specifying more accurate walltime enables better scheduling, better execution times and better resource usage. Jobs with suitable (small) walltime could be backfilled - and overtake job(s) with higher priority. -### Job placement +### Job Placement Job [placement can be controlled by flags during submission](job-submission-and-execution/#job_placement). diff --git a/docs.it4i/salomon/job-submission-and-execution.md b/docs.it4i/salomon/job-submission-and-execution.md index 0087bb6f0..0bbf2fec1 100644 --- a/docs.it4i/salomon/job-submission-and-execution.md +++ b/docs.it4i/salomon/job-submission-and-execution.md @@ -51,7 +51,7 @@ $ qsub -A OPEN-0-0 -q qfree -l select=10:ncpus=24 ./myjob In this example, we allocate 10 nodes, 24 cores per node, for 12 hours. We allocate these resources via the qfree queue. It is not required that the project OPEN-0-0 has any available resources left. Consumed resources are still accounted for. Jobscript myjob will be executed on the first node in the allocation. -### Intel Xeon Phi co-processors +### Intel Xeon Phi Co-Processors To allocate a node with Xeon Phi co-processor, user needs to specify that in select statement. Currently only allocation of whole nodes with both Phi cards as the smallest chunk is supported. Standard PBSPro 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. @@ -90,7 +90,7 @@ $ qsub -A OPEN-0-0 -q qfat -l select=1:mem=2000GB ./myjob In this example, we allocate 2000GB of memory on the UV2000 for 72 hours. By requesting 2000GB of memory, 10 chunks are allocated. Jobscript myjob will be executed on the node uv1. -### Useful tricks +### Useful Tricks All qsub options may be [saved directly into the jobscript](#example-jobscript-for-mpi-calculation-with-preloaded-inputs). In such a case, no options to qsub are needed. @@ -104,9 +104,9 @@ By default, the PBS batch system sends an e-mail only when the job is aborted. D $ qsub -m n ``` -## Advanced job placement +## Advanced Job Placement -### Placement by name +### Placement by Name !!! Note "Note" Not useful for ordinary computing, suitable for node testing/bechmarking and management tasks. @@ -125,13 +125,13 @@ qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=24:host=cns680+1:ncpus=24:host=cns68 In this example, we allocate nodes r24u35n680 and r24u36n681, all 24 cores per node, for 24 hours. Consumed resources will be accounted to the Project identified by Project ID OPEN-0-0. The resources will be available interactively. -### Placement by network location +### Placement by Network Location Network location of allocated nodes in the [Infiniband network](network/) influences efficiency of network communication between nodes of job. Nodes on the same Infiniband switch communicate faster with lower latency than distant nodes. To improve communication efficiency of jobs, PBS scheduler on Salomon is configured to allocate nodes - from currently available resources - which are as close as possible in the network topology. For communication intensive jobs it is possible to set stricter requirement - to require nodes directly connected to the same Infiniband switch or to require nodes located in the same dimension group of the Infiniband network. -### Placement by Infiniband switch +### Placement by Infiniband Switch Nodes directly connected to the same Infiniband switch can communicate most efficiently. Using the same switch prevents hops in the network and provides for unbiased, most efficient network communication. There are 9 nodes directly connected to every Infiniband switch. @@ -146,7 +146,7 @@ In this example, we request all 9 nodes directly connected to the same switch us $ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24 -l place=group=switch ./myjob ``` -### Placement by specific Infiniband switch +### Placement by Specific Infiniband Switch !!! Note "Note" Not useful for ordinary computing, suitable for testing and management tasks. @@ -187,7 +187,7 @@ r37u33n971 r37u34n972 ``` -### Placement by Hypercube dimension +### Placement by Hypercube Dimension Nodes located in the same dimension group may be allocated using node grouping on PBS resource attribute ehc\_[1-7]d . @@ -445,7 +445,7 @@ In some cases, it may be impractical to copy the inputs to scratch and outputs t !!! Note "Note" Store the qsub options within the jobscript. Use **mpiprocs** and **ompthreads** qsub options to control the MPI job execution. -### Example Jobscript for MPI Calculation with preloaded inputs +### Example Jobscript for MPI Calculation With Preloaded Inputs Example jobscript for an MPI job with preloaded inputs and executables, options for qsub are stored within the script : diff --git a/docs.it4i/salomon/prace.md b/docs.it4i/salomon/prace.md index fd56e39a7..5dfd1dfa4 100644 --- a/docs.it4i/salomon/prace.md +++ b/docs.it4i/salomon/prace.md @@ -18,9 +18,9 @@ In general PRACE users already have a PRACE account setup through their HOMESITE If there's a special need a PRACE user can get a standard (local) account at IT4Innovations. To get an account on the Salomon cluster, the user needs to obtain the login credentials. The procedure is the same as for general users of the cluster, so please see the corresponding [section of the general documentation here](../get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials/). -## Accessing the cluster +## Accessing the Cluster -### Access with GSI-SSH +### Access With GSI-SSH 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. @@ -105,7 +105,7 @@ implementation on Salomon supports also SCP, so for small files transfer gsiscp $ gsiscp -P 2222 salomon-prace.it4i.cz:_SALOMON_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ ``` -### Access to X11 applications (VNC) +### Access to X11 Applications (VNC) 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 access, please see the [section in general documentation](../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/). @@ -115,11 +115,11 @@ If the user uses GSI SSH based access, then the procedure is similar to the SSH $ gsissh -p 2222 salomon.it4i.cz -L 5961:localhost:5961 ``` -### Access with SSH +### Access With SSH After successful obtainment of login credentials for the local IT4Innovations account, the PRACE users can access the cluster as regular users using SSH. For more information please see the [section in general documentation](shell-and-data-access/). -## File transfers +## 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](shell-and-data-access/). @@ -209,7 +209,7 @@ Please note, that for PRACE users a "prace" directory is used also on the SCRATC | large project files | /scratch/work/user/prace/login/ | | large scratch/temporary data | /scratch/temp/ | -## Usage of the cluster +## Usage of the Cluster There are some limitations for PRACE user when using the cluster. By 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 because of insufficient amount of licenses. diff --git a/docs.it4i/salomon/resource-allocation-and-job-execution.md b/docs.it4i/salomon/resource-allocation-and-job-execution.md index d9c10ba52..fa47d4a42 100644 --- a/docs.it4i/salomon/resource-allocation-and-job-execution.md +++ b/docs.it4i/salomon/resource-allocation-and-job-execution.md @@ -18,7 +18,7 @@ The resources are allocated to the job in a fair-share fashion, subject to const Read more on the [Resource Allocation Policy](resources-allocation-policy/) page. -## Job submission and execution +## Job Submission and Execution !!! Note "Note" Use the **qsub** command to submit your jobs. diff --git a/docs.it4i/salomon/resources-allocation-policy.md b/docs.it4i/salomon/resources-allocation-policy.md index fa86f8439..c970dbdf4 100644 --- a/docs.it4i/salomon/resources-allocation-policy.md +++ b/docs.it4i/salomon/resources-allocation-policy.md @@ -39,7 +39,7 @@ Jobs that exceed the reserved wall clock time (Req'd Time) get killed automatica Salomon users may check current queue configuration at <https://extranet.it4i.cz/rsweb/salomon/queues>. -### Queue status +### Queue Status !!! Note "Note" Check the status of jobs, queues and compute nodes at [https://extranet.it4i.cz/rsweb/salomon/](https://extranet.it4i.cz/rsweb/salomon) @@ -113,11 +113,11 @@ Options: ## Resources Accounting Policy -### The Core-Hour +### the Core-Hour The resources that are currently subject to accounting are the core-hours. The core-hours are accounted on the wall clock basis. The accounting runs whenever the computational cores are allocated or blocked via the PBS Pro workload manager (the qsub command), regardless of whether the cores are actually used for any calculation. 1 core-hour is defined as 1 processor core allocated for 1 hour of wall clock time. Allocating a full node (24 cores) for 1 hour accounts to 24 core-hours. See example in the [Job submission and execution](job-submission-and-execution/) section. -### Check consumed resources +### Check Consumed Resources !!! Note "Note" The **it4ifree** command is a part of it4i.portal.clients package, located here: <https://pypi.python.org/pypi/it4i.portal.clients> diff --git a/docs.it4i/salomon/shell-and-data-access.md b/docs.it4i/salomon/shell-and-data-access.md index 94da50a46..06f79c205 100644 --- a/docs.it4i/salomon/shell-and-data-access.md +++ b/docs.it4i/salomon/shell-and-data-access.md @@ -109,7 +109,7 @@ On Windows, use [WinSCP client](http://winscp.net/eng/download.php) to transfer More information about the shared file systems is available [here](storage/). -## Connection restrictions +## Connection Restrictions Outgoing connections, from Salomon Cluster login nodes to the outside world, are restricted to following ports: @@ -125,9 +125,9 @@ Outgoing connections, from Salomon Cluster login nodes to the outside world, are Outgoing connections, from Salomon Cluster compute nodes are restricted to the internal network. Direct connections form compute nodes to outside world are cut. -## Port forwarding +## Port Forwarding -### Port forwarding from login nodes +### Port Forwarding From Login Nodes !!! Note "Note" Port forwarding allows an application running on Salomon to connect to arbitrary remote host and port. @@ -152,7 +152,7 @@ $ ssh -L 6000:localhost:1234 remote.host.com Note: Port number 6000 is chosen as an example only. Pick any free port. -### Port forwarding from compute nodes +### Port Forwarding From Compute Nodes Remote port forwarding from compute nodes allows applications running on the compute nodes to access hosts outside Salomon Cluster. @@ -166,7 +166,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 accessing localhost:6000, an application running on a compute node will see response of remote.host.com:1234 -### Using proxy servers +### Using Proxy Servers Port forwarding is static, each single port is mapped to a particular port on remote host. Connection to other remote host, requires new forward. diff --git a/docs.it4i/salomon/software/ansys/licensing.md b/docs.it4i/salomon/software/ansys/licensing.md index c69480c6a..115ef282d 100644 --- a/docs.it4i/salomon/software/ansys/licensing.md +++ b/docs.it4i/salomon/software/ansys/licensing.md @@ -1,6 +1,6 @@ # Licensing and Available Versions -## ANSYS licence can be used by: +## ANSYS Licence Can Be Used By: - all persons in the carrying out of the CE IT4Innovations Project (In addition to the primary licensee, which is VSB - Technical University of Ostrava, users are CE IT4Innovations third parties - CE IT4Innovations project partners, particularly the University of Ostrava, the Brno University of Technology - Faculty of Informatics, the Silesian University in Opava, Institute of Geonics AS CR.) - all persons who have a valid license @@ -10,7 +10,7 @@ The licence intended to be used for science and research, publications, students’ projects (academic licence). -## ANSYS COM +## ANSYS Com The licence intended to be used for science and research, publications, students’ projects, commercial research with no commercial use restrictions. diff --git a/docs.it4i/salomon/software/chemistry/molpro.md b/docs.it4i/salomon/software/chemistry/molpro.md index 2b8ead813..308ed266f 100644 --- a/docs.it4i/salomon/software/chemistry/molpro.md +++ b/docs.it4i/salomon/software/chemistry/molpro.md @@ -12,7 +12,7 @@ Molpro software package is available only to users that have a valid license. Pl To run Molpro, you need to have a valid license token present in " $HOME/.molpro/token". You can download the token from [Molpro website](https://www.molpro.net/licensee/?portal=licensee). -## Installed version +## Installed Version Currently on Anselm is installed version 2010.1, patch level 45, parallel version compiled with Intel compilers and Intel MPI. diff --git a/docs.it4i/salomon/software/chemistry/nwchem.md b/docs.it4i/salomon/software/chemistry/nwchem.md index 2feebda57..5ed6e3ccf 100644 --- a/docs.it4i/salomon/software/chemistry/nwchem.md +++ b/docs.it4i/salomon/software/chemistry/nwchem.md @@ -8,7 +8,7 @@ NWChem aims to provide its users with computational chemistry tools that are sca [Homepage](http://www.nwchem-sw.org/index.php/Main_Page) -## Installed versions +## Installed Versions The following versions are currently installed: diff --git a/docs.it4i/salomon/software/chemistry/phono3py.md b/docs.it4i/salomon/software/chemistry/phono3py.md index 970eb3019..be354df12 100644 --- a/docs.it4i/salomon/software/chemistry/phono3py.md +++ b/docs.it4i/salomon/software/chemistry/phono3py.md @@ -11,9 +11,9 @@ This GPL software calculates phonon-phonon interactions via the third order forc $ module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9 ``` -## Example of calculating thermal conductivity of Si using VASP code. +## Example of Calculating Thermal Conductivity of Si Using VASP Code. -### Calculating force constants +### Calculating Force Constants One needs to calculate second order and third order force constants using the diamond structure of silicon stored in [POSCAR](poscar-si) (the same form as in VASP) using single displacement calculations within supercell. @@ -37,7 +37,7 @@ Direct 0.6250000000000000 0.6250000000000000 0.1250000000000000 ``` -### Generating displacement using 2 x 2 x 2 supercell for both second and third order force constants +### Generating Displacement Using 2 X 2 X 2 Supercell for Both Second and Third Order Force Constants ```bash $ phono3py -d --dim="2 2 2" -c POSCAR @@ -79,7 +79,7 @@ Taylor your run.sh script to fit into your project and other needs and submit al $ ./submit.sh ``` -## Collecting results and post-processing with phono3py +## Collecting Results and Post-Processing With Phono3py Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory the collection is done by @@ -95,7 +95,7 @@ $ phono3py --dim="2 2 2" -c POSCAR resulting in `fc2.hdf5` and `fc3.hdf5` -### Thermal conductivity +### Thermal Conductivity The phonon lifetime calculations takes some time, however is independent on grid points, so could be splitted: diff --git a/docs.it4i/salomon/software/comsol/comsol-multiphysics.md b/docs.it4i/salomon/software/comsol/comsol-multiphysics.md index 007e17ad1..3b69447da 100644 --- a/docs.it4i/salomon/software/comsol/comsol-multiphysics.md +++ b/docs.it4i/salomon/software/comsol/comsol-multiphysics.md @@ -70,7 +70,7 @@ comsol -nn ${ntask} batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tm Working directory has to be created before sending the (comsol.pbs) job script into the queue. Input file (name_input_f.mph) 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®API (Application Programming Interface) with the benefits of the programming language and computing environment of the MATLAB. diff --git a/docs.it4i/salomon/software/comsol/licensing-and-available-versions.md b/docs.it4i/salomon/software/comsol/licensing-and-available-versions.md index b27b36a28..41972882c 100644 --- a/docs.it4i/salomon/software/comsol/licensing-and-available-versions.md +++ b/docs.it4i/salomon/software/comsol/licensing-and-available-versions.md @@ -1,6 +1,6 @@ # Licensing and Available Versions -## Comsol licence can be used by: +## Comsol Licence Can Be Used By: - all persons in the carrying out of the CE IT4Innovations Project (In addition to the primary licensee, which is VSB - Technical University of Ostrava, users are CE IT4Innovations third parties - CE IT4Innovations project partners, particularly the University of Ostrava, the Brno University of Technology - Faculty of Informatics, the Silesian University in Opava, Institute of Geonics AS CR.) - all persons who have a valid license diff --git a/docs.it4i/salomon/software/debuggers/Introduction.md b/docs.it4i/salomon/software/debuggers/Introduction.md index 3b9f18ba1..a5c9cfb60 100644 --- a/docs.it4i/salomon/software/debuggers/Introduction.md +++ b/docs.it4i/salomon/software/debuggers/Introduction.md @@ -4,7 +4,7 @@ We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations. On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I. -## Intel debugger +## Intel Debugger Intel debugger is no longer available since Parallel Studio version 2015 @@ -50,7 +50,7 @@ TotalView is a source- and machine-level debugger for multi-process, multi-threa Read more at the [Totalview](total-view/) page. -## Vampir trace analyzer +## Vampir Trace Analyzer Vampir is a GUI trace analyzer for traces in OTF format. diff --git a/docs.it4i/salomon/software/debuggers/allinea-ddt.md b/docs.it4i/salomon/software/debuggers/allinea-ddt.md index c119f40a8..94890c056 100644 --- a/docs.it4i/salomon/software/debuggers/allinea-ddt.md +++ b/docs.it4i/salomon/software/debuggers/allinea-ddt.md @@ -18,7 +18,7 @@ In case of debugging on accelerators: - 1 user can debug on up to 8 accelerators, or - 8 users can debug on single accelerator. -## Compiling Code to run with DDT +## Compiling Code to Run With DDT ### Modules @@ -43,7 +43,7 @@ $ mpicc -g -O0 -o test_debug test.c $ mpif90 -g -O0 -o test_debug test.f ``` -### Compiler flags +### Compiler Flags Before debugging, you need to compile your code with theses flags: @@ -52,7 +52,7 @@ Before debugging, you need to compile your code with theses flags: - - **O0** : Suppress all optimizations. -## Starting a Job with DDT +## Starting a Job With DDT Be sure to log in with an X window forwarding enabled. This could mean using the -X in the ssh: diff --git a/docs.it4i/salomon/software/debuggers/intel-vtune-amplifier.md b/docs.it4i/salomon/software/debuggers/intel-vtune-amplifier.md index 2733d42c2..918ffca1a 100644 --- a/docs.it4i/salomon/software/debuggers/intel-vtune-amplifier.md +++ b/docs.it4i/salomon/software/debuggers/intel-vtune-amplifier.md @@ -60,11 +60,11 @@ Copy the line to clipboard and then you can paste it in your jobscript or in com It is possible to analyze both native and offloaded Xeon Phi applications. -### Native mode +### Native Mode This mode is useful for native Xeon Phi applications launched directly on the card. In *Analysis Target* window, select *Intel Xeon Phi coprocessor (native)*, choose path to the binary and MIC card to run on. -### Offload mode +### Offload Mode This mode is useful for applications that are launched from the host and use offload, OpenCL or mpirun. In *Analysis Target* window, select *Intel Xeon Phi coprocessor (native)*, choose path to the binaryand MIC card to run on. diff --git a/docs.it4i/salomon/software/debuggers/total-view.md b/docs.it4i/salomon/software/debuggers/total-view.md index 27cd6c56f..7f1cd15df 100644 --- a/docs.it4i/salomon/software/debuggers/total-view.md +++ b/docs.it4i/salomon/software/debuggers/total-view.md @@ -2,7 +2,7 @@ TotalView is a GUI-based source code multi-process, multi-thread debugger. -## License and Limitations for cluster Users +## License and Limitations for Cluster Users On the cluster users can debug OpenMP or MPI code that runs up to 64 parallel processes. These limitation means that: @@ -15,7 +15,7 @@ Debugging of GPU accelerated codes is also supported. You can check the status of the licenses [here](https://extranet.it4i.cz/rsweb/anselm/license/totalview). -## Compiling Code to run with TotalView +## Compiling Code to Run With TotalView ### Modules @@ -41,7 +41,7 @@ Compile the code: mpif90 -g -O0 -o test_debug test.f ``` -### Compiler flags +### Compiler Flags Before debugging, you need to compile your code with theses flags: @@ -50,7 +50,7 @@ Before debugging, you need to compile your code with theses flags: **-O0** : Suppress all optimizations. -## Starting a Job with TotalView +## Starting a Job With TotalView Be sure to log in with an X window forwarding enabled. This could mean using the -X in the ssh: @@ -68,7 +68,7 @@ From the login node an interactive session with X windows forwarding (-X option) Then launch the debugger with the totalview command followed by the name of the executable to debug. -### Debugging a serial code +### Debugging a Serial Code To debug a serial code use: @@ -76,7 +76,7 @@ To debug a serial code use: totalview test_debug ``` -### Debugging a parallel code - option 1 +### Debugging a Parallel Code - Option 1 To debug a parallel code compiled with **OpenMPI** you need to setup your TotalView environment: @@ -130,7 +130,7 @@ At this point the main TotalView GUI window will appear and you can insert the b  -### Debugging a parallel code - option 2 +### Debugging a Parallel Code - Option 2 Other option to start new parallel debugging session from a command line is to let TotalView to execute mpirun by itself. In this case user has to specify a MPI implementation used to compile the source code. diff --git a/docs.it4i/salomon/software/debuggers/valgrind.md b/docs.it4i/salomon/software/debuggers/valgrind.md index d6949285b..a5d52269c 100644 --- a/docs.it4i/salomon/software/debuggers/valgrind.md +++ b/docs.it4i/salomon/software/debuggers/valgrind.md @@ -15,7 +15,7 @@ The main tools available in Valgrind are : - **Callgrind**, a callgraph analyzer. - For a full list and detailed documentation, please refer to the [official Valgrind documentation](http://valgrind.org/docs/). -## Installed versions +## Installed Versions There are two versions of Valgrind available on the cluster. @@ -130,7 +130,7 @@ In the output we can see that Valgrind has detected both errors - the off-by-one Now we can see that the memory leak is due to the malloc() at line 6. -## Usage with MPI +## Usage With MPI Although Valgrind is not primarily a parallel debugger, it can be used to debug parallel applications as well. When launching your parallel applications, prepend the valgrind command. For example: diff --git a/docs.it4i/salomon/software/debuggers/vampir.md b/docs.it4i/salomon/software/debuggers/vampir.md index ad4e97cf5..864a384b0 100644 --- a/docs.it4i/salomon/software/debuggers/vampir.md +++ b/docs.it4i/salomon/software/debuggers/vampir.md @@ -4,7 +4,7 @@ Vampir is a commercial trace analysis and visualisation tool. It can work with t  -## Installed versions +## Installed Versions Version 8.5.0 is currently installed as module Vampir/8.5.0 : @@ -13,7 +13,7 @@ Version 8.5.0 is currently installed as module Vampir/8.5.0 : $ vampir & ``` -## User manual +## User Manual You can find the detailed user manual in PDF format in $EBROOTVAMPIR/doc/vampir-manual.pdf diff --git a/docs.it4i/salomon/software/intel-suite/intel-advisor.md b/docs.it4i/salomon/software/intel-suite/intel-advisor.md index 484c781d6..77975c016 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-advisor.md +++ b/docs.it4i/salomon/software/intel-suite/intel-advisor.md @@ -2,7 +2,7 @@ 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 parallelism. -## Installed versions +## Installed Versions The following versions are currently available on Salomon as modules: diff --git a/docs.it4i/salomon/software/intel-suite/intel-compilers.md b/docs.it4i/salomon/software/intel-suite/intel-compilers.md index 1157d602d..43b816102 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-compilers.md +++ b/docs.it4i/salomon/software/intel-suite/intel-compilers.md @@ -28,7 +28,7 @@ The compiler recognizes the omp, simd, vector and ivdep pragmas for OpenMP paral Read more at <https://software.intel.com/en-us/intel-cplusplus-compiler-16.0-user-and-reference-guide> -## Sandy Bridge/Ivy Bridge/Haswell binary compatibility +## Sandy Bridge/Ivy Bridge/Haswell Binary Compatibility Anselm nodes are currently equipped with Sandy Bridge CPUs, while Salomon compute nodes are equipped with Haswell based architecture. The UV1 SMP compute server has Ivy Bridge CPUs, which are equivalent to Sandy Bridge (only smaller manufacturing technology). The new processors are backward compatible with the Sandy Bridge nodes, so all programs that ran on the Sandy Bridge processors, should also run on the new Haswell nodes. To get optimal performance out of the Haswell processors a program should make use of the special AVX2 instructions for this processor. One can do this by recompiling codes with the compiler flags designated to invoke these instructions. For the Intel compiler suite, there are two ways of doing this: diff --git a/docs.it4i/salomon/software/intel-suite/intel-debugger.md b/docs.it4i/salomon/software/intel-suite/intel-debugger.md index 5be127bbf..1fbb569d1 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-debugger.md +++ b/docs.it4i/salomon/software/intel-suite/intel-debugger.md @@ -2,7 +2,7 @@ IDB is no longer available since Intel Parallel Studio 2015 -## Debugging serial applications +## Debugging Serial Applications 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/accessing-the-clusters/graphical-user-interface/x-window-system/) for running the GUI. @@ -35,11 +35,11 @@ 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 access is via X11 port forwarding provided by the PBS workload manager. -## Debugging parallel applications +## Debugging Parallel Applications Intel debugger is capable of debugging multithreaded and MPI parallel programs as well. -### Small number of MPI ranks +### Small Number of MPI Ranks 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/accessing-the-clusters/graphical-user-interface/x-window-system/)). Using Intel MPI, this may be done in following way: @@ -54,7 +54,7 @@ For debugging small number of MPI ranks, you may execute and debug each rank in In this example, we allocate 2 full compute node, run xterm on each node and start idb debugger in command line mode, debugging two ranks of mympiprog.x application. The xterm will pop up for each rank, with idb prompt ready. The example is not limited to use of Intel MPI -### Large number of MPI ranks +### Large Number of MPI Ranks Run the idb debugger from within the MPI debug option. This will cause the debugger to bind to all ranks and provide aggregated outputs across the ranks, pausing execution automatically just after startup. You may then set break points and step the execution manually. Using Intel MPI: @@ -67,10 +67,10 @@ Run the idb debugger from within the MPI debug option. This will cause the debug $ mpirun -n 48 -idb ./mympiprog.x ``` -### Debugging multithreaded application +### Debugging Multithreaded Application Run the idb debugger in GUI mode. The menu Parallel contains number of tools for debugging multiple threads. One of the most useful tools is the **Serialize Execution** tool, which serializes execution of concurrent threads for easy orientation and identification of concurrency related bugs. -## Further information +## Further Information Exhaustive manual on idb features and usage is published at Intel website, <https://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/> diff --git a/docs.it4i/salomon/software/intel-suite/intel-inspector.md b/docs.it4i/salomon/software/intel-suite/intel-inspector.md index 94ad54776..3ff7762b1 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-inspector.md +++ b/docs.it4i/salomon/software/intel-suite/intel-inspector.md @@ -2,7 +2,7 @@ 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 conditions, deadlocks etc. -## Installed versions +## Installed Versions The following versions are currently available on Salomon as modules: @@ -14,7 +14,7 @@ Your program should be compiled with -g switch to include symbol names. Optimiza Debugging is possible either directly from the GUI, or from command line. -### GUI mode +### GUI Mode To debug from GUI, launch Inspector: @@ -26,7 +26,7 @@ Then select menu File -> New -> Project. Choose a directory to save project data In the main pane, you can start a predefined analysis type or define your own. Click Start to start the analysis. Alternatively, you can click on Command Line, to see the command line required to run the analysis directly from command line. -### Batch mode +### Batch Mode Analysis can be also run from command line in batch mode. Batch mode analysis is run with command inspxe-cl. To obtain the required parameters, either consult the documentation or you can configure the analysis in the GUI and then click "Command Line" button in the lower right corner to the respective command line. diff --git a/docs.it4i/salomon/software/intel-suite/intel-integrated-performance-primitives.md b/docs.it4i/salomon/software/intel-suite/intel-integrated-performance-primitives.md index fb040dd18..ead2008dc 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-integrated-performance-primitives.md +++ b/docs.it4i/salomon/software/intel-suite/intel-integrated-performance-primitives.md @@ -12,7 +12,7 @@ Check out IPP before implementing own math functions for data processing, it is The module sets up environment variables, required for linking and running ipp enabled applications. -## IPP example +## IPP Example ```cpp #include "ipp.h" @@ -73,7 +73,7 @@ You will need the ipp module loaded to run the ipp enabled executable. This may $ icc testipp.c -o testipp.x -Wl,-rpath=$LIBRARY_PATH -lippi -lipps -lippcore ``` -## Code samples and documentation +## Code Samples and Documentation Intel provides number of [Code Samples for IPP](https://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library), illustrating use of IPP. diff --git a/docs.it4i/salomon/software/intel-suite/intel-mkl.md b/docs.it4i/salomon/software/intel-suite/intel-mkl.md index f8456b24d..83f109e7d 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-mkl.md +++ b/docs.it4i/salomon/software/intel-suite/intel-mkl.md @@ -61,7 +61,7 @@ The application will run with 24 threads with affinity optimized for fine grain Number of examples, demonstrating use of the Intel MKL library and its linking is available on clusters, in the $MKL_EXAMPLES directory. In the examples below, we demonstrate linking Intel MKL to Intel and GNU compiled program for multi-threaded matrix multiplication. -### Working with examples +### Working With Examples ```bash $ module load intel @@ -74,7 +74,7 @@ Number of examples, demonstrating use of the Intel MKL library and its linking i In this example, we compile, link and run the cblas_dgemm example, demonstrating use of MKL example suite installed on clusters. -### Example: MKL and Intel compiler +### Example: MKL and Intel Compiler ```bash $ module load intel @@ -95,7 +95,7 @@ In this example, we compile, link and run the cblas_dgemm example, demonstratin In this example, we compile and link the cblas_dgemm example, using LP64 interface to threaded MKL and Intel OMP threads implementation. -### Example: Intel MKL and GNU compiler +### Example: Intel MKL and GNU Compiler ```bash $ module load GCC @@ -111,7 +111,7 @@ In this example, we compile and link the cblas_dgemm example, using LP64 interf In this example, we compile, link and run the cblas_dgemm example, using LP64 interface to threaded MKL and gnu OMP threads implementation. -## MKL and MIC accelerators +## MKL and MIC Accelerators The Intel MKL is capable to automatically offload the computations o the MIC accelerator. See section [Intel Xeon Phi](../intel-xeon-phi/) for details. @@ -119,6 +119,6 @@ The Intel MKL is capable to automatically offload the computations o the MIC acc MKL includes LAPACKE C Interface to LAPACK. For some reason, although Intel is the author of LAPACKE, the LAPACKE header files are not present in MKL. For this reason, we have prepared LAPACKE module, which includes Intel's LAPACKE headers from official LAPACK, which you can use to compile code using LAPACKE interface against MKL. -## Further reading +## Further Reading Read more on [Intel website](http://software.intel.com/en-us/intel-mkl), in particular the [MKL users guide](https://software.intel.com/en-us/intel-mkl/documentation/linux). diff --git a/docs.it4i/salomon/software/intel-suite/intel-parallel-studio-introduction.md b/docs.it4i/salomon/software/intel-suite/intel-parallel-studio-introduction.md index d176c71f3..219ebaa77 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-parallel-studio-introduction.md +++ b/docs.it4i/salomon/software/intel-suite/intel-parallel-studio-introduction.md @@ -12,7 +12,7 @@ Intel Parallel Studio XE * Intel Advisor * Intel Inspector -## Intel compilers +## Intel Compilers The Intel compilers version 131.3 are available, via module iccifort/2013.5.192-GCC-4.8.3. The compilers include the icc C and C++ compiler and the ifort fortran 77/90/95 compiler. @@ -24,7 +24,7 @@ The Intel compilers version 131.3 are available, via module iccifort/2013.5.192- Read more at the [Intel Compilers](intel-compilers/) page. -## Intel debugger +## Intel Debugger IDB is no longer available since Parallel Studio 2015. diff --git a/docs.it4i/salomon/software/intel-suite/intel-tbb.md b/docs.it4i/salomon/software/intel-suite/intel-tbb.md index 27abcfc22..94e32f390 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-tbb.md +++ b/docs.it4i/salomon/software/intel-suite/intel-tbb.md @@ -35,6 +35,6 @@ You will need the tbb module loaded to run the tbb enabled executable. This may $ icc -O2 -o primes.x main.cpp primes.cpp -Wl,-rpath=$LIBRARY_PATH -ltbb ``` -## Further reading +## Further Reading Read more on Intel website, <http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm> diff --git a/docs.it4i/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md b/docs.it4i/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md index 9d9f9fd43..cf170231e 100644 --- a/docs.it4i/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md +++ b/docs.it4i/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md @@ -4,11 +4,11 @@ Intel Trace Analyzer and Collector (ITAC) is a tool to collect and graphicaly an ITAC is a offline analysis tool - first you run your application to collect a trace file, then you can open the trace in a GUI analyzer to view it. -## Installed version +## Installed Version Currently on Salomon is version 9.1.2.024 available as module itac/9.1.2.024 -## Collecting traces +## Collecting Traces ITAC can collect traces from applications that are using Intel MPI. To generate a trace, simply add -trace option to your mpirun command : @@ -19,7 +19,7 @@ ITAC can collect traces from applications that are using Intel MPI. To generate The trace will be saved in file myapp.stf in the current directory. -## Viewing traces +## Viewing Traces To view and analyze the trace, open ITAC GUI in a [graphical environment](../../../get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/): diff --git a/docs.it4i/salomon/software/intel-xeon-phi.md b/docs.it4i/salomon/software/intel-xeon-phi.md index 863827f99..c1b893bce 100644 --- a/docs.it4i/salomon/software/intel-xeon-phi.md +++ b/docs.it4i/salomon/software/intel-xeon-phi.md @@ -1,6 +1,6 @@ # Intel Xeon Phi -## A guide to Intel Xeon Phi usage +## 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. @@ -237,7 +237,7 @@ Some interesting compiler flags useful not only for code debugging are: Performance ooptimization xhost - FOR HOST ONLY - to generate AVX (Advanced Vector Extensions) instructions. -## Automatic Offload using Intel MKL Library +## Automatic Offload Using Intel MKL Library Intel MKL includes an Automatic Offload (AO) feature that enables computationally intensive MKL functions called in user code to benefit from attached Intel Xeon Phi coprocessors automatically and transparently. @@ -257,7 +257,7 @@ or by setting environment variable To get more information about automatic offload please refer to "[Using Intel® MKL Automatic Offload on Intel ® Xeon Phiâ„¢ Coprocessors](http://software.intel.com/sites/default/files/11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf)" white paper or [ Intel MKL documentation](https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation). -### Automatic offload example +### Automatic Offload Example At first get an interactive PBS session on a node with MIC accelerator and load "intel" module that automatically loads "mkl" module as well. @@ -542,7 +542,7 @@ To see the performance of Intel Xeon Phi performing the DGEMM run the example as ## MPI -### Environment setup and compilation +### Environment Setup and Compilation Again an MPI code for Intel Xeon Phi has to be compiled on a compute node with accelerator and MPSS software stack installed. To get to a compute node with accelerator use: @@ -595,7 +595,7 @@ An example of basic MPI version of "hello-world" example in C language, that can } ``` -### MPI programming models +### MPI Programming Models Intel MPI for the Xeon Phi coprocessors offers different MPI programming models: @@ -606,7 +606,7 @@ Intel MPI for the Xeon Phi coprocessors offers different MPI programming models: **Symmetric model** - the MPI ranks reside on both the host and the coprocessor. Most general MPI case. -### Host-only model +### Host-Only Model In this case all environment variables are set by modules, so to execute the compiled MPI program on a single node, use: @@ -623,7 +623,7 @@ The output should be similar to: Hello world from process 0 of 4 on host cn207 ``` -### Coprocessor-only model +### Coprocessor-Only Model There are two ways how to execute an MPI code on a single coprocessor: 1.) lunch the program using "**mpirun**" from the coprocessor; or 2.) lunch the task using "**mpiexec.hydra**" from a host. diff --git a/docs.it4i/salomon/software/mpi/Running_OpenMPI.md b/docs.it4i/salomon/software/mpi/Running_OpenMPI.md index a9b73cc60..da78ee38d 100644 --- a/docs.it4i/salomon/software/mpi/Running_OpenMPI.md +++ b/docs.it4i/salomon/software/mpi/Running_OpenMPI.md @@ -1,10 +1,10 @@ # Running OpenMPI -## OpenMPI program execution +## OpenMPI Program Execution The OpenMPI programs may be executed only via the PBS Workload manager, by entering an appropriate queue. On the cluster, the **OpenMPI 1.8.6** is OpenMPI based MPI implementation. -### Basic usage +### Basic Usage Use the mpiexec to run the OpenMPI code. @@ -50,7 +50,7 @@ MPI process mapping may be controlled by PBS parameters. The mpiprocs and ompthreads parameters allow for selection of number of running MPI processes per node as well as number of OpenMP threads per MPI process. -### One MPI process per node +### One MPI Process Per Node Follow this example to run one MPI process per node, 24 threads per process. @@ -64,7 +64,7 @@ Follow this example to run one MPI process per node, 24 threads per process. In this example, we demonstrate recommended way to run an MPI application, using 1 MPI processes per node and 24 threads per socket, on 4 nodes. -### Two MPI processes per node +### Two MPI Processes Per Node Follow this example to run two MPI processes per node, 8 threads per process. Note the options to mpiexec. @@ -78,7 +78,7 @@ Follow this example to run two MPI processes per node, 8 threads per process. No In this example, we demonstrate recommended way to run an MPI application, using 2 MPI processes per node and 12 threads per socket, each process and its threads bound to a separate processor socket of the node, on 4 nodes -### 24 MPI processes per node +### 24 MPI Processes Per Node Follow this example to run 24 MPI processes per node, 1 thread per process. Note the options to mpiexec. @@ -92,7 +92,7 @@ Follow this example to run 24 MPI processes per node, 1 thread per process. Note In this example, we demonstrate recommended way to run an MPI application, using 24 MPI processes per node, single threaded. Each process is bound to separate processor core, on 4 nodes. -### OpenMP thread affinity +### OpenMP Thread Affinity !!! Note "Note" Important! Bind every OpenMP thread to a core! @@ -188,7 +188,7 @@ In this example we run 5 MPI processes (5 ranks) on four nodes. The rankfile def It is users responsibility to provide correct number of ranks, sockets and cores. -### Bindings verification +### Bindings Verification In all cases, binding and threading may be verified by executing for example: diff --git a/docs.it4i/salomon/software/mpi/mpi.md b/docs.it4i/salomon/software/mpi/mpi.md index b4ea7dd7a..3f89096cb 100644 --- a/docs.it4i/salomon/software/mpi/mpi.md +++ b/docs.it4i/salomon/software/mpi/mpi.md @@ -1,6 +1,6 @@ # MPI -## Setting up MPI Environment +## Setting Up MPI Environment The Salomon cluster provides several implementations of the MPI library: @@ -113,7 +113,7 @@ It is strongly discouraged to mix mpi implementations. Linking an application wi The MPI program executable must be available within the same path on all nodes. This is automatically fulfilled on the /home and /scratch filesystem. You need to preload the executable, if running on the local scratch /lscratch filesystem. -### Ways to run MPI programs +### Ways to Run MPI Programs Optimal way to run an MPI program depends on its memory requirements, memory access pattern and communication pattern. diff --git a/docs.it4i/salomon/software/mpi/mpi4py-mpi-for-python.md b/docs.it4i/salomon/software/mpi/mpi4py-mpi-for-python.md index 2de536078..160478b6e 100644 --- a/docs.it4i/salomon/software/mpi/mpi4py-mpi-for-python.md +++ b/docs.it4i/salomon/software/mpi/mpi4py-mpi-for-python.md @@ -40,7 +40,7 @@ For example ## Examples -### Hello world! +### Hello World! ```cpp from mpi4py import MPI @@ -52,7 +52,7 @@ For example comm.Barrier() # wait for everybody to synchronize ``` -### Collective Communication with NumPy arrays +### Collective Communication With NumPy Arrays ```cpp from __future__ import division diff --git a/docs.it4i/salomon/software/numerical-languages/matlab.md b/docs.it4i/salomon/software/numerical-languages/matlab.md index 4ff078efa..95f0e3dde 100644 --- a/docs.it4i/salomon/software/numerical-languages/matlab.md +++ b/docs.it4i/salomon/software/numerical-languages/matlab.md @@ -39,7 +39,7 @@ To run Matlab in text mode, without the Matlab Desktop GUI environment, use plots, images, etc... will be still available. -## Running parallel Matlab using Distributed Computing Toolbox / Engine +## Running Parallel Matlab Using Distributed Computing Toolbox / Engine Distributed toolbox is available only for the EDU variant @@ -63,7 +63,7 @@ Or in the GUI, go to tab HOME -> Parallel -> Manage Cluster Profiles..., click I With the new mode, MATLAB itself launches the workers via PBS, so you can either use interactive mode or a batch mode on one node, but the actual parallel processing will be done in a separate job started by MATLAB itself. Alternatively, you can use "local" mode to run parallel code on just a single node. -### Parallel Matlab interactive session +### Parallel Matlab Interactive Session 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/accessing-the-clusters/graphical-user-interface/x-window-system/). @@ -84,7 +84,7 @@ Once the access to compute nodes is granted by PBS, user can load following modu r1i0n17$ matlab & ``` -### Parallel Matlab batch job in Local mode +### Parallel Matlab Batch Job in Local Mode To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core. @@ -119,7 +119,7 @@ Submit the jobscript using qsub $ qsub ./jobscript ``` -### Parallel Matlab Local mode program example +### Parallel Matlab Local Mode Program Example The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started. @@ -172,7 +172,7 @@ The complete example showing how to use Distributed Computing Toolbox in local m You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to **total number of cores** available on allocated nodes. -### Parallel Matlab Batch job using PBS mode (workers spawned in a separate job) +### Parallel Matlab Batch Job Using PBS Mode (Workers Spawned in a Separate Job) This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub. @@ -208,7 +208,7 @@ Note that we first construct a cluster object using the imported profile, then s You can start this script using batch mode the same way as in Local mode example. -### Parallel Matlab Batch with direct launch (workers spawned within the existing job) +### Parallel Matlab Batch With Direct Launch (Workers Spawned Within the Existing Job) This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.) @@ -243,7 +243,7 @@ This is an example of m-script using direct mode: delete(pool) ``` -### Non-interactive Session and Licenses +### Non-Interactive Session and Licenses If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the `-l __feature__matlab__MATLAB=1` for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please [look here](../../../anselm-cluster-documentation/software/isv_licenses/). @@ -251,7 +251,7 @@ The licensing feature of PBS is currently disabled. In case of non-interactive session please read the [following information](../../../anselm-cluster-documentation/software/isv_licenses/) on how to modify the qsub command to test for available licenses prior getting the resource allocation. -### Matlab Distributed Computing Engines start up time +### Matlab Distributed Computing Engines Start Up Time Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table: @@ -268,10 +268,10 @@ UV2000 machine available in queue "qfat" can be used for MATLAB computations. Th You can use MATLAB on UV2000 in two parallel modes: -### Threaded mode +### Threaded Mode Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set maxNumCompThreads accordingly and certain operations, such as fft, , eig, svd, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes. -### Local cluster mode +### Local Cluster Mode You can also use Parallel Toolbox on UV2000. Use l[ocal cluster mode](matlab/#parallel-matlab-batch-job-in-local-mode), "SalomonPBSPro" profile will not work. diff --git a/docs.it4i/salomon/software/numerical-languages/r.md b/docs.it4i/salomon/software/numerical-languages/r.md index 001cce805..9afa31655 100644 --- a/docs.it4i/salomon/software/numerical-languages/r.md +++ b/docs.it4i/salomon/software/numerical-languages/r.md @@ -29,7 +29,7 @@ Read more on <http://www.r-project.org/>, <http://cran.r-project.org/doc/manuals The R on Anselm is linked to highly optimized MKL mathematical library. This provides threaded parallelization to many R kernels, notably the linear algebra subroutines. The R runs these heavy calculation kernels without any penalty. By default, the R would parallelize to 24 threads. You may control the threads by setting the OMP_NUM_THREADS environment variable. -### Interactive execution +### Interactive Execution To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 forwarding. Run rstudio: @@ -38,7 +38,7 @@ To run R interactively, using Rstudio GUI, log in with ssh -X parameter for X11 $ rstudio ``` -### Batch execution +### Batch Execution To run R in batch mode, write an R script, then write a bash jobscript and execute via the qsub command. By default, R will use 24 threads when running MKL kernels. @@ -72,7 +72,7 @@ This script may be submitted directly to the PBS workload manager via the qsub c Parallel execution of R may be achieved in many ways. One approach is the implied parallelization due to linked libraries or specially enabled functions, as [described above](r/#interactive-execution). In the following sections, we focus on explicit parallelization, where parallel constructs are directly stated within the R script. -## Package parallel +## Package Parallel The package parallel provides support for parallel computation, including by forking (taken from package multicore), by sockets (taken from package snow) and random-number generation. @@ -159,7 +159,7 @@ When using package Rmpi, both openmpi and R modules must be loaded Rmpi may be used in three basic ways. The static approach is identical to executing any other MPI programm. In addition, there is Rslaves dynamic MPI approach and the mpi.apply approach. In the following section, we will use the number Ï€ integration example, to illustrate all these concepts. -### static Rmpi +### Static Rmpi Static Rmpi programs are executed via mpiexec, as any other MPI programs. Number of processes is static - given at the launch time. @@ -215,7 +215,7 @@ The above is the static MPI example for calculating the number Ï€. Note the **li $ mpirun R --slave --no-save --no-restore -f pi3.R ``` -### dynamic Rmpi +### Dynamic Rmpi Dynamic Rmpi programs are executed by calling the R directly. OpenMPI module must be still loaded. The R slave processes will be spawned by a function call within the Rmpi program. @@ -355,11 +355,11 @@ Execute the example as: $ mpirun -np 1 R --slave --no-save --no-restore -f pi3parSapply.R ``` -## Combining parallel and Rmpi +## Combining Parallel and Rmpi Currently, the two packages can not be combined for hybrid calculations. -## Parallel execution +## Parallel Execution The R parallel jobs are executed via the PBS queue system exactly as any other parallel jobs. User must create an appropriate jobscript and submit via the **qsub** diff --git a/docs.it4i/salomon/storage.md b/docs.it4i/salomon/storage.md index 94745247b..27cbead8d 100644 --- a/docs.it4i/salomon/storage.md +++ b/docs.it4i/salomon/storage.md @@ -6,7 +6,7 @@ There are two main shared file systems on Salomon cluster, the [HOME](#home) and All login and compute nodes may access same data on shared file systems. Compute nodes are also equipped with local (non-shared) scratch, ramdisk and tmp file systems. -## Policy (in a nutshell) +## Policy (In a Nutshell) !!! note _ Use [HOME](#home) for your most valuable data and programs. @@ -20,15 +20,15 @@ All login and compute nodes may access same data on shared file systems. Compute Please don't use shared file systems as a backup for large amount of data or long-term archiving mean. The academic staff and students of research institutions in the Czech Republic can use [CESNET storage service](#cesnet-data-storage), which is available via SSHFS. -## Shared File systems +## Shared File Systems Salomon computer provides two main shared file systems, the [HOME file system](#home-filesystem) and the [SCRATCH file system](#scratch-filesystem). The SCRATCH file system is partitioned to [WORK and TEMP workspaces](#shared-workspaces). The HOME file system is realized as a tiered NFS disk storage. The SCRATCH file system is realized as a parallel Lustre file system. Both shared file systems are accessible via the Infiniband network. Extended ACLs are provided on both HOME/SCRATCH file systems for the purpose of sharing data with other users using fine-grained control. -### HOME file system +### HOME File System The HOME file system is realized as a Tiered file system, exported via NFS. The first tier has capacity 100 TB, second tier has capacity 400 TB. The file system is available on all login and computational nodes. The Home file system hosts the [HOME workspace](#home). -### SCRATCH file system +### SCRATCH File System The architecture of Lustre on Salomon is composed of two metadata servers (MDS) and six data/object storage servers (OSS). Accessible capacity is 1.69 PB, shared among all users. The SCRATCH file system hosts the [WORK and TEMP workspaces](#shared-workspaces). @@ -44,7 +44,7 @@ Configuration of the SCRATCH Lustre storage - Disk array EF3015 - 12 x 600 GB SAS 15 krpm disk -### Understanding the Lustre File systems +### Understanding the Lustre File Systems <http://www.nas.nasa.gov> @@ -108,7 +108,7 @@ Large stripe size allows each client to have exclusive access to its own part of Read more on <http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html> -## Disk usage and quota commands +## Disk Usage and Quota Commands User quotas on the Lustre file systems (SCRATCH) can be checked and reviewed using following command: @@ -215,7 +215,7 @@ Default ACL mechanism can be used to replace setuid/setgid permissions on direct ## Shared Workspaces -### HOME +### Home Users home directories /home/username reside on HOME file system. Accessible capacity is 0.5 PB, shared among all users. Individual users are restricted by file system usage quotas, set to 250 GB per user. If 250 GB should prove as insufficient for particular user, please contact [support](https://support.it4i.cz/rt), the quota may be lifted upon request. @@ -236,7 +236,7 @@ The workspace is backed up, such that it can be restored in case of catasthropic | User quota | 250 GB | | Protocol | NFS, 2-Tier | -### WORK +### Work The WORK workspace resides on SCRATCH file system. 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 accessible to all users involved in project projectid. @@ -261,7 +261,7 @@ The WORK workspace is hosted on SCRATCH file system. The SCRATCH is realized as | Number of OSTs | 54 | | Protocol | Lustre | -### TEMP +### Temp The TEMP workspace resides on SCRATCH file system. The TEMP workspace accesspoint is /scratch/temp. Users may freely create subdirectories and files on the workspace. Accessible capacity is 1.6 PB, shared among all users on TEMP and WORK. Individual users are restricted by file system usage quotas, set to 100 TB per user. The purpose of this quota is to prevent runaway programs from filling the entire file system and deny service to other users. >If 100 TB should prove as insufficient for particular user, please contact [support](https://support.it4i.cz/rt), the quota may be lifted upon request. @@ -288,7 +288,7 @@ The TEMP workspace is hosted on SCRATCH file system. The SCRATCH is realized as | Number of OSTs | 54 | | Protocol | Lustre | -## RAM disk +## RAM Disk Every computational node is equipped with file system realized in memory, so called RAM disk. @@ -338,9 +338,9 @@ 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 access +## CESNET Storage Access -### Understanding CESNET storage +### Understanding CESNET Storage !!! Note "Note" 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>) @@ -392,7 +392,7 @@ Once done, please remember to unmount the storage $ fusermount -u cesnet ``` -### Rsync access +### Rsync Access !!! Note "Note" Rsync provides delta transfer for best performance, can resume interrupted transfers diff --git a/docs.it4i/software/bioinformatics.md b/docs.it4i/software/bioinformatics.md index 83fd2dd33..76991fe78 100644 --- a/docs.it4i/software/bioinformatics.md +++ b/docs.it4i/software/bioinformatics.md @@ -4,13 +4,13 @@ In addition to the many applications available through modules (deployed through EasyBuild packaging system) we provide an alternative source of applications on our clusters inferred from [Gentoo Linux](https://www.gentoo.org/). The user's environment is setup through a script which returns a bash instance to the user (you can think of it a starting a whole virtual machine but inside your current namespace) . The applications were optimized by gcc compiler for the SandyBridge and IvyBridge platforms. The binaries use paths from /apps/gentoo prefix to find the required runtime dependencies, config files, etc. The Gentoo Linux is a standalone installation not even relying on the glibc provided by host operating system (Redhat). The trick which allowed us to install Gentoo Linux on the host Redhat system is called Gentoo::RAP and uses a modified loader with a hardcoded path ([links](https://wiki.gentoo.org/wiki/Prefix/libc)). -## Starting the environment +## Starting the Environment ```bash mmokrejs@login2~$ /apps/gentoo/startprefix ``` -## Starting PBS jobs using the applications +## Starting PBS Jobs Using the Applications Create a template file which can be used and an argument to qsub command. Notably, the 'PBS -S' line specifies full PATH to the Bourne shell of the Gentoo Linux environment. @@ -35,14 +35,14 @@ $ qsub myjob.pbs $ qstat ``` -## Reading manual pages for installed applications +## Reading Manual Pages for Installed Applications ```bash mmokrejs@login2~$ man -M /apps/gentoo/usr/share/man bwa mmokrejs@login2~$ man -M /apps/gentoo/usr/share/man samtools ``` -## Listing of bioinformatics applications +## Listing of Bioinformatics Applications ```bash mmokrejs@login2~$ grep biology /scratch/mmokrejs/gentoo_rap/installed.txt @@ -203,7 +203,7 @@ sci-libs/suitesparseconfig-4.2.1 sci-libs/umfpack-5.6.2 ``` -## Classification of applications +## Classification of Applications | Applications for bioinformatics at IT4I | | | --------------------------------------- | ------ | @@ -224,7 +224,7 @@ sci-libs/umfpack-5.6.2  -## Other applications available through Gentoo Linux +## Other Applications Available Through Gentoo Linux Gentoo Linux is a allows compilation of its applications from source code while using compiler and optimize flags set to user's wish. This facilitates creation of optimized binaries for the host platform. Users maybe also use several versions of gcc, python and other tools. diff --git a/docs.it4i/software/lmod.md b/docs.it4i/software/lmod.md index bc29eaaef..f3ed85911 100644 --- a/docs.it4i/software/lmod.md +++ b/docs.it4i/software/lmod.md @@ -26,7 +26,7 @@ Below you will find more details and examples. | ml save mycollection | stores the currently loaded modules to a collection | | ml restore mycollection | restores a previously stored collection of modules | -## Listing loaded modules: ml (module load) +## Listing Loaded Modules: Ml (Module Load) To get an overview of the currently loaded modules, use module list or ml (without specifying extra arguments). @@ -41,7 +41,7 @@ Currently Loaded Modules: !!! tip for more details on sticky modules, see the section on [ml purge](#resetting-by-unloading-all-modules-ml-purge-module-purge) -## Searching for available modules: ml av (module avail) and ml spider +## Searching for Available Modules: Ml Av (Module Avail) and Ml Spider To get an overview of all available modules, you can use module avail or simply ml av: @@ -65,7 +65,7 @@ In the current module naming scheme, each module name consists of two parts: !!! tip The (D) indicates that this particular version of the module is the default, but we strongly recommend to not rely on this as the default can change at any point. Usuall, the default will point to the latest version available. -## Searching for modules: ml spider +## Searching for Modules: Ml Spider If you just provide a software name, for example gcc, it prints on overview of all available modules for GCC. @@ -129,7 +129,7 @@ $ module spider GCC/6.2.0-2.27 This tells you what the module contains and a URL to the homepage of the software. -## Available modules for a particular software package: ml av <name> +## Available Modules for a Particular Software Package: Ml Av <name> To check which modules are available for a particular software package, you can provide the software name to ml av. For example, to check which versions of git are available: @@ -165,7 +165,7 @@ Use "module spider" to find all possible modules. Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys". ``` -## Inspecting a module using ml show +## Inspecting a Module Using Ml Show To see how a module would change the environment, use module show or ml show: @@ -200,7 +200,7 @@ setenv("EBEXTSLISTPYTHON","setuptools-20.1.1,pip-8.0.2,nose-1.3.7") If you're not sure what all of this means: don't worry, you don't have to know; just try loading the module as try using the software. -## Loading modules: ml <modname(s)> (module load <modname(s)>) +## Loading Modules: Ml ≪modname(s)> (Module Load ≪modname(s)>) The effectively apply the changes to the environment that are specified by a module, use module load or ml and specify the name of the module. For example, to set up your environment to use intel: @@ -226,7 +226,7 @@ Currently Loaded Modules: !!! tip Note that even though we only loaded a single module, the output of ml shows that a whole bunch of modules were loaded, which are required dependencies for intel/2017.00. -## Conflicting modules +## Conflicting Modules !!! warning It is important to note that **only modules that are compatible with each other can be loaded together. In particular, modules must be installed either with the same toolchain as the modules that** are already loaded, or with a compatible (sub)toolchain. @@ -260,7 +260,7 @@ $ which gcc /usr/bin/gcc ``` -## Resetting by unloading all modules: ml purge (module purge) +## Resetting by Unloading All Modules: Ml Purge (Module Purge) To reset your environment back to a clean state, you can use module purge or ml purge: @@ -282,7 +282,7 @@ No modules loaded As such, you should not (re)load the cluster module anymore after running ml purge. See also here. -## Module collections: ml save, ml restore +## Module Collections: Ml Save, Ml Restore If you have a set of modules that you need to load often, you can save these in a collection (only works with Lmod). diff --git a/docs.it4i/software/orca.md b/docs.it4i/software/orca.md index 5f71cf608..c55644659 100644 --- a/docs.it4i/software/orca.md +++ b/docs.it4i/software/orca.md @@ -2,7 +2,7 @@ ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects. -## Making orca available +## Making Orca Available The following module command makes the latest version of orca available to your session @@ -28,7 +28,7 @@ Currently Loaded Modulefiles: 11) ORCA/3_0_3-linux_x86-64 ``` -## Example single core job +## Example Single Core Job Create a file called orca_serial.inp that contains the following orca commands @@ -89,7 +89,7 @@ TOTAL RUN TIME: 0 days 0 hours 0 minutes 2 seconds 796 msec qsub: job 196821.isrv5 completed ``` -## Register as a user +## Register as a User You are encouraged to register as a user of Orca at [Here](https://orcaforum.cec.mpg.de/) in order to take advantage of updates, announcements and also of the users forum. -- GitLab