Skip to content

Configuration on the new HPC infrastructure

In order to better support multiple computing groups around campus as well as to support a heterogenous compute cluster with multiple CPU architectures, we have put the newly-installed software in a new location (/local/cqls/software), see more information in the Software section.

We've also added some tools to make managing your environments and software a bit easier to remove barriers for your research projects.

Updating your shell configs (dotfiles)

The old dotfiles that your shell is sourcing are found in /local/cluster/etc, and the updated dotfiles are in /local/cqls/etc. You can manually point to these files yourself, or you can run:

hpcman user update-dotfiles -c all
exec $SHELL

This will get your dotfiles updated so that the new software is preferred over the old software.

Allowing hpcman to help you manage your environment

The hpcman software was updated so that it can help you manage certain types of software installs, including R, conda enviroments (using pixi), and python versions/environments (using uv). To get set up using this system:

Check out a node using salloc and then run these commands:

hpcman user enable
exec $SHELL
hpcman user setup prefix /nfs/dept/lab/home/user/opt # Change this to something appropriate for your lab and user
hpcman user setup pixi
hpcman user setup uv
hpcman user setup R_LIBS_USER

Log out and back in to see these changes.

Getting conda set up

For legacy conda envs that do not work well using pixi, you can set up conda by running:

hpcman user setup conda

This will get conda and mamba set up for you in bash. The new conda is a miniforge install and does not use the defaults channel from Anaconda. An activate.sh script for each CPU architecture will be in /local/cqls/conda/$ARCH/scripts, and the CONDARC environment variable will point to a condarc file for you for each architecture as well. users will have to run the hpcman user setup conda once per CPU arch to get the proper settings files built (for now).

As of the writing of this page, only x86_64 is supported, but others will be supported soon.

Disabling hpcman from updating your environment

If you want to disable hpcman from setting environment variables for your environment, you can delete the source $HOME/.config/hpcman/env.sh lines from your ~/.bashrc and ~/.cshrc.

Manually editing the hpcman-managed variables

The config files for hpcman are stored in $HOME/.config/hpcman by default. You can examine the env.sh for bash and env.csh for tcsh, respectively. As of now, these files will remain synced, with the bash file env.sh taking precedence, so any changes made to the env.csh file could be overwritten at any time.

Warning

If you edit the hpcman-managed files and then re-run 'hpcman user setup ...' your changes could be over-written at any time

Why can't I connect to the web from a node?

Your proxy settings may not be up-to-date. Please make sure your config files are updated and then check your proxy settings:

➜ printenv | grep -i 'https\?_proxy'
http_proxy=http://10.224.64.23:3128
https_proxy=http://10.224.64.23:3128
HTTP_PROXY=http://10.224.64.23:3128
HTTPS_PROXY=http://10.224.64.23:3128

And my Java tool can't connect to the web, either

You can set this environment variable before you run your Java code so it picks up the proxy:

bash
export JAVA_TOOL_OPTIONS='-Dhttp.proxyHost=10.224.64.23 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=10.224.64.23 -Dhttps.proxyPort=3128'
tcsh
setenv JAVA_TOOL_OPTIONS '-Dhttp.proxyHost=10.224.64.23 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=10.224.64.23 -Dhttps.proxyPort=3128'