From Beocat
Revision as of 15:12, 4 March 2024 by Mozes (talk | contribs)
Jump to: navigation, search

OS Change

Soon we'll be switching our Operating System from CentOS 7 to Rocky Linux 9. If you are utilizing software that we provide via the module command, it would be a good idea to access the testbed and verify that we have the tools which you need. If they are not there, you should let us know what you need.

One big thing that I'm not sure we've made abundantly clear enough, is that if you have compiled your own software (with or without our modules) you will likely need to recompile it to use it with the new operating system.

Accessing the testbed

We have provided two new head nodes helios and clymene.

Once you have logged into beocat, you can access them with ssh. e.g. ssh helios

They will be setup much the same way as our previous head nodes were, with access to the module command. The modules we have available under Rocky Linux 9 are available as a searchable list here

To submit jobs to the new operating system, we have provided a new constraint so that you are able to request the OS variant. CentOS 7 hosts have the feature os_el7, while the Rocky Linux 9 hosts provide the feature os_el9.

You would use the following in a job script to tell the scheduler that you would like the new OS:

#SBATCH -C os_el9

We have an OpenOnDemand version of the testbed available at https://ondemand-dev.beocat.ksu.edu

Using old software

Below is a script that will execute a container with all of the public software we provide under CentOS 7 from the head nodes. There may be versions of GPU-related packages missing.

#!/bin/bash
# This script is a wrapper for our CentOS 7 based container.
# You would use it something like this:
# sbatch -C os_el9 /opt/beocat/containers/beocat_centos-7.9.wrapper.sh ./R-hello_world.sh

# Note that you would need to provide an appropriate path for the script to to execute
# under the contained environnment (either a full path or a relative path), and the script
# would need to be executable.

# This is meant to be a stopgap measure for those that may be reliant on older software
# that we will not or cannot provide under our new operating system.

singularity exec /opt/beocat/containers/beocat_centos-7.9.sif /bin/bash -l <<EOF
${@}
EOF

If you would prefer, you could put the singularity exec lines in your script, with the commands you would like to run between the <<EOF and EOF sections.

There will be no good way to utilize these tools with multi-node jobs, so it would be a good idea to migrate away from the CentOS 7 tools as soon as possible.