Cloudy on Thor User Guide MPI: Message passing interface Thor is an MPI-enabled computational cluster owned and administered by the College of Engineering and Applied Sciences, Department of Computer Science, at WMU. It is available to faculty and students for research and development purposes. It provides ~16 research nodes, 2 student nodes, and a few nodes dedicated to specific projects. More specifics can be found on the lab's home page. Access to Thor is available using SSH. An account must be established by a system administrator, first. Most likely, one's account name will be one's WMU network login. HPCS Homepage: https://cs.wmich.edu/~hpcs/ Thor's hostname: thor.cs.wmich.edu SysAdmin: Currently not filled or unknown To use some software on Thor (Notably, the compilers.), one must be aware that available libraries are provided through a modules system. One must load the module that contains the program one wants. The pertinent commands are: module avail (show available modules) module list (show currently loaded modules) module load (load a module) For use in this guide, one need load the gcc module with the following command. If version 4.7.3 is no longer available, use module avail to find a compatible version of gcc. An MPI library must also be loaded. module load gcc/6.3.0 module load openmpi/gnu/1.7.3 To utilize MPI functionality, Cloudy must be compiled with MPI support. Cloudy attempts to provide a simple interface through which to accomplish this. Cloudy provides a system of makefiles for compiling the software with many compatibilities. These makefiles are available under the subdirectories of the c13.03/source directory. In this case, sys_mpi_gcc should be used. Provided the gcc and MPI modules are loaded in a Thor environment, the following sequence should compile Cloudy with MPI support. (From the Cloudy root directory, which was c13.03/ at the time of this writing.) cd source/sys_mpi_gcc make The executable file should now be available. MPI programs aren't intended to be run directly, but rather submitted to the scheduler for processing. Thor uses the scheduler Torque. Some pertinent commands are: qstat (show currently running jobs) qnodes (show information about available nodes -- quite verbose) qsub