View on GitHub

Graphitti

A project to facilitate construction of high-performance neural simulations

Student Quickstart

Prerequisites:

Use Husky OnNet to connect to the server “UW Campus Network Traffic Only.”

Other external guides for remote VS Code development:

Connecting VS Code to UW Server

  1. Install the Remote Development extension pack either from the web or through the VS Code extensions marketplace. This is a pack of three related extensions.

    If you run into problems, see https://code.visualstudio.com/docs/remote/troubleshooting. In particular, you may need to set "remote.SSH.useLocalServer": false in VSC’s settings.json file if you run into connection problems.

  2. Click the Remote Explorer icon on the left sidebar. Add new in remote explorer: raiju.uwb.edu or otachi.uwb.edu (or both).

  3. It will ask if you want to update your config file. Go to the config file and add a line with User and your uw net id to the file. The config file should now look like this:

     Host raiju.uwb.edu
       HostName raiju.uwb.edu
       User myuwnetidhere
    

    At this point you should be connected to Husky OnNet.

    See Windows Troubleshooting if you have trouble connecting here.

  4. Your configured SSH target(s) should be listed on the Remote Explorer icon. Right click a target and connect to host.

Setting up Graphitti

  1. In your NETID folder, clone the Graphitti repository:

     $ git clone https://github.com/UWB-Biocomputing/Graphitti
    
  2. Click Open folder and click Graphitti. You should now have the directory on VS Code. To see what version you’re on, use:

     $ git status
    

    To run:

     $ cd build
    
     $ cmake .. 
    

    This will generate a makefile. Then type:

     $ make
    

    You can then run a selection of sample tests to ensure the simulator is able to run:

     $ ./tests
    

    If ` $ ./tests` fails, start with this command instead of the cmake command:

     $ cmake -D CMAKE_CXX_COMPILER=/opt/rh/devtoolset-8/root/usr/bin/g++ .
    
     $ make
    
     $ ./tests
    
     $ ./cgraphitti -c ../configfiles/test-small.xml
    
  3. To access the command line options of Graphitti, use the -help flag with its CPU or GPU executable. Here’s an example of how to run it:

     $ ./cgraphitti -help
    

The following options are available:

Using Visual Studio Code

  1. Install the C/C++ extension for IntelliSense and debugging. We recommend setting the IntelliSense Cache Size setting to 10 MB. The default size is 5120 MB, which can result in VSC consuming all of your allotted space on the CSS Linux Machines.

  2. Install the CMAKE Tools and CMAKE to access CMake-related functionality within Visual Studio Code.

  3. Install the Code Spell Checker to catch any unknowing spelling errors in the code or comments.

  4. Install the PlantUML to create, edit, and preview PlantUML diagrams directly within Visual Studio Code.

Building

VSC can be configured to compile from CMake so that you don’t have to type build and launch commands into the terminal every time you want to run.

Other Visual Studio Code Resources

Create an SSH key pair

To eliminate the need to type your password in to log in to the CSS Linux machines, consider using public/private key authentication.

Using Graphitti Servers

UW students can use the school’s research servers to run Graphitti. The raiju and otachi servers have computational NVIDIA GPUs optimized for floating point value computations. More info on the hardware can be found here. If the user preference is to run Graphitti locally, the CUDA libraries are not necessary; the CPU version of the simulator is user-friendly on local machines.

To access these machines:

  1. Contact Dr. Michael Stiber at stiber@uw.edu and express reason for gaining access to servers.

  2. Download Husky OnNet: https://www.lib.washington.edu/help/connect/husky-onnet

  3. Login with UW NetID

  4. Connect through command line SSH or use Visual Studio Code.

Windows Troubleshooting

If you have trouble connecting to the server through VS Code, your ssh exe file might not be properly fetched from VS Code. If you have trouble with this step, refer to these links:

You can download the files here: https://github.com/PowerShell/Win32-OpenSSH/releases

Put it under C:\Windows\System32\OpenSSH