What is this?

In all likelihood, you're looking at this page because you have just been given access to the scicomp machine shop, which consists of a number of research machines that are being collaboratively maintained by Bill Gropp, Luke Olson, Edgar Solomonik, and Andreas Kloeckner in the Scientific Computing Group within the Department of Computer Science at the University of Illinois.

Getting in


should do the trick.

As of June 2017, off-campus access is restricted to porter.cs.illinois.edu. Once SSH'd into porter, you can ssh into the other machines from there. (Make sure to use agent forwarding.)

Here's a snippet for your $HOME/.ssh/config that lets you say ssh stout to get to stout from anywhere:

Host porter
  HostName porter.cs.illinois.edu
  ForwardAgent yes
  User andreask
Host stout
  ProxyCommand ssh porter -W stout.cs.illinois.edu:22
  ForwardAgent yes
  User andreask

Learning about SSH Keys

Ubuntu OpenSSH tutorial

Note: This command will typically generate a better/safer/smaller key.

ssh-keygen -o -a 100 -t ed25519


Adding SSH keys

You won't be prevented from editing $HOME/.ssh/authorized_keys, but your changes will be overwritten periodically. Instead, ask Luke or Andreas to add your key.

Using the Machines

Long-running jobs

If you have jobs that need to run for a long time (say, more than a few hours), please consider running them with low priority, so that others can continue to use the machine interactively. To do so, simply start your job with

nice (rest of your command)

man nice can tell you more about this command. To change the priority of a job after it has already started, you may use renice. man renice can tell you more about this command.

If you need (mostly) exclusive access to a machine for an extended period of time (say, for timing runs), simply send a message to the mailing list (see below).

Changing your shell

Ask Luke or Andreas.

Sharing Files within the Machine Shop

Need root privileges?

You're generally welcome to have them.

Do's and Don'ts while being root

Mailing List

We use a mailing list for updates about the cluster. If you have an account, you should automatically be subscribed. There's an archive there, too.

Machine Inventory

High Performance Racks




koelsch.d.tiker.net (to become koelsch.cs.illinois.edu)

Legacy/Small Workstations with GPUs



grouse.cs.illinois.edu (restricted access)

partridge.cs.illinois.edu (restricted access)


Using AMD GPUs

export OCL_ICD_VENDORS=/etc/OpenCLwithAMD/vendors

(AMD OpenCL is so bad, it will crash other OpenCL workloads, even those that do not use the AMD GPU)


Using Jupyter and iPython notebooks across the network

To run a Jupyter instance on say dunkel, using a browser on say your laptop, follow these steps:

  1. on dunkel: jupyter notebook --no-browser

  2. Note the port number on localhost:8888

  3. on your laptop: ssh -N -L 8157:localhost:8888 lukeo@dunkel

  4. on your laptop: navigate to localhost:8157 in your browser

Using Paraview in server/client mode

To run Paraview in server/client mode without running X on the server side, compile it with EGL enabled.

Compiling Paraview on server with EGL support

  1. Get EGL includes from libegl1-mesa-dev or https://www.khronos.org/registry/EGL/.

  2. Download Paraview source from https://www.paraview.org/download/ (5.4.1 has been tested to work).

  3. In the source directory: mkdir build && cd build.

  4. Compile Paraview with configuration
    •     cmake .. \

      Modify the options to suite your needs, and be sure to enable VTK_USE_OFFSCREEN_EGL while disable VTK_USE_X and PARAVIEW_BUILD_QT_GUI. Also set CMAKE_INSTALL_PREFIX to a path under your home directory where you want it to be installed. If EGL headers are at a non-standard location, also set

          make -j8 && make install

Connecting to Paraview Server

  1. SSH into the server with port forwarding: ssh -L 11111:localhost:11111 user@server.

  2. unset DISPLAY in case you are using -X or -Y with SSH.

  3. Start Paraview server: /install/prefix/bin/pvserver. Use mpirun if you want rendering with MPI. If something went wrong, try adding --disable-xdisplay-test.

  4. On the client side, launch Paraview 5.4.1 (must be the same version as the server side) and connect to localhost:11111.

  5. Go to About Paraview --> Connection Information for details about the OpenGL renderer.

Note: There are multiple ways to connect to a Paraview server. For more details see https://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Connecting_Through_a_Firewall

MachineShop/UserNotes (last edited 2018-11-05 23:20:44 by AndreasKloeckner)