CSCI 551 - Home Lab Setup
ECC-Linux and CSCI Cluster Access
Alternative to ECC Systems for Multi-Core
Threading and Vector Instructions
MATLAB and other Tools to Check your Math
Sam Siewert 1
ECC-Linux: Using MobaXterm from Windows
Download MobaXterm for Windows - https://mobaxterm.mobatek.net/download.html
• Best option for Windows host (compared to MS Powershell)
• Use VS-code, geany, vim, vi, etc. on R-Pi for graphical development tools
• Make sure you enabled SSH
• Note your IP address with “ifconfig –a” and set up MobaXterm SSH session
Download Cyberduck for Mac or Windows - https://cyberduck.io/download/
Advantages of MobaXterm
• Simple X-windows display
on your host
• Lower overhead than VNC
• Easy to use
Not available for Macintosh Host
Alternatives to MobaXterm
• Putty – simple download for
Windows or Mac
• VNC – full desktop display
from R-Pi
• Must enable VNC on R-Pi
for VNC
• Cyberduck, etc.
Sam Siewert 2
MATLAB from CSU Portal
https://www.mathworks.com/academia/tah-
portal/california-state-university-chico-31511335.html
Sam Siewert 3
Install MATLAB to Check you Math (Windows)
MATLAB Treats everything like a Vector or Matrix
Interpreted Programming Language – for Math and Vector/Matrix,
Linear Algebra, Simulation, etc.
Now available at CSU if you are interested – CSU Page, Quick Start
MATLAB
Toolboxes
“ver” to list
Computer Vision
GPU Coder
Image Processing
Parallel Computing
DSP System
Statistics and Machine
Learning
…
Symbolic Math
Help Center
https://www.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html
Sam Siewert 4
RT Embedded Linux – Raspberry Pi 4 (3b+ or Better)
70% of work on R-Pi possible Cost for home lab - $80 total
– Final project on R-Pi https://www.adafruit.com/product/3775
– R-Pi can be clustered but ECC-
Linux cluster or CSCI clusters
recommend instead! https://www.ideasonboard.org/uvc/
Raspberry Pi 3b+ Meets Course Requirements for Shared Memory
Multi-core, Vector instructions
• Does not support Intel PS XE, MPI or OpenMP
• Can use for final project and all POSIX threading
assignments
• Use ECC for MPI and OpenMP exercises
Recommend Canakit or similar with all components needed - $80
• Micro SD card, heat sinks, case, power cord with switch
• NOOB image on SD card – just enable wireless or wired
• Turn-key start-up
Quick start with Raspbian install (sufficient for course)
Simple UVC compatible USB-2 web camera (machine vision)
Set up with Keyboard, HDMI monitor and mouse one time!
Use with SSH Terminal like MobaXterm or Putty on home router
Alternatively access with VNC (higher overhead)
All POSIX thread starter code tested on R-Pi 3b+ and 4
https://www.canakit.com/raspberry-pi-4-starter-kit.html
https://www.canakit.com/raspberry-pi-3-model-b-plus-starter-kit.html
Home Lab – Physical Set-up
R-Pi 4 1. Wall socket 100-240 VAC for AC/DC adapter, 5V, 2.5 amp out
2. Cat-6 Ethernet cable to home router (wired configuration)
recommended 3. Wireless home router (wireless use)
(Specs) 4. Terminal for bring-up only - USB keyboard and mouse, HDMI monitor
3b+ Bottlenecks Internet
Much improved • SD card (Nand flash)
• USB-2 Camera I/O
over R-Pi 3b+ • Ethernet (< 1 Gbps)
• Memory (1 GB)
HDMI
4 Improvements
3b+ will work, • 2, 4, 8GB RAM
but about the •
•
1.5 GHz Quad core
Gigabit Ethernet
same cost • 2 USB-3, 2 USB-2
Well-resourced
• CPU cores
Use for • Linux SMP OS
• NEON instructions
Pthreads and
Project! Keyboard, Mouse
Sam Siewert 6
Install Raspbian with NOOB SD card …
1. Connect to HDMI Monitor and USB Keyboard and Mouse and complete install …
2. Login as “pi”, default password is “raspberry”
3. Change it!
4. Go to “Pi icon” and “Preferences”
5. Under Raspberry Pi Configuration
Enable:
SSH (required for
MobaXterm or Putty)
VNC (if desired)
Configure any other
Localization your
might want
Keep physical monitor
+ keyboard + mouse
OR use VNC if you
need a desktop
Sam Siewert 7
VNC Access to R-Pi from Win 10
Download and install VNC client for Win 10 or Mac
https://www.realvnc.com/en/connect/download/viewer/windows/
Numerous options exist, so choose best for your Host
VNC is simple and nice, but consumes resources and bandwidth for full desktop
Ask for help with access
VNC only for R-Pi
MobaXterm for ECC or R-Pi
Sam Siewert 8
R-Pi 4 and Jetson Clusters
Alternatives to ECC for Distributed
Memory Cluster Scaling and GP-GPU
Parallel Processing
Sam Siewert
9
R-Pi Distributed Memory Cluster
Basic Cluster with 4 R-Pi 4’s up to 8 – Cluster @Home
– 16 cores up to 32 cores – stack groups of 8 for more scaling!
– Interconnected with Gigabit Ethernet switch
– Use Open Source MPI or Intel OpenHPC with OpenAPI software
– Requires basic kit for heat sinks and cooling – Cloudlet, Pico Cluster
– Magpi article on building – Tested all CSCI 551 MPI code!
Minimum config
of 4 R-Pi 4’s
Build and scale
from there
Load open
source OpenMPI
Sam Siewert 10
NVIDIA Jetson Nano (2g)
Low-cost GP-GPU platform with 4 ARM CPU cores and 128
co-processors
– Useful to learn CUDA, OpenCV, and Machine Learning
– May be useful for OpenCL (if NVIDIA supports), OpenMP, Pthreads
– Can explore hybrid shared memory multi-core + co-processing
– Low-cost ($69) + SD card to get going
NVIDIA Jetson Nano - High End ARM Linux
System with 100’s of Co-Processors shown - Similar home setup to R-Pi (SSH, VNC, or monitor)
a low-cost desktop option
Use SSH as primary method to connect
Initially set up with HDMI monitor, keyboard, mouse
Install Jetpack – Archive, Current Version
Comes with CUDA, OpenCV, and Machine
Learning tools pre-installed
Sam Siewert 11
NSF ACCESS for Parallel Systems
https://access-ci.org/ - Parallel Clusters and GP-GPU
– Register to get an account
– Pick a donated service (e.g., ACCESS CI (XSEDE))
– Start a project!
Sam Siewert 12
Create a Profile – Get Help, Contribute
Sam Siewert 13