1 - Acccess SCOREC computer files from Windows

  1. Press Win + R to open the Run dialog box.
  2. Type \\samba.scorec.rpi.edu in the Open field and click OK or press Enter.
  3. When prompted, enter your RCS ID and password.
  4. You will see a list of folders. Open the folder with your RCS ID.

You can now access your files on the SCOREC machines. You will also be able to use the SCOREC printers with this. Visit this SCOREC wiki page for more information.

2 - Connect to Aperture

  1. Add the following lines to the config file in the .ssh directory in your home directory:
Host aperture01
  HostName jumpgate.scorec.rpi.edu
  User your_username
  ProxyJump jumpgate
  LocalForward 5906 aperture01.scorec.rpi.edu:3389

replace your_username with your RCS ID.

  1. Open a terminal window on your computer. On Windows, you can use the Git Bash terminal that comes with Git for Windows. On Mac, you can use the Terminal application. On Linux, you can use the terminal application that comes with your distribution.

  2. Type the following command in the terminal window:

ssh aperture01
  1. When prompted, enter your RCS ID password. Or you can set up ssh on lab computers for passwordless login to the Lab computers.

  2. Search for Remote Desktop Connection in the start menu and open it.

  3. In the Remote Desktop Connection window, type localhost:5906 in the Computer field and click Connect.

  4. When prompted, enter your RCS ID password. Or you can set up ssh on lab computers for passwordless login to the Lab computers.

  5. You will be connected to the Aperture computer. You can now use the computer as if you are sitting in front of it.

3 - Convert Gmsh and other meshes to Omega_h OSH format

Common types of mesh files can be converted to Omega_h’s OSH format using the omega_h utility programs. Find more details about the utility programs in the Omega_h documentation. The following examples show how to convert Gmsh to OSH format.

Convert Gmsh to OSH format

  1. Find the utility programs in the SCOREC machines. You can find them in the following directories:
    • /lore/hasanm4/Omega_H/bin/ (if it is not available, you can contact us or build it from the source code)
  2. Add the directory to your PATH environment variable. For example, if you are using bash, you can execute the following command:
    export PATH=/lore/hasanm4/Omega_H/bin/:$PATH
    
  3. Add the directory to your LD_LIBRARY_PATH environment variable using the following command:
    export LD_LIBRARY_PATH=/lore/hasanm4/Omega_H/lib64/:$LD_LIBRARY_PATH
    
  4. Gmsh is also needed to convert the mesh to Omega_h format. Get the Gmsh executable using the following command:
    export PATH=/lore/hasanm4/Gmsh/bin/:$PATH
    export LD_LIBRARY_PATH=/lore/hasanm4/Gmsh/lib64/:$LD_LIBRARY_PATH
    
  5. Now the environment should be ready for the conversion. If you have .geo mesh script file, you can convert it to .msh file using the following command:
    gmsh -3 -format msh2 -order 1 -o mesh.msh mesh.geo
    
    (it must be of order 1 and here mesh format 2 is shown since it was used for with MFEM and MFEM only supports mesh format 2) (consult the Gmsh documentation for more details about the command line options)

Important notes: Omega_h supports both 2D and 3D meshes with triangles and tetrahedra. It does not support quadrilaterals, prisms, and hexahedra. (omega_h can only accept linear simplices and hypercubes from Gmsh) Make sure that the mesh is composed of linear triangles and tetrahedra. Gmsh documentation has more details about the element types.

  1. Now the mesh is ready to be converted to OSH format. Use the following command to convert the mesh to OSH format:
    gmsh2osh mesh.msh mesh.osh
    

4 - Create a config file for ssh to connect to the Lab computers easily

  1. Create or open a file in the .ssh directory in your home directory. For example, you can create a file named config in the .ssh directory.

  2. Add the following lines to the file:

Host jumpgate
  HostName jumpgate.scorec.rpi.edu
  User your_username

Host monopoly
  HostName monopoly
  User your_username
  ProxyJump jumpgate

Host aperture01
  HostName jumpgate.scorec.rpi.edu
  User your_username
  ProxyJump jumpgate
  LocalForward 5906 aperture01.scorec.rpi.edu:3389

replace your_username with your RCS ID or SCOREC username.

  1. Save the file.

  2. Now, you can connect to the Lab computers using the following commands:

ssh monopoly

5 - Find the NVIDIA GPU architecture

  1. Go the the terminal and type nvidia-smi
  2. The output will look like this:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.xx.xx    Driver Version: 515.xx.07    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro P1000        Off  | 00000000:01:00.0  On |                  N/A |
| 34%   41C    P8    N/A /  N/A |    299MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
  1. From the output, you can see that the GPU is Quadro P1000. Now, go to the NVIDIA website and find the GPU Compute Capability. In this case, the compute capability is 6.1.

  2. Each major version of Compute Capability has a corresponding architecture. This table gives the mapping between the Compute Capability and the architecture:

Compute CapabilityArchitecture
5.xMaxwell
6.xPascal
7.xVolta
7.5Turing
8.xAmpere
8.9Ada
9.xHopper
10.xBalackwell

Since NVIDIA changes the link to the GPU architecture documentation, it’s difficult to provide a direct link where you can find the above information. However, look here for more information:

Compute Capabilities

CUDA Wikipedia

  1. Therefore, for this GPU, the architecture is Pascal and the CUDA capability is 6.1. And for pcms, you will write PASCAL61.

6 - Manage your space on SCOREC machines

5 GB of space is given for each user in the home directory and 500 GB is given in the /lore/your-username directory. Both the home and lore directories are shared across all SCOREC machines. The home directory is backed up regularly, but the lore directory is not. So, it is recommended to use the lore directory for large files (e.g. installations) and the home directory for small files (e.g. source files you are working on).

Quick tip for using VSCode on SCOREC machines remotely

VSCode creates a .vscode-server directory in your home directory when you connect to a remote machine for the first time. This directory can grow to a large size (e.g. 1 GB) if you use a lot of extensions. So, it is recommended to change the settings before the first remote connection using vscode as follows: (in the json file that opens when you click on the gear icon on the bottom left corner of VSCode)

"remote.SSH.serverInstallPath": {
"machine_name1": "/lore/your-username/your-preferred-directory",
"machine_name2": "/lore/your-username/another-or-same-preferred-directory"
}

replace machine_name1 and machine_name2 with the name of the machine you are using (e.g. romulus). This will create the .vscode-server directory in the specified location instead of your home directory.

You can also do the same thing on settings UI by searching for remote.SSH.serverInstallPath and changing the value for each machine.

Change Chrome data directory to lore

If you are using Google Chrome on SCOREC machines, you can change the cache directory to lore to save space in your home directory. To do this, run the following command in the terminal:

mkdir /lore/your-username/path/to/cache/directory

change the path to the directory you want to use for cache. Then, run the following command: You have to be connected with X11 forwarding to run this command or directly run it on the machine.

google-chrome-stable --user-data-dir=/lore/your-username/path/to/cache/directory

This will save about half a GB of space in your home directory.

7 - Set up SSH on lab computers for passwordless login to the Lab computers

  1. Open a terminal window on your computer. On Windows, you can use the Git Bash terminal that comes with Git for Windows. On Mac, you can use the Terminal application. On Linux, you can use the terminal application that comes with your distribution.

  2. Type the following command in the terminal window:

ssh-keygen -t rsa
  1. When prompted, enter a filename and location in which to save the key pair. For example, you can enter ~/.ssh/id_rsa to save the key pair in the .ssh directory in your home directory. You can also enter a passphrase to protect the private key. If you enter a passphrase, you will be prompted to enter it each time you use the key pair to log in to a remote computer.

  2. After the key pair is generated, type the following command to copy the public key to the remote computer:

ssh-copy-id username@jumpgate.scorec.rpi.edu

replace username with your RCS ID.

  1. For windows, ssh-copy-id is not available. You can manually copy the public key to the remote computer.

    1. Open the public key file (e.g., ~/.ssh/id_rsa.pub) in a text editor.
    2. Copy the contents of the file to the clipboard.
    3. Log in to the remote computer with ssh remote_name.
    4. Open the ~/.ssh/authorized_keys file in a text editor. And paste the contents of the clipboard to the end of the file. Save the file.
  2. When prompted, enter the password for the remote computer. The public key will be copied to the remote computer and installed in the ~/.ssh/authorized_keys file. You can now log in to the remote computer without entering a password.

Note: If it asks for a password even after following the above steps, it might be due to the permissions on the .ssh directory or the authorized_keys file. Make sure the permissions are set correctly as follows:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

this problem is relatively rare though.

Another common problem is the key is not added to the ssh agent or the agent is not running. The follwing steps can be followed to add the key to the agent and start the agent (for windows you need to use elevated powershell, i.e. run as administrator.):

# By default the ssh-agent service is disabled. Configure it to start automatically.
# Make sure you're running as an Administrator.
Get-Service ssh-agent | Set-Service -StartupType Automatic

# Start the service
Start-Service ssh-agent

# This should return a status of Running
Get-Service ssh-agent

# Now load your key files into ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

On Linux you can use the following commands to start the agent and add the key:

# start the agent
eval `ssh-agent -s`

# add the key
ssh-add ~/.ssh/id_rsa

The first command can also be added to the .bashrc file so that the agent is started automatically when you open a terminal.