diff --git a/.spelling b/.spelling index fd17bf7f6f059c63d5fbcbc09234cb061f61d213..1cb0368c8bf540de371e775f49e4848e7a78d425 100644 --- a/.spelling +++ b/.spelling @@ -3,17 +3,25 @@ # global dictionary is at the start, file overrides afterwards # one word per line, to define a file override use ' - filename' # where filename is relative to this configuration file +COM +.ssh Anselm IT4I IT4Innovations PBS Salomon TurboVNC +VNC DDR3 DIMM InfiniBand CUDA +ORCA COMSOL +API +GNU +CUDA +NVIDIA LiveLink MATLAB Allinea @@ -63,6 +71,7 @@ MPICH MVAPICH2 OpenBLAS ScaLAPACK +PAPI SGI UV2000 400GB @@ -251,7 +260,3 @@ r37u31n1008 qsub it4ifree it4i.portal.clients -API -GNU -CUDA -NVIDIA diff --git a/docs.it4i/anselm-cluster-documentation/capacity-computing.md b/docs.it4i/anselm-cluster-documentation/capacity-computing.md index f49aa61f3903f9b9ac45c67a8187e6ad44b57ce5..cab8b9c19c39ed2b1828768b484769dfc30a0255 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. @@ -31,7 +31,7 @@ A job array is a compact representation of many jobs, called subjobs. The subjob All subjobs within a job array have the same scheduling priority and schedule as independent jobs. Entire job array is submitted through a single qsub command and may be managed by qdel, qalter, qhold, qrls and qsig commands as a single job. -### Shared jobscript +### Shared Jobscript All subjobs in job array use the very same, single jobscript. Each subjob runs its own instance of the jobscript. The instances execute different work controlled by $PBS_ARRAY_INDEX variable. @@ -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 1da7e6e95d015ae844acfe37c2ab9c34577a4269..fbd57f0f79a196b0f979378ea932b43bf99ea2a4 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 227343a0c9b04fd80864f29bc3e5d35bb4ab0f2b..8ab52e9bc20154637d5ac62c9d0169949279baa5 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 9cbbb19a14b369f6872092b7c5bc0b20f8ee413d..4a7417fde25a63baac0aaaf17adc40d0d650fa9a 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 8e838d7550522fa389bc986090fa89d5451a72a7..929f6930a42b253a763e43af1cfe2da9add18614 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 7eecefdca112cf3c111a18847b381de96c61027b..27340a1f8d0d1b36c4feba9233be4df667e6a08e 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 ec3fd42162d5ba6682e8f1fe310abe35fffe44fe..9ed9bb7cbabfec0328b3da68e67cd27daba12477 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 +### Core-Hours 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 08978df2cbfe81e7a4d6d9f3a1ebd4313654e065..2f3aad9bb4abc2cbab7ee681bfc030437c72e02b 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 d170ade3655fadfe0d1acaf3f5707548376e113d..89fedb100bd003835dd0f8efa8f21431790c5f88 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 af3115a8a03fb7434b1bba2b198c1133c88fe500..7f1bdcd9f66f4ce224966eb3fba5a7941abb4531 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 a578fb9d8e0c7ec115bbbeab83ed7d9845b9b2ab..d22c987f2f4e794def52c33eb6950b825eac6708 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 d8f929d12531c04f9970dfcf27af2761995ab547..67c0bd30edcc631860ec8d853e0905729f8e5108 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 de7d1da222e3c1c0d1fd32e92eb77513981a4188..7d2fe37aaba8aab17a4086d6c657faaf6d5d65a3 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 45b2c465c7830aa7a8a81c5044542f949bddf7c3..23849f609b3b96db56c1f93da53f0f350cc9b1e9 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 11335363e21cc51a9e693ad9e342fec5acac40e4..68e804f48069479a127e82659d8fbba928f57fe1 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 b534dd81bf7d0c745c291c9c5abd95fae53629bd..c408fd4fe08815c59c5e5beafecd99fe4a1d6b9a 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 a08f5fa77e03047ac816411a2f5e94d1c10cdf93..689bdf611508229df8611022283972632ff84fd9 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,15 +60,15 @@ 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. @@ -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 0e46005e8e21844cd65b55b80a4dcb4852cb12a3..45c0768e7cae1ed4e5256e461b2b29f40aa86bb5 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 05fde19702b3d8303d6d1604af157f94d42b6fc6..4f1296679c56b6d65a0edb873196c5c0bb537519 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 32a1e2e69754235ead6709ed1bae90c4231dc0f2..ca08c5ea8f6b45f048e42a95f9f119f05dc35ef2 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 26a988a0c4f970eb4f37b0e05eba8e5ab407bef3..8332377a295ac21a6175918d893043143dd6c669 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 15509457b9735703e8ad8d6139c6813cdb03cdd8..f5336b9e629728b65a37dd8c73c669beb36bae3c 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 8818844f924a3274e69957abfcd9d70533dd8648..ec96e2653a3bfeb9614be13b969ff3273b3ee255 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 e78535a1d4491e8adf0ab1eecd2d8f0ea7a4b775..50b8b005e4f65c2ba9eb51cd8bd21fc398979f76 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 f63f338b9241f5427c32b8b5230083b750feb5cd..f13086df7431676a95a75b5258a10667a3464c57 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 fc9ad019cd10b5c83df92d2abe2b0cecd031d444..7d874b4d9534379cd8e1c62fcf1069f4406df721 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 f59b0417fb92c137266d25a227f2e5a7a83c49c8..d887b4e595f8d6876dd56091c418e439e98f8aca 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 681f16d3c8f4e1be93099848e6bf569090ba8704..24c6380f725105b68f25154d9175c82ecd99269e 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 4cc1f5383e6214f064b182543252fc9b97723430..f9f6f4093a1ed659c7cd4ed63bea944b4dd40ffe 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 fa9e5273d39ab8e27488d560cf5fa959efb2f783..5c0a71af18ba839622f6ae0d5eef8c9ec62ac285 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 +## 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 8ef95f5491139c3641bed38709143557dc786839..577478f9cb8475449ac0f6dfd4215a073609e2e5 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 +## 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 83d14296986946aaedb8b61e83ba6aa52ec362be..259d6b094ea03ac911243bf3fcba411ee9bf555c 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 2560280b66329edb7966882797e90982f915d14f..7d954569b14c633272ee4ee793f0a62703f7827c 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 ade0bc2e6284c37f40acc73be8a5934e982de580..dd92c4e68922dfbbc267de5dbc088096b9fb919b 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 c9237a8346d90b4e98f59ea4d9a07d473a250e3e..9625ed53e88575101548ddbe48687829ac18414c 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 74c882c3bde7a5aff01e4bb205b2c14c59efa45b..0d5f59454eccdfc59e69e49914d8327e6d140227 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 c65f540e4e4c1b8fad24a0ab9bbbe593d0b88463..602b51b4b908628360eb428e5b5850d65151388c 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 016aadd2e1613be5250b588b5943d825ebe3f790..d10c114ce7b0fb1f16f70b1310155a86f419dcb0 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 992bfe1626e7df2f6a806b0713f43b126c26dfb1..e043f45a4e347ef6114955ef420c87b702278704 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 e9ffdfe2b6d3d37f46ffb6b77830d2cc7bdcae31..48ac36cabf4ed594540a5bbfe6239cdfabacd25a 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 4295fc5d72115f880d1803c325556685b31c419c..0f21187f23982ea4eebba887fa786e7cef0467c6 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 5c0c9f27f0ec508f3e90d871508c215bab580eef..6a91d61483a4e55e3a02d0c3da1deb5548a0c13e 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 cfdffd82dd0338bb5f6544c239378e0308f8e2c5..5ea0936f7140691ade232c63c65a752018f96537 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 761a42ca80af58e474eff4e2d9b8480d4943f791..0fc553cd6e44ae92774deb9515fb216b9b79abc3 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 84d541474d2b1a220e2bae165b7187aa376bb76c..493eb91a3b8da7594a78c6a1186d7398f7cd0806 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 +## 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 908641a1974158f103ae123fa9eef08cf3755b40..d8d0c4fc4e26a25550cb96b6dbe16a7a587fecf5 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 80ae515bd495524c9bdf7806f82a741afdcf38a7..4db4854d169586a1850f0c28b858babc721e5fa9 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 bd7cc12c2103919d69815819d455b25e620c4f5a..d1b22d535ee900269a3f2d233a0dd4644e4ee297 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 406fc0e9b3ae293f0fbbde3fe56a9581a17f7d8f..b7a350368cac78589729f1928b9b1cce9e1dd449 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 +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 5f83eabeabb716873a117654d94e4f0c69541c6a..7c3b9ef7404c00248a0ef970b68ad7931663328b 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/vnc.md b/docs.it4i/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc.md index 0e566755baed0ecd16d3e70574034a93eb5ff93f..5ed9f564ccc3d206b2d6e3e929f35448ef2ddc1e 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 d305cb02bb985d713c656c1eda6c2ade91fa57ad..94daef1f97113bcd0a536b3419731fb5ef26859b 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 +## 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 31ca54a28db73f16abc008a8823d619f393624ed..ed4dd2c5e9023776f1042e6590f8bc24b1759d3c 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 9672a2d38d6c89c1022c0f33fcd7a4b593de5d39..0ab1e6ef705f39e4437397c58d86d3c150fd0f63 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 95c3027d2c3f06d7824ce18eb3620dc87e8f2438..ec5b7ffb4c6e7264d9cef6a8666e40943b04e9ee 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 decb2210fd03dbe8901262a43318a818671aca01..f6c526e40b8dce0f55b6e44264476658734f8a22 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 2e6348e5d827f8b549aca6de6497e7defa72f7cc..6c1e908d908e3124248255831e85f105b203a76d 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 040ffe8144c60fd82c641b3e3c3f3a7fb3b4de2d..d1b5cdb19072e04b39f2de6d58d87ec17fdff777 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 5de00c5ed5270d7e75de4d3b8b8a66d45ae4480a..b4d4ceda0b0265fef832d8e5298f462fb4074acb 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 d252c6766a0730f3a68d00c1aeb40e7297ac50bf..bc3a4c49b270d9c9f979d2c043dbd68025a05fff 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 +## 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 +## 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 3d1ab58521dd9e38367019ffa5591e7588937326..5041509bcaadee45eb218c3eb45f61542d4ee2c5 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 1c3d4fafb26e7d53d3d1226979f021d776730ca6..11151010082595be1cb46a98156bc86ef6c4d96c 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 2f2a7308b13cda92c50e689909eca3cf55763000..90dfc25cdfdec3146e81208fbaf7730d5826a54e 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 26e1541ca2808353a8a25b482cbc770b77c668e5..ddcc4dc559013716f1e6eb30e85a011fb6940ebe 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 d888d314a4fb585fea9862273a5412b8b46e376e..c20234030c70a4a6dc9e8ba36f86b1097437313d 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 d654fe45c9f7d0a504eadcd12984f1533007dcb3..7ba5d80bc336e41ee5823fde72ea5807f0bd40b2 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 e98d56b7f5aa405c5384aa712ef7505c41b33e6a..d13c8f5f4c3f8d98d3cc418ec2695f99a54ce9bc 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 0087bb6f0be3ff92906ae41dbdafeccd3ee5a22b..96f8d21875ace8c7e2b51a647f8d8707661af175 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,20 +125,20 @@ 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. +Network location of allocated nodes in the [InifiBand network](network/) influences efficiency of network communication between nodes of job. Nodes on the same InifiBand 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. +For communication intensive jobs it is possible to set stricter requirement - to require nodes directly connected to the same InifiBand switch or to require nodes located in the same dimension group of the InifiBand network. -### Placement by Infiniband switch +### Placement by InifiBand 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. +Nodes directly connected to the same InifiBand 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 InifiBand switch. !!! Note "Note" We recommend allocating compute nodes of a single switch when the best possible computational network performance is required to run job efficiently. -Nodes directly connected to the one Infiniband switch can be allocated using node grouping on PBS resource attribute switch. +Nodes directly connected to the one InifiBand switch can be allocated using node grouping on PBS resource attribute switch. In this example, we request all 9 nodes directly connected to the same switch using node grouping placement. @@ -146,12 +146,12 @@ 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 InifiBand Switch !!! Note "Note" Not useful for ordinary computing, suitable for testing and management tasks. -Nodes directly connected to the specific Infiniband switch can be selected using the PBS resource attribute _switch_. +Nodes directly connected to the specific InifiBand switch can be selected using the PBS resource attribute _switch_. In this example, we request all 9 nodes directly connected to r4i1s0sw1 switch. @@ -159,7 +159,7 @@ In this example, we request all 9 nodes directly connected to r4i1s0sw1 switch. $ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24:switch=r4i1s0sw1 ./myjob ``` -List of all Infiniband switches: +List of all InifiBand switches: ```bash $ qmgr -c 'print node @a' | grep switch | awk '{print $6}' | sort -u @@ -172,7 +172,7 @@ r1i2s0sw0 ... ``` -List of all all nodes directly connected to the specific Infiniband switch: +List of all all nodes directly connected to the specific InifiBand switch: ```bash $ qmgr -c 'p n @d' | grep 'switch = r36sw3' | awk '{print $3}' | sort @@ -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 fd56e39a7ecd5cc5899976bdee399484cc8797bf..5dfd1dfa47ce4254001b33a9d990855d10ea9875 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 d9c10ba524669e235cde4d8aaee22730307f7fdb..fa47d4a4203249ad77764deb590ba5fbedc99659 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 fa86f8439653f5f9e5cab8df1714c5e794d1e49c..8f77c70f2eaa9f26629e5418c3b39c661427cf5a 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 +### Core-Hours 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 94da50a462261ea8fe571a8fa159a5489a6c4c23..06f79c205296b7ada5818d2e4993ff3d4dc843fc 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 c69480c6ae8dd17148b5588993dc228c405e548f..ba4405f1a2ca525a338f2aadc09fc893a6ff1958 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 diff --git a/docs.it4i/salomon/software/chemistry/molpro.md b/docs.it4i/salomon/software/chemistry/molpro.md index 2b8ead8136c81f35a434fb421f0a48f802485994..308ed266f8da52511be04f46da0a07355b4cb1ab 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 2feebda57f3928c89ed55a7c836eee8d8d3d672f..5ed6e3ccf9041476adaf12a722b91076950b7967 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 970eb3019284426b8ce4ac3b24cc5b7859adfc82..35a5d1313797af3cde15ea042a39327ca00d66f7 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 by 2 by 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 007e17ad1d4a8cf7b039235a3d9a6c8ae0d02b73..d3c84a193a723d9042ba788ef687cde5290992be 100644 --- a/docs.it4i/salomon/software/comsol/comsol-multiphysics.md +++ b/docs.it4i/salomon/software/comsol/comsol-multiphysics.md @@ -1,4 +1,4 @@ -# COMSOL Multiphysics® +# COMSOL Multiphysics ## Introduction @@ -70,9 +70,9 @@ 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. +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. LiveLink for MATLAB is available in both **EDU** and **COM** **variant** of the COMSOL release. On the clusters 1 commercial (**COM**) license and the 5 educational (**EDU**) licenses of LiveLink for MATLAB (please see the [ISV Licenses](../isv_licenses/)) are available. Following example shows how to start COMSOL model from MATLAB via LiveLink in the interactive mode. 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 b27b36a28b1afba257cb1f620c823106db34535f..41972882c7d3154e6474953e91aaf250a3b2b91b 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 3b9f18ba1d7656d10c1021cbd3460b22f0c3bf07..a5c9cfb60154fbaf13faebaf15a508597b40703f 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 c119f40a8d48d8b97a8608ead54c8f2e225fea56..94890c0568db7fc65df273c068b3356c2c23b44e 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 2733d42c28012a51499056d129adc3fc456fd31d..918ffca1ae77f0c22bbce07cf4ca3f4a95058684 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 27cd6c56f30db92de764d6812f328d84b98772b0..7f1cd15dfdc270cde7b3c92244ab04842ab066c5 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 d6949285b667d04293176816ed32cdec130adb4b..a5d52269cc0e835f77752fc0ed8be3d3afe40b24 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 ad4e97cf55b02254012b728f724e55bbb00fe9a4..864a384b0352f0060e66abf895d3800013a59897 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 484c781d67a614d090244f53b0d8e715936f0b0f..77975c016e750cd816ca9821acbe57bb5d18ccae 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 1157d602d8f2fb486e440010e6f5d5baa917b80c..43b816102543988f8b462d2ab0e3d0c408b971f5 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 5be127bbf5e539e0670ec876a882289e29c3ff50..1fbb569d179f6f95aa9918748075c67b92458bf1 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 94ad54776417204210a68f4c70ed4edc1eed0345..3ff7762b131f56dff0fa6385f90003e5f78d8812 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 fb040dd18c6330c3fe2bcf943c2963cf8125ed2a..ead2008dc115bd5b8d7d76a623e9fe22b9161d56 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 f8456b24dd7ad4d9d079d4b8e8f4690f50bb2a87..83f109e7d25d1eeb3bc3876fcf79750db6897cbc 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 d176c71f3d51bfa4e914764432d256c56e93c65c..219ebaa772b5ea1d0963515647adc3c68e26ff83 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 27abcfc226c3b34947301391d421e97ad1603a58..94e32f39073b41801f20391b04cc5081f99649f7 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 9d9f9fd43d22c7dd952366b6ae1a41f854a23e17..cf170231eec28314236eb262ae6893abf71852a9 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 863827f99080abe2646c0c9f88c25dd00cdd1b00..ecddeea4e09bed949585a740cc028017608eaadc 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 +## 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 a9b73cc602a5b211b1f7c96c83708e0a04ef8982..da78ee38db2fca6229aae19400cf10aec121e4b5 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 b4ea7dd7a106b3fff859b129d45668d5ad7183e1..3f89096cbf2c3b4dfc29daee1728f214c7e75169 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 2de5360789b63cf81f43b69863a2b248da1228e5..160478b6ed3c4dbfaf7226759fab0fd8fb9ddc67 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 4ff078efa4333bc6a70f6c34514b3f463c8dcbdd..95f0e3dde69ad160c495b8b4e5c9cc6dbe0effb0 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 001cce805ea0eaaf949287068e648a3c26094b1e..9afa31655aa34f07ff217c5ece8f6de298e691e2 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 94745247b33ea4e13202ca1f8c37db69e5370c76..27cbead8d13496015adeb99aad9425115370c5fe 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 83fd2dd338087c7fae5cb0d09f0fdf4d24882bf6..76991fe7810ea45fdf7a77ed1cd03adf20a79152 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 bc29eaaef05aa847f68a4fc30f388a63c20a0ed6..5ba63f7e03762e356a0d74cfb4eb4826682314a6 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 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 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 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 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 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 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 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 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 5f71cf608f40aa2d3b7a81521942c86bfc8de4c3..6a8769c65c1033f1b55fecf26a1e7855bc3a9da6 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.